From 9dc6e13e7aea2e6e6f8e32fdd2152d4ce9cb76a1 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期五, 29 三月 2024 18:08:33 +0800
Subject: [PATCH] 提交一把

---
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java |  195 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 168 insertions(+), 27 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
index 1117e60..e352d37 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -16,6 +16,7 @@
 import com.doumee.dao.business.dto.CountCyclePriceDTO;
 import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
 import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
+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.CountCyclePriceVO;
@@ -514,7 +515,7 @@
         InsuranceApply update = new InsuranceApply();
         update.setEditDate(new Date());
         update.setEditor(model.getCreator());
-        update.setStatus(Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey());
+        update.setStatus(Constants.InsuranceApplyStatus.WTB_COMPANY_APPLY_SIGNATURE.getKey());
         update.setCheckDate(update.getEditDate());
         update.setCheckInfo("浼佷笟瀹屾垚绛剧讲鏂规纭涔�");
         update.setCheckUserId(model.getCreator());
@@ -532,6 +533,39 @@
         f.setFileurlFull(fullUrl);
         f.setInfo("浼佷笟瀹屾垚绛剧讲鏂规纭涔�");
         f.setName("鏂规纭涔�.pdf");
+        multifileMapper.insert(f);
+        return  f;
+    }
+
+    /**
+     * 濮旀墭淇�  浼佷笟绛剧讲鎶曚繚鐢宠涔�
+     * @param model
+     * @param fileurl
+     * @param fullUrl
+     * @return
+     */
+    public Multifile   uploadTBSQSSignedFileDo(InsuranceApply model,String fileurl,String fullUrl) {
+        InsuranceApply update = new InsuranceApply();
+        update.setEditDate(new Date());
+        update.setEditor(model.getCreator());
+        update.setUnionApplyTbdStatus(Constants.TWO);
+        update.setCheckDate(update.getEditDate());
+        update.setCheckInfo("濮旀墭淇濅紒涓氬畬鎴愮缃叉姇淇濈敵璇蜂功");
+        update.setCheckUserId(model.getCreator());
+        update.setId(model.getId());
+        insuranceApplyMapper.updateById(update);
+
+        Multifile f = new Multifile();
+        f.setIsdeleted(Constants.ZERO);
+        f.setCreator(model.getCreator());
+        f.setObjId(update.getId());
+        f.setCreateDate(update.getEditDate());
+        f.setObjType(Constants.MultiFile.COMPANY_TBD_SIGNED_PDF.getKey());
+        f.setType(Constants.TWO);
+        f.setFileurl(fileurl);
+        f.setFileurlFull(fullUrl);
+        f.setInfo("濮旀墭淇濅紒涓氬畬鎴愮缃叉姇淇濈敵璇蜂功");
+        f.setName("鎶曚繚鐢宠涔�.pdf");
         multifileMapper.insert(f);
         return  f;
     }
@@ -737,10 +771,10 @@
                 String fileUrl = uploadSignFile(link);
                 if(StringUtils.isBlank(fileUrl)){
                     //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
-                    return;
+                    continue;
                 }
                 uploadSignedFileDo(model,fileUrl,path+fileUrl);
-                return;
+//                return;
             }
         }
         //濮旀墭淇� 浼佷笟绛剧讲鎶曚繚纭涔�
@@ -765,10 +799,10 @@
                 String fileUrl = uploadSignFile(link);
                 if(StringUtils.isBlank(fileUrl)){
                     //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
-                    return;
+                    continue;
                 }
                 uploadFAQRSSignedFileDo(model,fileUrl,path+fileUrl);
-                return;
+//                return;
             }
         }
 
@@ -794,12 +828,44 @@
                 String fileUrl = uploadSignFile(link);
                 if(StringUtils.isBlank(fileUrl)){
                     //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
-                    return;
+                    continue;
                 }
                 uploadApplyMemberListSignedFileDo(model,fileUrl,path+fileUrl);
-                return;
+//                return;
             }
         }
