From 142df5ee1c533f4b068e37b6ba524297a8f8617f Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期二, 09 四月 2024 14:04:16 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java | 67 ++++++++++++++++++--------------- 1 files changed, 36 insertions(+), 31 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java index 1d2852d..3cc038d 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java @@ -18,6 +18,7 @@ import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.CountCyclePriceVO; import com.doumee.dao.system.model.SystemUser; +import com.doumee.dao.system.vo.BigDecimalVO; import com.doumee.service.business.SmsEmailService; import com.doumee.service.business.UnionChangeService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -57,6 +58,9 @@ @Autowired private ApplyChangeJoinMapper applyChangeJoinMapper; + + @Autowired + private UnionApplyMapper unionApplyMapper; @Autowired private ApplyChagneDetailJoinMapper applyChagneDetailJoinMapper; @@ -350,6 +354,13 @@ ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } + +// UnionApply unionApply = unionApplyMapper.selectById(saveUnionChangeDTO.getUnionApplyId()); +// if(Objects.isNull(unionApply)){ +// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鍚堝苟淇濆崟鏁版嵁"); +// } + + List<ApplyChange> applyChangeList = applyChangeJoinMapper.selectJoinList(ApplyChange.class, new MPJLambdaWrapper<ApplyChange>() .selectAll(ApplyChange.class) @@ -703,9 +714,6 @@ ,unionChange.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(unionChange)); applyLogMapper.insert(log); - if(true){ - throw new BusinessException(ResponseStatus.BAD_REQUEST); - } } @@ -713,37 +721,39 @@ public void dealApplyChangeDetail(ApplyChange applyChange,List<ApplyChagneDetail> applyChagneDetailList){ - BigDecimal totalFee = BigDecimal.ZERO; - BigDecimal currentFee = BigDecimal.ZERO; + BigDecimalVO bigDecimalVO = new BigDecimalVO(); + bigDecimalVO.setTotalFee(BigDecimal.ZERO); + bigDecimalVO.setCurrentFee(BigDecimal.ZERO); for (ApplyChagneDetail detail:applyChagneDetailList) { Member member = memberMapper.selectById(detail.getMemberId()); if(Objects.isNull(member)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍛樺伐鏁版嵁"); } if (Constants.equalsInteger(detail.getType(), Constants.ZERO)) { - this.addChangeDetailData(applyChange,detail,detail.getPrice(),currentFee,totalFee); + this.addChangeDetailData(applyChange,detail,bigDecimalVO); }else if(Constants.equalsInteger(detail.getType(),Constants.ONE)){ - this.reduceChangeDetailData(applyChange,detail,currentFee,totalFee); + this.reduceChangeDetailData(applyChange,detail,bigDecimalVO); }else{ this.otherChangeDetailData(applyChange,detail); } } - if (totalFee.compareTo(new BigDecimal(0)) != 0) { + if (bigDecimalVO.getTotalFee().compareTo(new BigDecimal(0)) != 0) { //濡傛灉淇濆崟閲戦鍙戠敓缂栫爜锛屾洿鏂版�讳繚鍗曢噾棰� insuranceApplyMapper.update(null, new UpdateWrapper<InsuranceApply>().lambda() - .setSql(" fee = ifnull(fee,0)+" + totalFee) - .setSql(" current_fee = ifnull(current_fee,0)+" + currentFee) + .setSql(" fee = ifnull(fee,0)+" + bigDecimalVO.getTotalFee()) + .setSql(" current_fee = ifnull(current_fee,0)+" + bigDecimalVO.getCurrentFee()) .set(InsuranceApply::getEditor, applyChange.getEditor()) .set(InsuranceApply::getEditDate, applyChange.getEditDate()) .eq(InsuranceApply::getId, applyChange.getApplyId()) ); - applyChangeJoinMapper.update(null, new UpdateWrapper<ApplyChange>().lambda() - .set(ApplyChange::getFee,totalFee) - .set(ApplyChange::getEditor, applyChange.getEditor()) - .set(ApplyChange::getEditDate, applyChange.getEditDate()) - .eq(ApplyChange::getId, applyChange.getApplyId()) - ); +// applyChangeJoinMapper.update(null, new UpdateWrapper<ApplyChange>().lambda() +// .set(ApplyChange::getFee,bigDecimalVO.getTotalFee()) +// .set(ApplyChange::getEditor, applyChange.getEditor()) +// .set(ApplyChange::getEditDate, applyChange.getEditDate()) +// .eq(ApplyChange::getId, applyChange.getApplyId()) +// ); + applyChange.setFee(bigDecimalVO.getTotalFee()); } } @@ -753,12 +763,9 @@ * 鍔犱繚鏁版嵁澶勭悊 * @param applyChange * @param detail - * @param price - * @param currentFee - * @param totalFee */ - public void addChangeDetailData(ApplyChange applyChange,ApplyChagneDetail detail - ,BigDecimal price,BigDecimal currentFee,BigDecimal totalFee){ + public void addChangeDetailData(ApplyChange applyChange, ApplyChagneDetail detail + , BigDecimalVO bigDecimalVO){ //鏌ヨ鍔犱繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁 if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>() .lambda() @@ -777,7 +784,7 @@ if(new Date().compareTo(DateUtil.getMontageDate(applyChange.getApplyStartTime(), 2))>=0){ Integer days = DateUtil.calculateBetween(applyChange.getApplyStartTime(),DateUtil.getMontageDate(new Date(), 2),0); //濡傛灉宸插凡浜х敓璐圭敤锛岃绠楀凡宸蹭骇鐢熻垂鐢� - add.setCurrentFee(new BigDecimal(days).multiply(price)); + add.setCurrentFee(new BigDecimal(days).multiply(detail.getPrice())); }else{ add.setCurrentFee(BigDecimal.ZERO); } @@ -797,7 +804,7 @@ add.setDuId(detail.getDuId()); add.setStartTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(), 1)); add.setEndTime(DateUtil.getMontageDate(detail.getEndTime(), 2)); - add.setFee(new BigDecimal(countDays).multiply(price)); + add.setFee(new BigDecimal(countDays).multiply(detail.getPrice())); applyDetailJoinMapper.insert(add); detail.setFee(add.getFee()); @@ -806,9 +813,8 @@ .set(ApplyChagneDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(), 1)) .eq(ApplyChagneDetail::getId,detail.getId()) ); - - totalFee = totalFee.add(add.getFee()); - currentFee = currentFee.add(add.getCurrentFee()); + bigDecimalVO.setTotalFee(bigDecimalVO.getTotalFee().add(add.getFee())); + bigDecimalVO.setCurrentFee(bigDecimalVO.getCurrentFee().add(add.getCurrentFee())); MemberInsurance memberInsurance = new MemberInsurance(detail, applyChange, applyChange.getEditor(), add.getId(),applyChange.getSolutionsId()); memberInsurance.setStartTime(add.getStartTime()); @@ -821,10 +827,8 @@ * 鍑忎繚鏁版嵁澶勭悊 * @param applyChange * @param detail - * @param currentFee - * @param totalFee */ - public void reduceChangeDetailData(ApplyChange applyChange,ApplyChagneDetail detail,BigDecimal currentFee,BigDecimal totalFee){ + public void reduceChangeDetailData(ApplyChange applyChange,ApplyChagneDetail detail,BigDecimalVO bigDecimalVO){ //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁 ApplyDetail oldModel = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda() .eq(ApplyDetail::getApplyId, applyChange.getApplyId()) @@ -859,8 +863,9 @@ .set(ApplyDetail::getEditDate, applyChange.getEditDate()) .eq(ApplyDetail::getId, oldModel.getId()) ); - totalFee = totalFee.add(reduceFee); - currentFee = currentFee.add(pullFee); + + bigDecimalVO.setTotalFee(bigDecimalVO.getTotalFee().add(reduceFee)); + bigDecimalVO.setCurrentFee(bigDecimalVO.getCurrentFee().add(pullFee)); //淇敼 鍛樺伐鎶曚繚鏄庣粏璁板綍 鍘嗗彶鏁版嵁 memberInsuranceJoinMapper.update(null, new UpdateWrapper<MemberInsurance>().lambda() -- Gitblit v1.9.3