From 870dfdba90fc4062b66de669ad9ff3f4707bf496 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 09 六月 2025 10:32:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1

---
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java |   68 ++++++++++++++++++---------------
 1 files changed, 37 insertions(+), 31 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
index c29e035..1dd9e0a 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -2,8 +2,10 @@
 
 import cn.hutool.core.util.IdcardUtil;
 import com.alibaba.fastjson.JSONObject;
-
-import com.baomidou.mybatisplus.extension.api.R;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.annotation.excel.ExcelExporter;
 import com.doumee.core.constants.ResponseStatus;
@@ -15,37 +17,31 @@
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.*;
-import com.doumee.dao.business.dto.*;
+import com.doumee.dao.business.dto.ApplyChangeCyclePriceDTO;
+import com.doumee.dao.business.dto.ApplyChangeOptDTO;
+import com.doumee.dao.business.dto.SaveUnionChangeDTO;
+import com.doumee.dao.business.dto.SmsCheckDTO;
 import com.doumee.dao.business.join.*;
 import com.doumee.dao.business.model.*;
-import com.doumee.dao.business.vo.ChangeDealTypeVO;
 import com.doumee.dao.business.vo.CountCyclePriceVO;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.ApplyChangeService;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.doumee.service.business.InsuranceApplyService;
 import com.doumee.service.business.SmsEmailService;
 import com.doumee.service.business.third.SignService;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
-import org.checkerframework.checker.units.qual.A;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.util.*;
 import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -264,7 +260,7 @@
             pidanFile.setObjType(Constants.MultiFile.CA_PD_PDF.getKey());
             pidanFile.setType(Constants.TWO);
         }
-        multifileMapper.insertBatchSomeColumn(pidanFileList);
+        multifileMapper.insert(pidanFileList);
         update.setApplyId(model.getApplyId());
 
 
@@ -364,7 +360,7 @@
             pidanFile.setObjType(Constants.MultiFile.CA_PD_PDF.getKey());
             pidanFile.setType(Constants.TWO);
         }
-        multifileMapper.insertBatchSomeColumn(param.getPidanFileList());
+        multifileMapper.insert(param.getPidanFileList());
 
 //        param.getPidanFile().setIsdeleted(Constants.ZERO);
 //        param.getPidanFile().setObjId(update.getId());
@@ -734,7 +730,7 @@
             }
             //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁
             InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
-                    member.getIdcardNo(),member.getName(),detail.getStartTime(),detail.getEndTime(),
+                    member.getId(),member.getIdcardNo(),member.getName(),detail.getStartTime(),detail.getEndTime(),
                     applyDetailJoinMapper);
 
             //鏌ヨ鍔犱繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
@@ -809,7 +805,7 @@
         }
 
         if (memberInsuranceList != null && memberInsuranceList.size() > 0) {
-            memberInsuranceJoinMapper.insertBatchSomeColumn(memberInsuranceList);
+            memberInsuranceJoinMapper.insert(memberInsuranceList);
         }
 
         if (totalFee.compareTo(new BigDecimal(0)) != 0) {
@@ -1140,9 +1136,12 @@
         }
     }
 