+        
+        //濮旀墭淇濅紒涓氱缃叉姇淇濈敵璇峰崟
+        applyList = insuranceApplyJoinMapper.selectJoinList(InsuranceApply.class,
+                new MPJLambdaWrapper<InsuranceApply>()
+                        .selectAll(InsuranceApply.class)
+                        .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
+                        .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail)
+                        .selectAs(Company::getName,InsuranceApply::getCompanyName)
+                        .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+                        .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
+                        .eq(InsuranceApply::getUnionApplyTbdStatus,Constants.ONE)
+                        .eq(Solutions::getType,Constants.ONE)
+                        .isNotNull(InsuranceApply::getApplyTbdNo));
+
+        if(applyList !=null && applyList.size()>0 ){
+            for(InsuranceApply model : applyList){
+                String status = signService.linkFileStatus(model.getApplyTbdNo());
+                if(!StringUtils.equals(status,"3")){
+                    continue;
+                }
+                String link = signService.linkFile(model.getApplyTbdNo());
+                String fileUrl = uploadSignFile(link);
+                if(StringUtils.isBlank(fileUrl)){
+                    //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
+                    continue;
+                }
+                uploadTBSQSSignedFileDo(model,fileUrl,path+fileUrl);
+//                return;
+            }
+        }
+        
+        
 
         List<ApplyChange> chagneList = applyChangeMapper.selectJoinList(ApplyChange.class,
                 new MPJLambdaWrapper<ApplyChange>()
@@ -824,10 +890,10 @@
                 String fileUrl = uploadSignFile(link);
                 if(StringUtils.isBlank(fileUrl)){
                     //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
-                    return;
+                    continue;
                 }
                 uploadChangeSignedFileDo(model,fileUrl,path+fileUrl);
-                return;
+//                return;
             }
         }
 
@@ -854,10 +920,10 @@
                 String fileUrl = uploadSignFile(link);
                 if(StringUtils.isBlank(fileUrl)){
                     //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
-                    return;
+                    continue;
                 }
                 uploadChangeMemberListSignedFileDo(model,fileUrl,path+fileUrl);
-                return;
+//                return;
             }
         }
 
@@ -881,10 +947,10 @@
                 String fileUrl = uploadSignFile(link);
                 if(StringUtils.isBlank(fileUrl)){
                     //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
-                    return;
+                    continue;
                 }
                 uploadUnionApplySignedFileDo(model,fileUrl,path+fileUrl);
-                return;
+//                return;
             }
         }
 
@@ -933,7 +999,7 @@
                             .eq(Solutions::getType,Constants.ONE)
                             .eq(InsuranceApply::getSignQrsNo,data.getApplyNo())
                             .last("limit 1" ));
-            if(modelTBQRS != null && Constants.equalsInteger(modelTBQRS.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())){
+            if(modelTBQRS != null && Constants.equalsInteger(modelTBQRS.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey())){
                 //瀹屾垚绛剧讲宸插畬鎴愭搷浣�
                 String link = signService.linkFile(data.getApplyNo());
                 String fileUrl = uploadSignFile(link);
@@ -944,6 +1010,9 @@
                 uploadFAQRSSignedFileDo(modelTBQRS,fileUrl,path+fileUrl);
                 return;
             }
+
+
+
             //濮旀墭淇� 浼佷笟绛剧讲浜哄憳鍚嶅崟
             InsuranceApply modelMemberList = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,
                     new MPJLambdaWrapper<InsuranceApply>()
@@ -965,6 +1034,31 @@
                     return;
                 }
                 uploadApplyMemberListSignedFileDo(modelMemberList,fileUrl,path+fileUrl);
