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