From cdd6551b190b981b807a3b95e9635c559ccc769d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 19 五月 2025 09:45:07 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java |  366 ++++++++++++++++++++++++----------------------------
 1 files changed, 170 insertions(+), 196 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 b57877d..9dec078 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
@@ -32,12 +32,14 @@
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
@@ -694,215 +696,187 @@
     }
 
 
+    @Autowired
+    private RedisTemplate redisTemplate;// Redis鎿嶄綔绫伙紝瀵硅繖涓娇鐢ㄤ笉鐔熸倝鐨勶紝鍙互鍙傝�冨墠闈㈢殑鍗氬
 
+    private static final String KEY_PREFIX = "unionchange:upload:";
+    
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public void uploadBXD(UnionChangeBXDDTO unionChangeBXDDTO){
-        if(Objects.isNull(unionChangeBXDDTO)
-            || Objects.isNull(unionChangeBXDDTO.getId())
-                || Objects.isNull(unionChangeBXDDTO.getApplyDate())
-//                || StringUtils.isBlank(unionChangeBXDDTO.getName())
-//                || StringUtils.isBlank(unionChangeBXDDTO.getFileurl())
-                || StringUtils.isBlank(unionChangeBXDDTO.getCode())
-                || CollectionUtils.isEmpty(unionChangeBXDDTO.getPidanFileList())
-        ){
-            throw new BusinessException(ResponseStatus.BAD_REQUEST);
-        }
-        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        UnionChange unionChange = unionChangeMapper.selectById(unionChangeBXDDTO.getId());
-        if(Objects.isNull(unionChange)||!Constants.equalsInteger(unionChange.getIsdeleted(),Constants.ZERO)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY);
-        }
-        if(!Constants.equalsInteger(unionChange.getType(),Constants.ONE)&&
-                unionChangeBXDDTO.getDelValidTime() == null ){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
-        }
-        unionChangeBXDDTO.setApplyId(unionChange.getUnionApplyId());
-        unionChange.setStatus(Constants.formatIntegerNum(unionChange.getStatus()));
-        unionChange.setShopId(Constants.formatIntegerNum(unionChange.getShopId()));
-        if(Constants.equalsInteger(user.getType(),Constants.TWO) && !unionChange.getShopId().equals(user.getCompanyId())){
-            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧烽潪鎮ㄧ殑鍚堝苟鍗曪紝鎮ㄦ棤娉曡繘琛屾搷浣滐紒");
-        }
-        if(unionChange.getStatus().equals(Constants.UnionChangeStatus.FINISH.getKey())){
-            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曚笟鍔″凡瀹岀粨锛屾偍鏃犳硶杩涜璇ユ搷浣滐紒");
-        }
-        if(unionChange.getStatus().equals(Constants.UnionChangeStatus.CLOSE.getKey())){
-            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曚笟鍔″凡鍏抽棴");
-        }
-        if(!unionChange.getStatus().equals(Constants.UnionChangeStatus.UPLOAD_INSURANCE_POLICY.getKey())){
-            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曠姸鎬佸凡娴佽浆");
-        }
-        UnionApply unionApply = unionApplyMapper.selectById(unionChange.getUnionApplyId());
-        if(Objects.isNull(unionApply)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍚堝苟淇濆崟淇℃伅");
-        }
-        Solutions solutions = solutionsMapper.selectById(unionApply.getSolutionId());
-        if(Objects.isNull(solutions)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌淇濋櫓鏂规");
-        }
-        if(unionChange.getType().equals(Constants.ZERO)){
-            //鍒ゆ柇鎵瑰崟鏃ユ湡 鍚堝苟鍗曠殑鎵瑰崟鐢熸晥鏈熷湪涓� 淇濆崟璧锋湡鐨勬鏃� 鍒颁繚鍗曟鏈�
-            //鑾峰彇寮�濮嬫棩鏈熸鏃�
-            if(unionChangeBXDDTO.getApplyDate().getTime()<unionApply.getStartTime().getTime()
-                    || unionChangeBXDDTO.getApplyDate().getTime()> unionApply.getEndTime().getTime()){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍚堝苟鍗曠殑鎵瑰崟鍔犱繚鐢熸晥鏈熼敊璇�");
+        try{
+            if(Objects.nonNull(redisTemplate.opsForValue().get(KEY_PREFIX+unionChangeBXDDTO.getId()))){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇峰嬁閲嶅鎻愪氦");
+            };
+            redisTemplate.opsForValue().set(KEY_PREFIX+unionChangeBXDDTO.getId(), unionChangeBXDDTO.getId(), 30000, TimeUnit.SECONDS);
+            if(Objects.isNull(unionChangeBXDDTO)
+                || Objects.isNull(unionChangeBXDDTO.getId())
+                    || Objects.isNull(unionChangeBXDDTO.getApplyDate())
+    //                || StringUtils.isBlank(unionChangeBXDDTO.getName())
+    //                || StringUtils.isBlank(unionChangeBXDDTO.getFileurl())
+                    || StringUtils.isBlank(unionChangeBXDDTO.getCode())
+                    || CollectionUtils.isEmpty(unionChangeBXDDTO.getPidanFileList())
+            ){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST);
             }
-            if(unionChangeBXDDTO.getDelValidTime().getTime()<unionApply.getStartTime().getTime()
-                    || unionChangeBXDDTO.getDelValidTime().getTime()> unionApply.getEndTime().getTime()){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍚堝苟鍗曠殑鎵瑰崟鍑忎繚鐢熸晥鏈熼敊璇�");
+            LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+            UnionChange unionChange = unionChangeMapper.selectById(unionChangeBXDDTO.getId());
+            if(Objects.isNull(unionChange)||!Constants.equalsInteger(unionChange.getIsdeleted(),Constants.ZERO)){
+                throw new BusinessException(ResponseStatus.DATA_EMPTY);
             }
-        }else{
-            if(unionChangeBXDDTO.getApplyDate().getTime()<unionChange.getApplyStartTime().getTime()){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵瑰崟鏃ユ湡蹇呴』澶т簬鐢宠鏃ユ湡");
+            if(!Constants.equalsInteger(unionChange.getType(),Constants.ONE)&&
+                    unionChangeBXDDTO.getDelValidTime() == null ){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST);
             }
-        }
-
-        List<ApplyChange> applyChangeList = applyChangeJoinMapper.selectJoinList(ApplyChange.class,
-                new MPJLambdaWrapper<ApplyChange>()
-                        .selectAll(ApplyChange.class)
-                        .selectAs(InsuranceApply::getSolutionId,ApplyChange::getSolutionsId)
-                        .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
-                        .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
-                        .eq(ApplyChange::getUnionChangeId,unionChange.getId()));
-
-        List<Multifile> pidanFileList = unionChangeBXDDTO.getPidanFileList();
-        for (Multifile pidanFile:pidanFileList) {
-            if(StringUtils.isBlank( pidanFile.getFileurl())
-                    ||StringUtils.isBlank( pidanFile .getName())) {
-                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎵瑰崟鏂囦欢鍙傛暟閿欒");
+            unionChangeBXDDTO.setApplyId(unionChange.getUnionApplyId());
+            unionChange.setStatus(Constants.formatIntegerNum(unionChange.getStatus()));
+            unionChange.setShopId(Constants.formatIntegerNum(unionChange.getShopId()));
+            if(Constants.equalsInteger(user.getType(),Constants.TWO) && !unionChange.getShopId().equals(user.getCompanyId())){
+                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧烽潪鎮ㄧ殑鍚堝苟鍗曪紝鎮ㄦ棤娉曡繘琛屾搷浣滐紒");
             }
-            pidanFile.setIsdeleted(Constants.ZERO);
-            pidanFile.setCreator(user.getId());
-            pidanFile.setObjId(unionChange.getId());
-            pidanFile.setCreateDate(new Date());
-            pidanFile.setObjType(Constants.MultiFile.WTB_CA_DONE_PDF.getKey());
-            pidanFile.setType(Constants.TWO);
-        }
-        multifileMapper.insertBatchSomeColumn(pidanFileList);
-
-        for (ApplyChange applyChange:applyChangeList) {
-            for (Multifile pidanFile:pidanFileList) {
-                Multifile m = new Multifile();
-                m.setId(null);
-                m.setIsdeleted(Constants.ZERO);
-                m.setCreator(user.getId());
-                m.setCreateDate(new Date());
-                m.setObjId(applyChange.getId());
-                m.setFileurl(pidanFile.getFileurl());
-                m.setName(pidanFile.getName());
-                m.setObjType(Constants.MultiFile.CA_PD_PDF.getKey());
-                m.setType(Constants.TWO);
-                multifileMapper.insert(m);
+            if(unionChange.getStatus().equals(Constants.UnionChangeStatus.FINISH.getKey())){
+                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曚笟鍔″凡瀹岀粨锛屾偍鏃犳硶杩涜璇ユ搷浣滐紒");
             }
-            
-        }
-
-        //瀛樺偍鍚堝苟鍗曚繚闄╁崟
-       /* Multifile multifile = new Multifile();
-        multifile.setIsdeleted(Constants.ZERO);
-        multifile.setCreator(user.getId());
-        multifile.setCreateDate(new Date());
-        multifile.setObjId(unionChangeBXDDTO.getId());
-        multifile.setCreateDate(new Date());
-        multifile.setObjType(Constants.MultiFile.WTB_CA_DONE_PDF.getKey());
-        multifile.setType(Constants.TWO);
-        multifile.setFileurl(unionChangeBXDDTO.getFileurl());
-        multifile.setName(unionChangeBXDDTO.getName());
-        multifileMapper.insert(multifile);*/
- 
-//        if(CollectionUtils.isNotEmpty(unionChangeBXDDTO.getApplyChangeBXDList())){
-//            //鏌ヨ鏄惁涓嶅瓨鍦ㄥ綋鍓嶅悎骞跺崟鐨勬暟鎹�
-//            if(applyChangeJoinMapper.selectCount(new QueryWrapper<ApplyChange>()
-//                    .lambda().ne(ApplyChange::getUnionChangeId,unionChangeBXDDTO.getId())
-//                    .in(ApplyChange::getId,
-//                            unionChangeBXDDTO.getApplyChangeBXDList().stream().map(m->m.getObjId()).collect(Collectors.toList())
-//                    )
-//            )>Constants.ZERO){
-//                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵瑰崟鏄庣粏璁板綍瀛樺湪闈炴湰鍚堝苟鍗曟暟鎹�");
-//            };
-//            for (Multifile m:unionChangeBXDDTO.getApplyChangeBXDList()) {
-//                if(StringUtils.isBlank(m.getName())
-//                        || StringUtils.isBlank(m.getFileurl()) ){
-//                    continue;
-//                }
-//                if(Objects.isNull(m.getObjId())
-//                        ||StringUtils.isBlank(m.getFileurl())
-//                        ||StringUtils.isBlank(m.getName())
-//                ){
-//                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵瑰崟鏂囦欢淇℃伅缂哄け");
-//                }
-//                m.setId(null);
-//                m.setIsdeleted(Constants.ZERO);
-//                m.setCreator(user.getId());
-//                m.setCreateDate(new Date());
-//                m.setObjType(Constants.MultiFile.CA_PD_PDF.getKey());
-//                m.setType(Constants.TWO);
-//                multifileMapper.insert(m);
-//            }
-//        }
-        if(CollectionUtils.isNotEmpty(applyChangeList)){
-            for (ApplyChange applyChange:applyChangeList) {
-                ApplyChange oldModel = applyChange;
-                applyChange.setApplyStartTime(unionChangeBXDDTO.getApplyDate());
-                applyChange.setDelValidTime(unionChangeBXDDTO.getDelValidTime());
-//                applyChange.setValidTime(unionChangeBXDDTO.getApplyDate());
-                applyChange.setEditDate(new Date());
-                applyChange.setEditor(user.getId());
-                applyChange.setStatus(Constants.ApplyChangeStatus.APPROVE.getKey());
-                applyChange.setCode(unionChangeBXDDTO.getCode());
-                applyChange.setValidCode(unionChangeBXDDTO.getCode());
-                applyChange.setCheckUserId(user.getId());
-                List<ApplyChagneDetail> allList = applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class,
-                        new MPJLambdaWrapper<ApplyChagneDetail>()
-                                .selectAll(ApplyChagneDetail.class)
-                                .selectAs(Member::getIdcardNo,ApplyChagneDetail::getIdcardNo)
-                                .selectAs(Solutions::getTimeUnit, ApplyChagneDetail::getSolutionTimeUnit)
-                                .selectAs(Solutions::getPrice, ApplyChagneDetail::getSolutionPrice)
-                                .selectAs(Worktype::getName, ApplyChagneDetail::getWorkTypeName)
-                                .selectAs(DispatchUnit::getName, ApplyChagneDetail::getDuName)
-                                .selectAs(Member::getName, ApplyChagneDetail::getMemberName)
-                                .selectAs(Solutions::getName,ApplyChagneDetail::getSolutionsName)
-                                .selectAs(InsuranceApply::getCode,ApplyChagneDetail::getApplyCode)
-                                .selectAs(InsuranceApply::getServerCost,ApplyChagneDetail::getServerCost)
-                                .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
-                                .leftJoin(Member.class, Member::getId, ApplyChagneDetail::getMemberId)
-                                .leftJoin(InsuranceApply.class, InsuranceApply::getId, ApplyChange::getApplyId)
-                                .leftJoin(Solutions.class, Solutions::getId, InsuranceApply::getSolutionId)
-                                .leftJoin(Worktype.class, Worktype::getId, ApplyChagneDetail::getWorktypeId)
-                                .leftJoin(DispatchUnit.class, DispatchUnit::getId, ApplyChagneDetail::getDuId)
-                                .eq(ApplyChagneDetail::getApplyChangeId,applyChange.getId()));
-                this.dealApplyChangeDetail(applyChange,allList,solutions);
-                applyChangeJoinMapper.updateById(applyChange);
-                //瀛樺偍鎵瑰崟瀹屾垚淇℃伅
-                Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_PLATFORM_APPROVE;
-                String info = "";
-                if(applyChange.getValidTime()!=null && applyChange.getValidTime().getTime()/1000!= applyChange.getApplyStartTime().getTime()/1000){
-                    info =applyLogType.getInfo();
-                    info = info.replace("${param1}",DateUtil.getPlusTime2(applyChange.getValidTime()));
-                    info = info.replace("${param2}",DateUtil.getPlusTime2(applyChange.getApplyStartTime()));
+            if(unionChange.getStatus().equals(Constants.UnionChangeStatus.CLOSE.getKey())){
+                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曚笟鍔″凡鍏抽棴");
+            }
+            if(!unionChange.getStatus().equals(Constants.UnionChangeStatus.UPLOAD_INSURANCE_POLICY.getKey())){
+                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曠姸鎬佸凡娴佽浆");
+            }
+            UnionApply unionApply = unionApplyMapper.selectById(unionChange.getUnionApplyId());
+            if(Objects.isNull(unionApply)){
+                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍚堝苟淇濆崟淇℃伅");
+            }
+            Solutions solutions = solutionsMapper.selectById(unionApply.getSolutionId());
+            if(Objects.isNull(solutions)){
+                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌淇濋櫓鏂规");
+            }
+            if(unionChange.getType().equals(Constants.ZERO)){
+                //鍒ゆ柇鎵瑰崟鏃ユ湡 鍚堝苟鍗曠殑鎵瑰崟鐢熸晥鏈熷湪涓� 淇濆崟璧锋湡鐨勬鏃� 鍒颁繚鍗曟鏈�
+                //鑾峰彇寮�濮嬫棩鏈熸鏃�
+                if(unionChangeBXDDTO.getApplyDate().getTime()<unionApply.getStartTime().getTime()
+                        || unionChangeBXDDTO.getApplyDate().getTime()> unionApply.getEndTime().getTime()){
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍚堝苟鍗曠殑鎵瑰崟鍔犱繚鐢熸晥鏈熼敊璇�");
                 }
-                ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(), info,applyChange.getId(),applyLogType.getKey(),JSONObject.toJSONString(oldModel), JSONObject.toJSONString(applyChange));
-                applyLogMapper.insert(log);
+                if(unionChangeBXDDTO.getDelValidTime().getTime()<unionApply.getStartTime().getTime()
+                        || unionChangeBXDDTO.getDelValidTime().getTime()> unionApply.getEndTime().getTime()){
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍚堝苟鍗曠殑鎵瑰崟鍑忎繚鐢熸晥鏈熼敊璇�");
+                }
+            }else{
+                if(unionChangeBXDDTO.getApplyDate().getTime()<unionChange.getApplyStartTime().getTime()){
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵瑰崟鏃ユ湡蹇呴』澶т簬鐢宠鏃ユ湡");
+                }
+            }
+
+            List<ApplyChange> applyChangeList = applyChangeJoinMapper.selectJoinList(ApplyChange.class,
+                    new MPJLambdaWrapper<ApplyChange>()
+                            .selectAll(ApplyChange.class)
+                            .selectAs(InsuranceApply::getSolutionId,ApplyChange::getSolutionsId)
+                            .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
+                            .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
+                            .eq(ApplyChange::getUnionChangeId,unionChange.getId()));
+
+            List<Multifile> pidanFileList = unionChangeBXDDTO.getPidanFileList();
+            for (Multifile pidanFile:pidanFileList) {
+                if(StringUtils.isBlank( pidanFile.getFileurl())
+                        ||StringUtils.isBlank( pidanFile .getName())) {
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎵瑰崟鏂囦欢鍙傛暟閿欒");
+                }
+                pidanFile.setIsdeleted(Constants.ZERO);
+                pidanFile.setCreator(user.getId());
+                pidanFile.setObjId(unionChange.getId());
+                pidanFile.setCreateDate(new Date());
+                pidanFile.setObjType(Constants.MultiFile.WTB_CA_DONE_PDF.getKey());
+                pidanFile.setType(Constants.TWO);
+            }
+            multifileMapper.insertBatchSomeColumn(pidanFileList);
+
+            for (ApplyChange applyChange:applyChangeList) {
+                for (Multifile pidanFile:pidanFileList) {
+                    Multifile m = new Multifile();
+                    m.setId(null);
+                    m.setIsdeleted(Constants.ZERO);
+                    m.setCreator(user.getId());
+                    m.setCreateDate(new Date());
+                    m.setObjId(applyChange.getId());
+                    m.setFileurl(pidanFile.getFileurl());
+                    m.setName(pidanFile.getName());
+                    m.setObjType(Constants.MultiFile.CA_PD_PDF.getKey());
+                    m.setType(Constants.TWO);
+                    multifileMapper.insert(m);
+                }
 
             }
+
+
+            if(CollectionUtils.isNotEmpty(applyChangeList)){
+                for (ApplyChange applyChange:applyChangeList) {
+                    ApplyChange oldModel = applyChange;
+                    applyChange.setApplyStartTime(unionChangeBXDDTO.getApplyDate());
+                    applyChange.setDelValidTime(unionChangeBXDDTO.getDelValidTime());
+    //                applyChange.setValidTime(unionChangeBXDDTO.getApplyDate());
+                    applyChange.setEditDate(new Date());
+                    applyChange.setEditor(user.getId());
+                    applyChange.setStatus(Constants.ApplyChangeStatus.APPROVE.getKey());
+                    applyChange.setCode(unionChangeBXDDTO.getCode());
+                    applyChange.setValidCode(unionChangeBXDDTO.getCode());
+                    applyChange.setCheckUserId(user.getId());
+                    List<ApplyChagneDetail> allList = applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class,
+                            new MPJLambdaWrapper<ApplyChagneDetail>()
+                                    .selectAll(ApplyChagneDetail.class)
+                                    .selectAs(Member::getIdcardNo,ApplyChagneDetail::getIdcardNo)
+                                    .selectAs(Solutions::getTimeUnit, ApplyChagneDetail::getSolutionTimeUnit)
+                                    .selectAs(Solutions::getPrice, ApplyChagneDetail::getSolutionPrice)
+                                    .selectAs(Worktype::getName, ApplyChagneDetail::getWorkTypeName)
+                                    .selectAs(DispatchUnit::getName, ApplyChagneDetail::getDuName)
+                                    .selectAs(Member::getName, ApplyChagneDetail::getMemberName)
+                                    .selectAs(Solutions::getName,ApplyChagneDetail::getSolutionsName)
+                                    .selectAs(InsuranceApply::getCode,ApplyChagneDetail::getApplyCode)
+                                    .selectAs(InsuranceApply::getServerCost,ApplyChagneDetail::getServerCost)
+                                    .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
+                                    .leftJoin(Member.class, Member::getId, ApplyChagneDetail::getMemberId)
+                                    .leftJoin(InsuranceApply.class, InsuranceApply::getId, ApplyChange::getApplyId)
+                                    .leftJoin(Solutions.class, Solutions::getId, InsuranceApply::getSolutionId)
+                                    .leftJoin(Worktype.class, Worktype::getId, ApplyChagneDetail::getWorktypeId)
+                                    .leftJoin(DispatchUnit.class, DispatchUnit::getId, ApplyChagneDetail::getDuId)
+                                    .eq(ApplyChagneDetail::getApplyChangeId,applyChange.getId()));
+                    this.dealApplyChangeDetail(applyChange,allList,solutions);
+                    applyChangeJoinMapper.updateById(applyChange);
+                    //瀛樺偍鎵瑰崟瀹屾垚淇℃伅
+                    Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_PLATFORM_APPROVE;
+                    String info = "";
+                    if(applyChange.getValidTime()!=null && applyChange.getValidTime().getTime()/1000!= applyChange.getApplyStartTime().getTime()/1000){
+                        info =applyLogType.getInfo();
+                        info = info.replace("${param1}",DateUtil.getPlusTime2(applyChange.getValidTime()));
+                        info = info.replace("${param2}",DateUtil.getPlusTime2(applyChange.getApplyStartTime()));
+                    }
+                    ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(), info,applyChange.getId(),applyLogType.getKey(),JSONObject.toJSONString(oldModel), JSONObject.toJSONString(applyChange));
+                    applyLogMapper.insert(log);
+
+                }
+            }
+            unionChangeMapper.update(null,new UpdateWrapper<UnionChange>().lambda()
+                    .set(UnionChange::getStatus,Constants.UnionChangeStatus.FINISH.getKey())
+                    .set(UnionChange::getEditDate,new Date())
+                    .set(UnionChange::getEditor,user.getId())
+                    .set(UnionChange::getValidTime,unionChangeBXDDTO.getApplyDate())
+                    .set(UnionChange::getDelValidTime,unionChangeBXDDTO.getDelValidTime())
+                    .set(UnionChange::getApplyStartTime,unionChangeBXDDTO.getApplyDate())
+                    .set(UnionChange::getCode,unionChangeBXDDTO.getCode())
+                    .eq(UnionChange::getId,unionChangeBXDDTO.getId())
+            );
+
+
+            Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_HBD_UPLOAD_INSURANCE;
+            ApplyLog log = new ApplyLog(unionChange,applyLogType.getName(), null
+                    ,unionChange.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(unionChange));
+            applyLogMapper.insert(log);
+
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            redisTemplate.delete(KEY_PREFIX + unionChangeBXDDTO.getId());
         }
-        unionChangeMapper.update(null,new UpdateWrapper<UnionChange>().lambda()
-                .set(UnionChange::getStatus,Constants.UnionChangeStatus.FINISH.getKey())
-                .set(UnionChange::getEditDate,new Date())
-                .set(UnionChange::getEditor,user.getId())
-                .set(UnionChange::getValidTime,unionChangeBXDDTO.getApplyDate())
-                .set(UnionChange::getDelValidTime,unionChangeBXDDTO.getDelValidTime())
-                .set(UnionChange::getApplyStartTime,unionChangeBXDDTO.getApplyDate())
-                .set(UnionChange::getCode,unionChangeBXDDTO.getCode())
-                .eq(UnionChange::getId,unionChangeBXDDTO.getId())
-        );
-
-
-        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_HBD_UPLOAD_INSURANCE;
-        ApplyLog log = new ApplyLog(unionChange,applyLogType.getName(), null
-                ,unionChange.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(unionChange));
-        applyLogMapper.insert(log);
-
     }
 
 

--
Gitblit v1.9.3