+                return;
+            }
+
+
+            //濮旀墭淇� 鎶曚繚鐢宠涔︾缃�
+            InsuranceApply modelTBQSQ = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,
+                    new MPJLambdaWrapper<InsuranceApply>()
+                            .selectAll(InsuranceApply.class)
+                            .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
+                            .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail)
+                            .selectAs(Company::getName,InsuranceApply::getCompanyName)
+                            .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+                            .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
+                            .eq(Solutions::getType,Constants.ONE)
+                            .eq(InsuranceApply::getApplyTbdNo,data.getApplyNo())
+                            .last("limit 1" ));
+            if(modelTBQRS != null && Constants.equalsInteger(modelTBQSQ.getUnionApplyTbdStatus(),Constants.ONE)){
+                //瀹屾垚绛剧讲宸插畬鎴愭搷浣�
+                String link = signService.linkFile(data.getApplyNo());
+                String fileUrl = uploadSignFile(link);
+                if(StringUtils.isBlank(fileUrl)){
+                    //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
+                    return;
+                }
+                uploadTBSQSSignedFileDo(modelTBQSQ,fileUrl,path+fileUrl);
                 return;
             }
 
@@ -1527,13 +1621,37 @@
         QueryWrapper<InsuranceApply> wrapper = new QueryWrapper<>(insuranceApply);
         return insuranceApplyMapper.selectList(wrapper);
     }
+
+    public List<Integer> getCollectStatus(Integer collectStatus){
+        if(collectStatus ==null){
+            return  new ArrayList<>();
+        }
+        List<Integer> statusList = Constants.InsuranceApplyStatus.getKesByStatus(collectStatus);
+        if(collectStatus.equals(Constants.ApplyCollectStatus.DCD)){
+            statusList.addAll(Constants.InsuranceApplyStatus.getKesByStatus(Constants.ApplyCollectStatus.WTBDCD.getKey()));
+        }else if(collectStatus.equals(Constants.ApplyCollectStatus.DSP)){
+            statusList.addAll(Constants.InsuranceApplyStatus.getKesByStatus(Constants.ApplyCollectStatus.WTBDSH.getKey()));
+        }else if(collectStatus.equals(Constants.ApplyCollectStatus.BZZ)){
+            statusList.addAll(Constants.InsuranceApplyStatus.getKesByStatus(Constants.ApplyCollectStatus.WTBBZZ.getKey()));
+        }else if(collectStatus.equals(Constants.ApplyCollectStatus.YTH)){
+            statusList.addAll(Constants.InsuranceApplyStatus.getKesByStatus(Constants.ApplyCollectStatus.WTBYTH.getKey()));
+        }else if(collectStatus.equals(Constants.ApplyCollectStatus.YGB)){
+            statusList.addAll(Constants.InsuranceApplyStatus.getKesByStatus(Constants.ApplyCollectStatus.WTBYGB.getKey()));
+        }else if(collectStatus.equals(Constants.ApplyCollectStatus.DQYQZ)){
+            statusList.addAll(Constants.InsuranceApplyStatus.getKesByStatus(Constants.ApplyCollectStatus.WTBDQS.getKey()));
+        }
+
+        return statusList;
+    }
   
     @Override
     public PageData<InsuranceApply> findPage(PageWrap<InsuranceApplyQueryDTO> pageWrap) {
         IPage<InsuranceApply> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<InsuranceApply> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        List<Integer> statusList = Constants.InsuranceApplyStatus.getKesByStatus(pageWrap.getModel().getStatusCollect());
+
+        List<Integer> statusList = this.getCollectStatus(pageWrap.getModel().getStatusCollect());
+
         queryWrapper.selectAll(InsuranceApply.class);
         queryWrapper.selectAs(Company::getName,InsuranceApply::getCompanyName);
         queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName);
@@ -2058,19 +2176,25 @@
 
     /**
      * 濮旀墭瀹� 鎶曚繚纭涔�
-     * @param id
+     * @param smsCheckDTO
      * @return
      */
     @Override
