'1'
935090232@qq.com
2021-07-15 7e347d6dd75bfed6e3b89b80045115b042a7943a
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
@@ -200,8 +200,11 @@
                    taocan.setIsOver(Dictionary.FLAG_YES_Y);
                    taocan.setSurplusCount(0);
                    taocan.setStatus(Dictionary.TAOCAN_STATUS_WX);
                } else if (Dictionary.FLAG_YES_Y.equals(taocan.getIsCourse())) {
                    if (StringUtils.isBlank(taocan.getIsInfinite()) || Dictionary.FLAG_NO_N.equals(taocan.getIsInfinite())) {
                } else if (
                        Dictionary.FLAG_NO_N.equals(taocan.getIsCourse())
                                || (Dictionary.FLAG_YES_Y.equals(taocan.getIsCourse())
                                && (StringUtils.isBlank(taocan.getIsInfinite()) || Dictionary.FLAG_NO_N.equals(taocan.getIsInfinite())))) {
                        //任选套餐检查套餐整体剩余次数
                        int tcSurplusCount = taocan.getSurplusCount() - sysBeauticianState.getCount();
                        if (tcSurplusCount < 0) {
@@ -215,7 +218,6 @@
                            taocan.setStatus(Dictionary.TAOCAN_STATUS_WX);
                        }
                    }
                }
                // 根据套餐内所有项目查询该套餐是否第一次使用,若第一次使用则更新该套餐有效期
                List<SysBeauticianState> taocanHas = beauticianStateDao.selectByProjUse(taocanProjUses, Dictionary.SERVICE_STATU_YYQX);
@@ -224,6 +226,7 @@
                    Date useInvalidTime = shoppingGoodsService.calInvalidTime(taocanInfo, 2, sysProjUse.getFailTime());
                    taocan.setFailTime(useInvalidTime);
                }
                taocan.setBalance(MoneyUtil.sub(taocan.getBalance(), bcxfje));
                sysProjUseDao.updateSurplusCount(taocan);
            }
@@ -544,12 +547,20 @@
                if (sysProjUse.getSurplusCount() == 0) {
                    upProjUse.setIsOver(Dictionary.DELETED_N);
                    upProjUse.setStatus(Dictionary.MONEYCARD_STATUS_YX);
                }
                int surplus = sysProjUse.getSurplusCount() + beauticianState.getCount();
                upProjUse.setSurplusCount(surplus);
                BigDecimal backBlance = new BigDecimal(sysProjUse.getPrice() * beauticianState.getCount());
                upProjUse.setBalance(MoneyUtil.add(sysProjUse.getBalance(), backBlance.doubleValue()));
                    if (sysProjUse.getTaocanId() != null) {
                        //TODO 更新套餐状态为有效
                        SysProjUse taocanProjUse = sysProjUseDao.selectById(sysProjUse.getTaocanId());
                        taocanProjUse.setIsOver(Dictionary.DELETED_N);
                        taocanProjUse.setStatus(Dictionary.MONEYCARD_STATUS_YX);
                    taocanProjUse.setBalance(MoneyUtil.add(taocanProjUse.getBalance(), backBlance.doubleValue()));
                        if (Dictionary.FLAG_YES_Y.equals(taocanProjUse.getIsCourse())) {
                            if (StringUtils.isBlank(taocanProjUse.getIsInfinite()) || Dictionary.FLAG_NO_N.equals(taocanProjUse.getIsInfinite())) {
                                taocanProjUse.setSurplusCount(taocanProjUse.getSurplusCount() + beauticianState.getCount());
@@ -557,10 +568,7 @@
                        }
                        sysProjUseDao.update(taocanProjUse);
                    }
                }
                int surplus = sysProjUse.getSurplusCount() + beauticianState.getCount();
                upProjUse.setSurplusCount(surplus);
                upProjUse.setBalance(MoneyUtil.add(sysProjUse.getBalance(), sysProjUse.getPrice()));
                // 取消时,判断该项目之前是否有使用过,若使用过则非第一次使用,则不更新有效日期,若未使用表明此次为第一次使用,则更新有效日期为购买日期或统一失效日期
                List<SysBeauticianState> hasBeautician = beauticianStateDao.selectBeauticianStateByPuseIdAndNoStatus(beauticianState.getPuseId(), Dictionary.BEATUI_STATE_YYQX);
@@ -652,8 +660,6 @@
            UniformMsgParam uniformMsgParam = new UniformMsgParam(projServices.getCompanyId(), UniformMsgParam.GZH_FWWC);
            uniformMsgParam.put("serviceId", projServices.getId());
            rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG + evn, uniformMsgParam.toJSONString());
            return result;