+    private static Logger logger = LoggerFactory.getLogger(ApplyChangeServiceImpl.class);
 
     public BigDecimal dealApplyChangeData(ApplyChange applyChange,InsuranceApply insuranceApply
             ,CompanySolution companySolution,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal fee){
+        Long start = System.currentTimeMillis();
+        logger.error("澶勭悊鍔犲噺淇濅繚鍗曟暟鎹紑濮嬫椂闂�:=========================>"+start);
         if(Constants.equalsInteger(applyChange.getType(),Constants.ZERO)){
             if(Objects.nonNull(solutions.getDelOnlyReplace())&& solutions.getDelOnlyReplace().equals(Constants.ONE)){
                 if(applyChange.getDelDetailList().size() > applyChange.getAddDetailList().size()){
@@ -1194,6 +1193,14 @@
         List<ApplyChagneDetail> delDetailList = applyChange.getDelDetailList();
         //鍔犱繚鏁版嵁
         List<ApplyChagneDetail> addDetailList = applyChange.getAddDetailList();
+        //鎹㈠巶涓氬姟
+        List<ApplyChagneDetail> changeDetailList = applyChange.getChangeDetailList();
+        
+        if(CollectionUtils.isEmpty(delDetailList)
+        && CollectionUtils.isEmpty(addDetailList)
+                && CollectionUtils.isEmpty(changeDetailList)){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鏈坊鍔犱汉鍛樻暟鎹棤娉曡繘琛屾彁浜�");
+        }
 
         if (CollectionUtils.isNotEmpty(addDetailList)) {
             if(Objects.isNull(solutions.getCanAdd()) || solutions.getCanAdd().equals(Constants.ZERO)){
@@ -1231,10 +1238,7 @@
             fee = fee.add(delDetailList.stream().map(ApplyChagneDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add));
         }
 
-       
-
         //鎹㈠巶涓氬姟
-        List<ApplyChagneDetail> changeDetailList = applyChange.getChangeDetailList();
         if (CollectionUtils.isNotEmpty(changeDetailList)) {
             if(Objects.isNull(solutions.getCanChangeUnit()) || solutions.getCanChangeUnit().equals(Constants.ZERO)){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "璇ヤ繚闄╂柟妗堟棤娉曡繘琛屾崲鍘傛搷浣�");
@@ -1248,6 +1252,8 @@
 
             this.changeDetail(applyChange,changeDetailList,duSolutionList,loginUserInfo,solutions,worktypeIdList);
         }
+        Long end = System.currentTimeMillis();
+        logger.error("澶勭悊鍔犲噺淇濅繚鍗曟暟鎹粨鏉熸椂闂�:=========================>"+end +";鍗曟潯鑰楁椂锛�====銆�"+(end-start));
         return fee;
     }
 
@@ -1352,6 +1358,7 @@
             }
             //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
             List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda()
+                            .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
                     .eq(ApplyDetail::getApplyId, applyChange.getApplyId())
                     .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId())
 //                    .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getDelValidTime(),1))
@@ -1434,10 +1441,6 @@
             ) {
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝繀濉」缂哄け");
             }
-            //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁
-            InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
-                    applyChagneDetail.getIdcardNo(),applyChagneDetail.getMemberName(),applyChange.getApplyStartTime(),insuranceApply.getEndTime(),
-                    applyDetailJoinMapper);
 
             //鏌ヨ鍔犱繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
             if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
@@ -1445,7 +1448,7 @@
                     .eq(ApplyDetail::getApplyId,applyChange.getApplyId())
                     .eq(ApplyDetail::getIdcardNo,applyChagneDetail.getIdcardNo())
                     .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),1))
-                            .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(insuranceApply.getEndTime(),2))
+                    .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(insuranceApply.getEndTime(),2))
             )>Constants.ZERO){
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁");
             }
@@ -1488,17 +1491,14 @@
                     member.setApplyId(insuranceApply.getId());
                     member.setDuId(applyChagneDetail.getDuId());
                     member.setWorktypeId(applyChagneDetail.getWorktypeId());
-//                    member.setStartTime(applyChagneDetail.getStartTime());
-//                    member.setEndTime(applyChagneDetail.getEndTime());
                     memberMapper.insert(member);
                 }else{
                     member.setApplyId(insuranceApply.getId());
                     member.setDuId(applyChagneDetail.getDuId());
                     member.setWorktypeId(applyChagneDetail.getWorktypeId());
-//                    member.setStartTime(applyChagneDetail.getStartTime());
-//                    member.setEndTime(applyChagneDetail.getEndTime());
                     memberMapper.updateById(member);
                 }
+                applyChagneDetail.setMemberId(member.getId());
             }else{
                 member = memberMapper.selectById(applyChagneDetail.getMemberId());
                 if(Objects.isNull(member)){
@@ -1511,6 +1511,11 @@
                 member.setEndTime(applyChagneDetail.getEndTime());
                 memberMapper.updateById(member);
             }
+
+            //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁
+            InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
+                    applyChagneDetail.getMemberId(),applyChagneDetail.getIdcardNo(),applyChagneDetail.getMemberName(),applyChange.getApplyStartTime(),insuranceApply.getEndTime(),
+                    applyDetailJoinMapper);
 
             //鏍规嵁鍛樺伐韬唤璇佽繘琛屽垽鏂勾榫�
             long age = Constants.getAgeByIdCard(member.getIdcardNo());
@@ -1612,6 +1617,7 @@
             }
             //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
             List<ApplyDetail>  applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda()
+                    .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
                     .eq(ApplyDetail::getApplyId, applyChange.getApplyId())
                     .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId())
                     .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),1))

--
Gitblit v1.9.3