-    public  String getSignTBQRSLink(Integer id) {
-        if(id == null ){
+    public  String getSignTBQRSLink(SmsCheckDTO smsCheckDTO) {
+        if(Objects.isNull(smsCheckDTO)
+            || Objects.isNull(smsCheckDTO.getBusinessId())
+                || StringUtils.isBlank(smsCheckDTO.getCode())
+        ){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        if(!debugModel){
+            smsEmailService.validateCode(smsCheckDTO.getCode());
         }
         MPJLambdaWrapper wrapper=  new MPJLambdaWrapper<InsuranceApply>()
                 .selectAll(InsuranceApply.class)
                 .selectAs(Solutions::getSignKeyword,InsuranceApply::getSignKeyword)
                 .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
-                .eq(InsuranceApply::getId,id)
+                .eq(InsuranceApply::getId,smsCheckDTO.getBusinessId())
                 .last("limit 1");
 
         InsuranceApply model = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,wrapper);
@@ -2081,7 +2205,7 @@
         if(Objects.isNull(solutions)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
         }
-        if(solutions.getType().equals(Constants.ZERO)){
+        if(Constants.equalsInteger(solutions.getType(),(Constants.ZERO))){
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝闈炲鎵樹繚鏂规淇濆崟!");
         }
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
@@ -2153,8 +2277,18 @@
      * 浜哄憳鍚嶅崟绛剧珷
      */
     @Override
-    public String getMemberListOnlineSignLink(Integer applyId) {
-        InsuranceApply model = this.queryApplyDetail(applyId);
+    public String getMemberListOnlineSignLink(SmsCheckDTO smsCheckDTO) {
+        if(Objects.isNull(smsCheckDTO)
+                || Objects.isNull(smsCheckDTO.getBusinessId())
+                || StringUtils.isBlank(smsCheckDTO.getCode())
+        ){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        //楠岃瘉 楠岃瘉鐮�
+        if(!debugModel){
+            smsEmailService.validateCode(smsCheckDTO.getCode());
+        }
+        InsuranceApply model = this.queryApplyDetail(smsCheckDTO.getBusinessId());
         if(Objects.isNull(model)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇繚鍗曚俊鎭�");
         }
@@ -2202,19 +2336,26 @@
 
     /**
      * 濮旀墭淇� 鎶曚繚鐢宠绛剧讲
-     * @param id
+     * @param smsCheckDTO
      * @return
      */
     @Override
-    public  String getSignWTBTBDLink(Integer id) {
-        if(id == null ){
+    public  String getSignWTBTBDLink(SmsCheckDTO smsCheckDTO) {
+        if(Objects.isNull(smsCheckDTO)
+                || Objects.isNull(smsCheckDTO.getBusinessId())
+                || StringUtils.isBlank(smsCheckDTO.getCode())
+        ){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        //楠岃瘉 楠岃瘉鐮�
+        if(!debugModel){
+            smsEmailService.validateCode(smsCheckDTO.getCode());
         }
         MPJLambdaWrapper wrapper=  new MPJLambdaWrapper<InsuranceApply>()
                 .selectAll(InsuranceApply.class)
                 .selectAs(Solutions::getSignKeyword,InsuranceApply::getSignKeyword)
                 .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
-                .eq(InsuranceApply::getId,id)
+                .eq(InsuranceApply::getId,smsCheckDTO.getBusinessId())
                 .last("limit 1");
 
         InsuranceApply model = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,wrapper);
@@ -2247,7 +2388,7 @@
         }
         Multifile f = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda()
                 .eq(Multifile::getObjId,model.getId())
-                .eq(Multifile::getObjType,Constants.MultiFile.COMPANY_TBD_SIGNED_PDF.getKey())
+                .eq(Multifile::getObjType,Constants.MultiFile.COMPANY_TBD_SIGNED.getKey())
                 .eq(Multifile::getIsdeleted,Constants.ZERO).last("limit 1"));
         if(f == null || StringUtils.isBlank(f.getFileurl())){
             throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇纭涔︽枃浠跺け璐ワ紝璇疯仈绯诲晢鎴风‘璁ゆ姇淇濈敵璇蜂功鏄惁姝g‘锛�");

--
Gitblit v1.9.3