From fca3a3f8358872215cf98986e8c8b72cf2dbfe02 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 10 六月 2025 18:22:14 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java      |   87 +-
 server/service/src/main/java/com/doumee/service/business/InsuranceApplyOnService.java          |   33 +
 server/service/src/main/java/com/doumee/core/utils/Constants.java                              |   82 +++
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java   |  642 +-----------------------
 server/shop/src/main/java/com/doumee/api/business/InsuranceApplyController.java                |   14 
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyOnServiceImpl.java |  618 ++++++++++++++++++++++++
 server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java            |   11 
 server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java            |    8 
 8 files changed, 841 insertions(+), 654 deletions(-)

diff --git a/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java b/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
index 666e71b..7d2878b 100644
--- a/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -13,6 +13,7 @@
 import com.doumee.dao.business.model.InsuranceApply;
 import com.doumee.dao.business.vo.ApplyPowerVO;
 import com.doumee.dao.business.vo.CountCyclePriceVO;
+import com.doumee.service.business.InsuranceApplyOnService;
 import com.doumee.service.business.InsuranceApplyService;
 import com.doumee.service.business.impl.UnionApplyServiceImpl;
 import io.swagger.annotations.Api;
@@ -36,6 +37,8 @@
 
     @Autowired
     private InsuranceApplyService insuranceApplyService;
+    @Autowired
+    private InsuranceApplyOnService insuranceApplyOnService;
 
     @Autowired
     private UnionApplyServiceImpl unionApplyServiceImpl;
@@ -66,13 +69,13 @@
     @PostMapping("/back")
     @RequiresPermissions("business:insuranceapply:back")
     public ApiResponse back(@RequestBody InsuranceApply insuranceApply) {
-        return ApiResponse.success(insuranceApplyService.back(insuranceApply));
+        return ApiResponse.success(insuranceApplyOnService.back(insuranceApply));
     }
     @ApiOperation("骞冲彴涓婁紶鎶曚繚鍗�")
     @PostMapping("/uploadToubaodan")
     @RequiresPermissions("business:insuranceapply:uploadToubaodan")
     public ApiResponse uploadToubaodan(@RequestBody InsuranceApply insuranceApply) {
-        return ApiResponse.success(insuranceApplyService.uploadToubaodan(insuranceApply));
+        return ApiResponse.success(insuranceApplyOnService.uploadToubaodan(insuranceApply));
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
@@ -87,13 +90,13 @@
     @PostMapping("/uploadBaoxiandan")
     @RequiresPermissions("business:insuranceapply:uploadBaoxiandan")
     public ApiResponse uploadBaoxiandan(@RequestBody InsuranceApply insuranceApply) {
-        return ApiResponse.success(insuranceApplyService.uploadBaoxiandan(insuranceApply));
+        return ApiResponse.success(insuranceApplyOnService.uploadBaoxiandan(insuranceApply));
     }
     @ApiOperation("骞冲彴澶勭悊閫�鍗曠敵璇�")
     @PostMapping("/dealBackApply")
     @RequiresPermissions("business:insuranceapply:dealBackApply")
     public ApiResponse dealBackApply(@RequestBody InsuranceApply insuranceApply) {
-        return ApiResponse.success(insuranceApplyService.dealBackApply(insuranceApply));
+        return ApiResponse.success(insuranceApplyOnService.dealBackApply(insuranceApply));
     }
     @ApiOperation("骞冲彴淇敼淇濋櫓鍗�")
     @PostMapping("/editBaoxiandan")
diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
index 3be4154..470525b 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -4,8 +4,10 @@
 import cn.hutool.core.util.IdcardUtil;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.dao.business.dto.ApplyPowerDTO;
 import com.doumee.dao.business.dto.CountCyclePriceDTO;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.ApplyPowerVO;
 import com.doumee.dao.business.vo.ChangeDealTypeVO;
 import com.doumee.dao.business.vo.CountCyclePriceVO;
 import io.swagger.models.auth.In;
@@ -2872,5 +2874,85 @@
 
     }
 
+    public static void  initApplyStatus(InsuranceApply apply){
+        apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus()));
+        if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+                || Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())){
+            //濡傛灉宸插畬鎴�
+            if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){
+                apply.setStatusCollect(Constants.THREE);//宸茶繃鏈�
+            }
+        }
+        Constants.setServiceDays(apply);
+        apply.setStatusInfo(Constants.ApplyCollectStatus.getName(apply.getStatusCollect()));
+        if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+                || Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()) ){
+            if(apply.getStartTime().getTime()>System.currentTimeMillis()){
+                apply.setStatusInfo("寰呯敓鏁�");
+            }else if(apply.getEndTime().getTime()<System.currentTimeMillis()){
+                apply.setStatusInfo("宸茶繃鏈�");
+            }else{
+                apply.setStatusInfo("淇濋殰涓�");
+            }
+        }
+    }
+
+    public static void setServiceDays(InsuranceApply insuranceApply) {
+        //璁剧疆鍦ㄤ繚鏃堕暱锛堝ぉ鏁帮級
+        insuranceApply.setServiceDays(Constants.ZERO);
+        if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+                || insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WTB_DONE.getKey())){
+            //濡傛灉褰撳墠鏃堕棿澶т簬缁撴潫鏃ユ湡 鍒欎娇鐢ㄧ粨鏉熸棩鏈熷姣斿紑濮嬫棩鏈�
+            if(DateUtil.compareDate(new Date(),insuranceApply.getEndTime())>=Constants.ZERO){
+                insuranceApply.setServiceDays(
+                        DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime())+1
+                );
+            }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){
+                //鏈紑濮�
+                insuranceApply.setServiceDays(Constants.ZERO);
+            }else{
+                insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime())+1);
+            }
+        }
+    }
+
+    public static ApplyPowerVO getApplyPowerStatic(ApplyPowerDTO applyPowerDTO, InsuranceApply insuranceApply, Solutions solutions){
+        if(Objects.isNull(applyPowerDTO)
+                || Objects.isNull(applyPowerDTO.getApplyId())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍙傛暟閿欒");
+        }
+        if(Objects.isNull(applyPowerDTO.getBeginDate())){
+            applyPowerDTO.setBeginDate(new Date());
+        }
+        ApplyPowerVO applyPowerVO = new ApplyPowerVO();
+        //鑾峰彇鏂规 缁撴潫鏃堕棿
+        Date endTime = insuranceApply.getEndTime();
+        //鏌ヨ褰撳墠鍘诲姞淇濈殑寮�濮嬫棩鏈�  yyyy-MM-dd HH:mm:ss 2024-10-29 00:00:00
+        Date addStartDate = DateUtil.getMontageDate(
+                DateUtil.afterDateByType(applyPowerDTO.getBeginDate(),Constants.ZERO,solutions.getAddValidDays()),
+                1
+        );
+        applyPowerVO.setAddStartDate(addStartDate);
+        //鍔犱繚鐢熸晥鏃ユ湡澶т簬 淇濆崟缁撴潫鏃ユ湡 鍒欎笉鍙互杩涜鍔犱繚
+        if(addStartDate.getTime()>=endTime.getTime()){
+            applyPowerVO.setAddTrue(Constants.ONE);
+        }else{
+            applyPowerVO.setAddTrue(Constants.ZERO);
+        }
+        //鏌ヨ褰撳墠鍘诲噺淇濈殑寮�濮嬫棩鏈�  yyyy-MM-dd HH:mm:ss 2024-10-29 00:00:00
+        Date delStartDate = DateUtil.getMontageDate(
+                DateUtil.afterDateByType(applyPowerDTO.getBeginDate(),Constants.ZERO,solutions.getAddValidDays()),
+                1
+        );
+        applyPowerVO.setDelStartDate(delStartDate);
+        //鍔犱繚鐢熸晥鏃ユ湡澶т簬 淇濆崟缁撴潫鏃ユ湡 鍒欎笉鍙互杩涜鍑忎繚
+        if(delStartDate.getTime()>=endTime.getTime()){
+            applyPowerVO.setDelTrue(Constants.ONE);
+        }else{
+            applyPowerVO.setDelTrue(Constants.ZERO);
+        }
+        return applyPowerVO;
+    }
+
 
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/InsuranceApplyOnService.java b/server/service/src/main/java/com/doumee/service/business/InsuranceApplyOnService.java
new file mode 100644
index 0000000..c12fff2
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/service/business/InsuranceApplyOnService.java
@@ -0,0 +1,33 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dto.*;
+import com.doumee.dao.business.model.InsuranceApply;
+import com.doumee.dao.business.vo.ApplyPowerVO;
+import com.doumee.dao.business.vo.CountCyclePriceVO;
+import com.doumee.service.business.impl.UnionApplyServiceImpl;
+import com.jzq.common.bean.sign.NotifyDataReq;
+
+import java.util.List;
+
+/**
+ * 鎶曚繚鐢宠淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+public interface InsuranceApplyOnService {
+
+    Integer back(InsuranceApply insuranceApply);
+
+    Integer closeWtbForShop(InsuranceApply insuranceApply);
+
+    Integer uploadToubaodan(InsuranceApply insuranceApply);
+
+    Integer uploadBaoxiandan(InsuranceApply insuranceApply);
+
+
+    Integer   dealBackApply(InsuranceApply insuranceApply);
+
+}
+
diff --git a/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java b/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
index e26e8a1..07d013f 100644
--- a/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
+++ b/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
@@ -29,7 +29,7 @@
      */
     Integer create(InsuranceApply insuranceApply);
     Integer updateData(InsuranceApply insuranceApply);
-    void checkMemberSolutionOld(Integer solutionId,String idCode,String memberName,Date startTime,Date endTime,Integer applyId);
+    //void checkMemberSolutionOld(Integer solutionId,String idCode,String memberName,Date startTime,Date endTime,Integer applyId);
 
     /**
      * 涓婚敭鍒犻櫎
@@ -110,13 +110,7 @@
 
     void applyOpt(InsuranceApplyOptDTO insuranceApplyOptDTO);
 
-    Integer back(InsuranceApply insuranceApply);
-    Integer closeWtbForShop(InsuranceApply insuranceApply);
-    Integer uploadToubaodan(InsuranceApply insuranceApply);
 
-    Integer uploadBaoxiandan(InsuranceApply insuranceApply);
-
-    Integer   dealBackApply(InsuranceApply insuranceApply);
 
     Integer check(InsuranceApply insuranceApply, UnionApplyServiceImpl unionApplyServiceImpl);
 
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 3edb558..4055cf6 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
@@ -1435,6 +1435,15 @@
                 .eq(Member::getIsdeleted,Constants.ZERO)
                 .in(Member::getIdcardNo,addDetailList.stream().map(i->i.getIdcardNo()).collect(Collectors.toList()))
         );
+        ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda()
+                .eq(ApplyDetail::getApplyId,applyChange.getApplyId())
+                .isNotNull(ApplyDetail::getPrice)
+                .last("limit 1 ")
+        );
+        if(Objects.isNull(applyDetail)){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓嬫棤鏄庣粏鏁版嵁");
+        }
+        List<Member> updMemberList = new ArrayList<>();
         //鏌ヨ鏈鍔犱繚鎵�鏈変汉鍛樼殑鍘嗗彶淇濆崟璁板綍
         List<ApplyDetail> applyDetailAllList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,
                 new MPJLambdaWrapper<ApplyDetail>()
@@ -1458,6 +1467,7 @@
                         .in(Member::getIdcardNo,memberList.stream().map(i->i.getId()).collect(Collectors.toList()))
                         .in(ApplyChange::getStatus, Constants.ZERO, Constants.ONE));
 
+        List<ApplyChagneDetail> applyChagneDetailList = new ArrayList<>();
         for (int i = 0; i < addDetailList.size(); i++) {
             ApplyChagneDetail applyChagneDetail = addDetailList.get(i);
             if (
@@ -1503,9 +1513,9 @@
                 member.setWorktypeId(applyChagneDetail.getWorktypeId());
                 member.setStartTime(applyChagneDetail.getStartTime());
                 member.setEndTime(applyChagneDetail.getEndTime());
-                memberMapper.updateById(member);
+//                memberMapper.updateById(member);
+                updMemberList.add(member);
                 applyChagneDetail.setMemberId(member.getId());
-                
                 if(applyChangeDetailAllList.stream().filter(
                         j->Constants.equalsInteger(j.getMemberId(),applyChagneDetail.getMemberId())
                 ).collect(Collectors.toList()).size()>Constants.ZERO){
@@ -1516,36 +1526,24 @@
             List<ApplyDetail> memberApplyDetailList = new ArrayList<>();
             if(CollectionUtils.isNotEmpty(applyDetailAllList)){
                 memberApplyDetailList = applyDetailAllList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())).collect(Collectors.toList());
-            }
-            if(CollectionUtils.isEmpty(memberApplyDetailList)){
-                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍");
-            }
 
-            if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())&&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
-                    && j.getStartTime().getTime() <= DateUtil.getMontageDate(applyChange.getApplyStartTime(),1).getTime()
-                    && j.getEndTime().getTime() >= DateUtil.getMontageDate(insuranceApply.getEndTime(),2).getTime()
-            ).collect(Collectors.toList()).size()>Constants.ZERO){
-                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁");
-            };
+                if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())&&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
+                        && j.getStartTime().getTime() <= DateUtil.getMontageDate(applyChange.getApplyStartTime(),1).getTime()
+                        && j.getEndTime().getTime() >= DateUtil.getMontageDate(insuranceApply.getEndTime(),2).getTime()
+                ).collect(Collectors.toList()).size()>Constants.ZERO){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁");
+                };
+                
+                if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())
+                        &&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
+                        && j.getStartTime().getTime() <= System.currentTimeMillis()
+                        && j.getEndTime().getTime() >= System.currentTimeMillis()
+                ).collect(Collectors.toList()).size()>Constants.ZERO){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄤ繚闅滀腑鐨勪繚鍗曚俊鎭紝鏃犳硶杩涜鍔犱繚");
+                };
 
-            if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())
-                    &&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
-                    && j.getStartTime().getTime() <= System.currentTimeMillis()
-                    && j.getEndTime().getTime() >= System.currentTimeMillis()
-            ).collect(Collectors.toList()).size()>Constants.ZERO){
-                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄤ繚闅滀腑鐨勪繚鍗曚俊鎭紝鏃犳硶杩涜鍔犱繚");
-            };
+            } 
 
-
-            List<ApplyDetail> optApplyDetailList = applyDetailAllList.stream()
-                    .filter(j->Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
-            ).collect(Collectors.toList());
-
-            if(CollectionUtils.isEmpty(optApplyDetailList)){
-                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍");
-            }
-
-            ApplyDetail applyDetail = optApplyDetailList.get(Constants.ZERO);
             applyChagneDetail.setPrice(applyDetail.getPrice());
             applyChagneDetail.setCreateDate(new Date());
             applyChagneDetail.setCreator(loginUserInfo.getId());
@@ -1578,18 +1576,6 @@
                 }
             };
 
-            //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
-            if(!Objects.isNull(applyChagneDetail.getMemberId())){
-                if (applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda()
-                        .eq(ApplyDetail::getApplyId, applyChange.getApplyId())
-                        .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId())
-                        .le(ApplyDetail::getStartTime, "now()")
-                        .ge(ApplyDetail::getEndTime, "now()")
-                ) > Constants.ZERO) {
-                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄤ繚闅滀腑鐨勪繚鍗曚俊鎭紝鏃犳硶杩涜鍔犱繚");
-                }
-            }
-
             //楠岃瘉娲鹃仯鍗曚綅淇℃伅 涓庡伐绉嶄俊鎭� 鏄惁瀛樺湪
             if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){
                 if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) {
@@ -1608,7 +1594,24 @@
             }else{
                 applyChagneDetail.setFee(detailFee);
             }
-            applyChagneDetailJoinMapper.insert(applyChagneDetail);
+            applyChagneDetail.setId(null);
+            applyChagneDetailList.add(applyChagneDetail);
+        }
+        if(CollectionUtils.isNotEmpty(applyChagneDetailList)){
+            applyChagneDetailJoinMapper.insert(applyChagneDetailList);
+        }
+        if(CollectionUtils.isNotEmpty(updMemberList)){
+            Thread t1=new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        memberMapper.insertOrUpdate(updMemberList);
+                    }catch (Exception e){
+                        e.printStackTrace();
+                    }
+                }
+            });
+            t1.start(); 
         }
     }
 
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyOnServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyOnServiceImpl.java
new file mode 100644
index 0000000..b38bc6c
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyOnServiceImpl.java
@@ -0,0 +1,618 @@
+package com.doumee.service.business.impl;
+
+import cn.hutool.core.util.IdcardUtil;
+import com.alibaba.fastjson.JSONObject;
+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;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.Utils;
+import com.doumee.core.utils.aliyun.ALiYunUtil;
+import com.doumee.dao.business.*;
+import com.doumee.dao.business.dto.*;
+import com.doumee.dao.business.join.*;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.ApplyPowerVO;
+import com.doumee.dao.business.vo.CountCyclePriceVO;
+import com.doumee.dao.system.SystemUserMapper;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.business.InsuranceApplyOnService;
+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 com.jzq.common.bean.sign.NotifyDataReq;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
+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.io.File;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 鎶曚繚鐢宠淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/01/16 10:03
+ */
+@Service
+public class InsuranceApplyOnServiceImpl implements InsuranceApplyOnService {
+    @Value("${debug_model}")
+    private boolean debugModel;
+    @Autowired
+    private InsuranceApplyMapper insuranceApplyMapper;
+    @Autowired
+    private SmsEmailService smsEmailService;
+    @Autowired
+    private ApplyChangeJoinMapper applyChangeMapper;
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+    @Autowired
+    private InsuranceApplyJoinMapper insuranceApplyJoinMapper;
+    @Autowired
+    private CompanyMapper companyMapper;
+    @Autowired
+    private MemberInsuranceJoinMapper memberInsuranceJoinMapper;
+    @Autowired
+    private ApplyDetailMapper applyDetailMapper;
+    @Autowired
+    private ApplyDetailJoinMapper applyDetailJoinMapper;
+    @Autowired
+    private ApplyLogMapper applyLogMapper;
+    @Autowired
+    private SignService signService;
+    @Autowired
+    private MultifileMapper multifileMapper;
+    @Autowired
+    private ApplyLogJoinMapper applyLogJoinMapper;
+    @Autowired
+    private SolutionsMapper solutionsMapper;
+    @Autowired
+    private MemberMapper memberMapper;
+    @Autowired
+    private MemberJoinMapper memberJoinMapper;
+    @Autowired
+    private DuSolutionJoinMapper duSolutionJoinMapper;
+    @Autowired
+    private DuWorkTypeJoinMapper duWorkTypeJoinMapper;
+    @Autowired
+    private SolutionWorktypeJoinMapper solutionWorktypeJoinMapper;
+    @Autowired
+    private NoticesMapper noticesMapper;
+    @Autowired
+    private UnionApplyJoinMapper unionApplyJoinMapper;
+    @Autowired
+    private UnionChangeJoinMapper unionChangeJoinMapper;
+    @Autowired
+    private CompanySolutionMapper companySolutionMapper;
+    @Autowired
+    private ContractJoinMapper contractJoinMapper;
+    @Autowired
+    private SystemUserMapper systemUserMapper;
+    @Autowired
+    private CompanyDepartmentMapper companyDepartmentMapper;
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public Integer back(InsuranceApply insuranceApply) {
+        if(insuranceApply.getId() == null ||StringUtils.isBlank(insuranceApply.getCheckInfo())){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
+        if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
+        if(Objects.isNull(solutions)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+        }
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        InsuranceApply update = new InsuranceApply();
+        if(Constants.equalsInteger(solutions.getType(),Constants.ZERO)){
+            if(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
+                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+            }
+            update.setStatus(Constants.InsuranceApplyStatus.FAIL_RETURN.getKey());
+        }else{
+            if( !(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_MEMBER_LIST_SIGNATURE.getKey())
+            || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_APPLY_SIGNATURE.getKey())
+            || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey()))){
+                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+            }
+            update.setStatus(Constants.InsuranceApplyStatus.WTB_RETURN.getKey());
+        }
+        update.setEditDate(new Date());
+        update.setEditor(user.getId());
+        update.setCheckDate(update.getEditDate());
+        update.setCheckInfo(insuranceApply.getCheckInfo());
+        update.setCheckUserId(user.getId());
+        update.setId(model.getId());
+        insuranceApplyMapper.updateById(update);
+        //瀛樺偍寰呭姙淇℃伅
+        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
+        //鍒犻櫎鍏朵粬寰呭姙
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+                .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+                .eq(Notices::getObjId,insuranceApply.getId()));
+        Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(),
+                model.getCompanyId(), Constants.NoticeType.FOUR);
+        noticesMapper.insert(notices);
+        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PLATFORM_RETURN;
+        String info =applyLogType.getInfo();
+        info = info.replace("${param}", update.getCheckInfo());
+        ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+        applyLogMapper.insert(log);
+        return  1;
+
+    }
+
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public Integer closeWtbForShop(InsuranceApply insuranceApply) {
+        if(insuranceApply.getId() == null ||StringUtils.isBlank(insuranceApply.getCheckInfo())){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
+
+        if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        //鍙湁瀹℃牳閫氳繃鐨勭姸鎬佸彲鍏抽棴
+        if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_BUSINESS_CHECK_PASS.getKey())){
+            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+        }
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        InsuranceApply update = new InsuranceApply();
+        update.setEditDate(new Date());
+        update.setEditor(user.getId());
+        update.setStatus(Constants.InsuranceApplyStatus.WTB_CLOSED.getKey());
+        update.setCheckDate(update.getEditDate());
+        update.setCheckInfo(insuranceApply.getCheckInfo());
+        update.setCheckUserId(user.getId());
+        update.setId(model.getId());
+        insuranceApplyMapper.updateById(update);
+
+        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.SHOP_CLOSE_WTB_APPLY;
+        String info =applyLogType.getInfo();
+        info = info.replace("${param}", update.getCheckInfo());
+        ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+        applyLogMapper.insert(log);
+        return  1;
+    }
+
+
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public Integer uploadToubaodan(InsuranceApply insuranceApply) {
+        if(insuranceApply.getId() == null
+                || insuranceApply.getToubaodanFile() == null
+                ||StringUtils.isBlank( insuranceApply.getToubaodanFile() .getFileurl())
+                ||StringUtils.isBlank( insuranceApply.getToubaodanFile() .getName())){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
+        if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())
+                || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())
+                || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()))){
+            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+        }
+
+        Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
+        if(Objects.isNull(solutions)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+        }
+
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        InsuranceApply update = new InsuranceApply();
+        update.setEditDate(new Date());
+        update.setEditor(user.getId());
+        update.setStatus(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey());
+        update.setCheckDate(update.getEditDate());
+        update.setCheckInfo(insuranceApply.getCheckInfo());
+        update.setCheckUserId(user.getId());
+        update.setId(model.getId());
+        insuranceApplyMapper.updateById(update);
+
+        multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda()
+                .eq(Multifile::getIsdeleted,Constants.ZERO)
+                .eq(Multifile::getObjType,Constants.MultiFile.BD_APPLY_PDF.getKey())
+                .eq(Multifile::getObjId,update.getId())
+                .set(Multifile::getIsdeleted,Constants.ONE)
+                .set(Multifile::getEditDate,update.getEditDate())
+                .set(Multifile::getEditor,update.getEditor())
+        );
+        insuranceApply.getToubaodanFile().setIsdeleted(Constants.ZERO);
+        insuranceApply.getToubaodanFile().setCreator(user.getId());
+        insuranceApply.getToubaodanFile().setObjId(update.getId());
+        insuranceApply.getToubaodanFile().setCreateDate(update.getEditDate());
+        insuranceApply.getToubaodanFile().setObjType(Constants.MultiFile.BD_APPLY_PDF.getKey());
+        insuranceApply.getToubaodanFile().setType(Constants.TWO);
+        multifileMapper.insert(insuranceApply.getToubaodanFile());
+        update.setToubaodanFile(insuranceApply.getToubaodanFile());
+
+        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.WAIT_SIGNATURE;
+        String info =applyLogType.getInfo();
+//        info = info.replace("${param}", update.getCheckInfo());
+        ApplyLog log = new ApplyLog(update,applyLogType.getName(),StringUtils.isNotBlank(update.getCheckInfo())?info:"",update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+        applyLogMapper.insert(log);
+
+        //鍒犻櫎鍏朵粬寰呭姙
+        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId()));
+
+        Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(),
+                model.getCompanyId(), Constants.NoticeType.ONE);
+        noticesMapper.insert(notices);
+
+        return  1;
+
+    }
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public Integer dealBackApply(InsuranceApply insuranceApply) {
+        if(insuranceApply.getId() == null ||StringUtils.isBlank(insuranceApply.getCheckInfo())){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
+
+        if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        Constants.ApplyLogType applyLogType = null;
+        String info = "";
+        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
+        //澶勭悊閫�鍥炵敵璇烽�氱煡
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+                .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+                .eq(Notices::getObjId,insuranceApply.getId()));
+        InsuranceApply update = new InsuranceApply();
+        if(insuranceApply.getDealBackApply() ==1){
+            //濡傛灉鏄┏鍥�,鍙兘鍙┏鍥炲凡绛剧珷鐘舵�佷笅鐨勯��鍥炵敵璇风姸鎬佽繘琛屾搷浣�
+            if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey())||
+                    Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())||
+                    Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())||
+                    Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey()))
+            ){
+                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+            }
+            applyLogType = Constants.ApplyLogType.PLATFORM_UN_AGREE_BACK;
+            info = applyLogType.getInfo();
+            info = info.replace("${param}", insuranceApply.getCheckInfo());
+            if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey())){
+                update.setStatus(Constants.InsuranceApplyStatus.SIGNATURE.getKey());
+            }else if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())){
+                update.setStatus(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey());
+            }else if(  Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())){
+                update.setStatus(Constants.InsuranceApplyStatus.UPLOAD.getKey());
+            }else if(  Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey())){
+                update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey());
+            }
+        }else{
+            //濡傛灉鏄悓鎰�,涓ょ鐢宠閫�鍥炵姸鎬侀兘鍙搷浣�
+            if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey())
+                    ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())
+                    ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey()))){
+                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+            }
+            applyLogType = Constants.ApplyLogType.PLATFORM_AGREE_BACK;
+            update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey());
+
+
+            //閫氱煡浼佷笟 宸查��鍥�
+            Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
+            if(Objects.nonNull(solutions)){
+                Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(),
+                        insuranceApply.getCompanyId(), Constants.NoticeType.FOUR);
+                noticesMapper.insert(notices);
+            }
+        }
+        update.setEditDate(new Date());
+        update.setEditor(user.getId());
+        update.setCheckDate(update.getEditDate());
+        update.setCheckInfo(insuranceApply.getCheckInfo());
+        update.setCheckUserId(user.getId());
+        update.setId(model.getId());
+        insuranceApplyMapper.updateById(update);
+        ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+        applyLogMapper.insert(log);
+        return  1;
+    }
+
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public Integer uploadBaoxiandan(InsuranceApply insuranceApply) {
+        if(insuranceApply.getId() == null
+                || insuranceApply.getCode() == null
+                || insuranceApply.getStartTime() == null
+                || insuranceApply.getBaoxiandanFile() == null
+                ||StringUtils.isBlank( insuranceApply.getBaoxiandanFile() .getFileurl())
+                ||StringUtils.isBlank( insuranceApply.getBaoxiandanFile() .getName())){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
+        if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.SIGNATURE.getKey())){
+            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+        }
+        if(model.getApplyEndTime()== null || model.getStartTime().getTime()>model.getApplyEndTime().getTime() ){
+            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风敓鏁堝懆鏈熸椂闂翠笉绗﹀悎瑕佹眰锛岃纭鍚庝慨鏀归噸璇晘");
+        }
+        Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
+        if(Objects.isNull(solutions)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+        }
+        //璁$畻瀹為檯鎴鏃堕棿
+        Date actEndTime = new Date(model.getApplyEndTime().getTime() + (insuranceApply.getStartTime().getTime() - model.getApplyStartTime().getTime()));
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        InsuranceApply update = new InsuranceApply();
+        update.setEditDate(new Date());
+        update.setEditor(user.getId());
+        update.setStatus(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey());
+        update.setCheckDate(update.getEditDate());
+        update.setCheckInfo(insuranceApply.getCheckInfo());
+        update.setCheckUserId(user.getId());
+        update.setId(model.getId());
+        update.setCode(insuranceApply.getCode());
+        update.setEndTime(actEndTime);
+        update.setStartTime(insuranceApply.getStartTime());
+        CountCyclePriceDTO countCyclePriceDTO = new CountCyclePriceDTO();
+        countCyclePriceDTO.setSolutionsId(model.getSolutionId());
+        countCyclePriceDTO.setStartDate(insuranceApply.getStartTime());
+        update.setFinalEndTime(this.getCountCyclePriceVO(countCyclePriceDTO).getEndDate());
+        insuranceApplyMapper.updateById(update);
+
+        //淇敼鏄庣粏琛岀殑寮�濮嬬粨鏉熸棩鏈�
+        applyDetailMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda()
+                .set(ApplyDetail::getStartTime,insuranceApply.getStartTime())
+                .set(ApplyDetail::getEndTime,actEndTime)
+                .eq(ApplyDetail::getApplyId,model.getId()));
+
+        multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda()
+                .eq(Multifile::getIsdeleted,Constants.ZERO)
+                .eq(Multifile::getObjType,Constants.MultiFile.BD_DONE_PDF.getKey())
+                .eq(Multifile::getObjId,update.getId())
+                .set(Multifile::getIsdeleted,Constants.ONE)
+                .set(Multifile::getEditDate,update.getEditDate())
+                .set(Multifile::getEditor,update.getEditor())
+        );
+
+        insuranceApply.getBaoxiandanFile().setIsdeleted(Constants.ZERO);
+        insuranceApply.getBaoxiandanFile().setCreator(user.getId());
+        insuranceApply.getBaoxiandanFile().setObjId(update.getId());
+        insuranceApply.getBaoxiandanFile().setCreateDate(update.getEditDate());
+        insuranceApply.getBaoxiandanFile().setObjType(Constants.MultiFile.BD_DONE_PDF.getKey());
+        insuranceApply.getBaoxiandanFile().setType(Constants.TWO);
+        multifileMapper.insert(insuranceApply.getBaoxiandanFile());
+        update.setBaoxiandanFile(insuranceApply.getBaoxiandanFile());
+
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,Constants.NoticeObjectType.INSURANCE_APPLY.getKey())
+                .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+                .eq(Notices::getObjId,insuranceApply.getId()));
+
+        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.UPLOAD_INSURANCE;
+        String info = "";
+        if(model.getApplyStartTime()!=null && model.getApplyStartTime().getTime()/1000!= insuranceApply.getStartTime().getTime()/1000){
+            info =applyLogType.getInfo();
+            info = info.replace("${param1}",DateUtil.getPlusTime2(model.getStartTime()));
+            info = info.replace("${param2}",DateUtil.getPlusTime2(insuranceApply.getStartTime()));
+        }
+        ApplyLog log = new ApplyLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+        applyLogMapper.insert(log);
+
+
+        //瀛樺偍鍛樺伐淇℃伅鎶曚繚璁板綍
+        //鏌ヨ鍗曟嵁鏄庣粏璁板綍
+        MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.selectAll(ApplyDetail.class);
+        queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName);
+        queryWrapper.selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode);
+        queryWrapper.selectAs(Solutions::getId,ApplyDetail::getSolutionId);
+        queryWrapper.selectAs(Solutions::getName,ApplyDetail::getSolutionName);
+        queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName);
+        queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo);
+        queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName);
+        queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId);
+        queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId);
+        queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId);
+        queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId);
+        queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId);
+        queryWrapper.eq(ApplyDetail::getApplyId,insuranceApply.getId());
+        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,queryWrapper);
+
+        if(CollectionUtils.isNotEmpty(applyDetailList)){
+            List<MemberInsurance> memberInsuranceList = new ArrayList<>();
+            List<String> idCodeList = new ArrayList<>();
+            for (ApplyDetail applyDetail:applyDetailList) {
+                idCodeList.add(applyDetail.getIdcardNo());
+            }
+            List<ApplyDetail> allDetailList =   this.getMemberSolutionList(solutions.getParentId(),idCodeList, update.getStartTime()
+                    ,update.getEndTime(),insuranceApply.getId());
+
+            for (ApplyDetail applyDetail:applyDetailList) {
+                //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁
+                this.checkMemberSolution( applyDetail.getIdcardNo(),allDetailList,applyDetail.getMemberName());
+                MemberInsurance memberInsurance = new MemberInsurance(applyDetail,user.getId());
+                memberInsurance.setRelationType(Constants.ZERO);
+                memberInsuranceList.add(memberInsurance);
+                memberMapper.update(null,new UpdateWrapper<Member>()
+                        .lambda()
+                        .set(Member::getStartTime,memberInsurance.getStartTime())
+                        .set(Member::getEndTime,memberInsurance.getEndTime())
+                        .set(Member::getDuId,memberInsurance.getDuId())
+                        .set(Member::getWorktypeId,memberInsurance.getWorktypeId())
+                        .eq(Member::getId, memberInsurance.getMemberId())
+                );
+
+            }
+            memberInsuranceJoinMapper.insert(memberInsuranceList);
+        }
+
+        this.updateApplyCurrentFee(insuranceApply.getId(),null);
+        return  1;
+    }
+
+
+
+
+    public CountCyclePriceVO getCountCyclePriceVO(CountCyclePriceDTO countCyclePriceDTO){
+        if(Objects.isNull(countCyclePriceDTO)
+                || Objects.isNull(countCyclePriceDTO.getSolutionsId())
+                || Objects.isNull(countCyclePriceDTO.getStartDate())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        Solutions solutions = solutionsMapper.selectById(countCyclePriceDTO.getSolutionsId());
+        if(Objects.isNull(solutions)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+        }
+        return Constants.countPriceVO(countCyclePriceDTO.getStartDate(),solutions);
+    }
+
+
+
+
+    /**
+     * 鏇存柊淇濆崟瀹為檯閲戦
+     */
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public void updateApplyCurrentFee(Integer id,Integer unionId){
+        List<InsuranceApply> insuranceApplyList = insuranceApplyJoinMapper.selectJoinList(InsuranceApply.class,new MPJLambdaWrapper<InsuranceApply>()
+                .selectAll(InsuranceApply.class)
+                .eq(InsuranceApply::getIsdeleted,Constants.ZERO)
+                .in(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())
+                .eq(!Objects.isNull(id),InsuranceApply::getId,id)
+                .eq(!Objects.isNull(unionId),InsuranceApply::getUnionApplyId,unionId)
+                .le(InsuranceApply::getStartTime,DateUtil.getDate(new Date(),"yyyy-MM-dd") + " 00:00:00")
+                .ge(InsuranceApply::getEndTime,DateUtil.getDate(new Date(),"yyyy-MM-dd") + " 23:59:59")
+        );
+        if(CollectionUtils.isNotEmpty(insuranceApplyList)){
+            for (InsuranceApply insuranceApply:insuranceApplyList) {
+                Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
+                if(Objects.isNull(solutions)){
+                    continue;
+                }
+                BigDecimal sumAmount = BigDecimal.ZERO;
+                List<ApplyDetail> applyDetailList = applyDetailMapper
+                        .selectList(new QueryWrapper<ApplyDetail>().lambda()
+                                .ne(ApplyDetail::getChangeStatus,Constants.TWO)
+                                .eq(ApplyDetail::getApplyId,insuranceApply.getId()));
+                if(CollectionUtils.isNotEmpty(applyDetailList)){
+                    for (ApplyDetail applyDetail: applyDetailList) {
+                        BigDecimal fee =  Objects.isNull(insuranceApply.getServerCost())?
+                                solutions.getPrice():
+                                solutions.getPrice().add(insuranceApply.getServerCost());
+                        //鍦ㄥ紑濮嬬粨鏉熸棩鏈熶箣闂�
+                        if(applyDetail.getStartTime().compareTo(new Date()) <= 0 && applyDetail.getEndTime().compareTo(new Date()) >= 0 ){
+                            applyDetail.setCurrentFee(Constants.produceFee(solutions,fee,insuranceApply.getStartTime(),insuranceApply.getFinalEndTime(),applyDetail.getStartTime()));
+                            applyDetailMapper.updateById(applyDetail);
+                        }else  if(applyDetail.getStartTime().compareTo(new Date()) <= 0&&applyDetail.getEndTime().compareTo(new Date()) <= 0){
+                            //鍦ㄧ粨鏉熸棩鏈熶箣鍚�
+                            applyDetail.setCurrentFee(applyDetail.getFee());
+                            applyDetailMapper.updateById(applyDetail);
+                        }
+                        if(Constants.equalsInteger(applyDetail.getChangeStatus(),Constants.ZERO) || applyDetail.getEndTime().getTime()>System.currentTimeMillis()){
+                            sumAmount = sumAmount.add(applyDetail.getCurrentFee());
+                        }
+                    }
+                }
+                insuranceApply.setCurrentFee(sumAmount);
+                insuranceApplyMapper.updateById(insuranceApply);
+            }
+        }
+    }
+
+
+
+    public  List<ApplyDetail>  getMemberSolutionList(Integer solutionParentId,List<String> idCodeList, Date startTime,Date endTime,Integer applyId){
+        List<ApplyDetail> applyDetailList = new ArrayList<ApplyDetail>();
+        try {
+            applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,
+                    new MPJLambdaWrapper<ApplyDetail>()
+                            .selectAll(ApplyDetail.class)
+                            .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode)
+                            .selectAs(Company::getName,ApplyDetail::getCompanyName)
+                            .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
+                            .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+                            .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
+                            .in(ApplyDetail::getIdcardNo,idCodeList)
+                            .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
+                            .eq(Solutions::getParentId,solutionParentId)
+                            .ne(Objects.nonNull(applyId),InsuranceApply::getId,applyId)
+                            .notIn(InsuranceApply::getStatus
+                                    ,Constants.InsuranceApplyStatus.FAIL_RETURN.getKey()
+                                    ,Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey()
+                                    ,Constants.InsuranceApplyStatus.CLOSE.getKey()
+                                    ,Constants.InsuranceApplyStatus.WTB_RETURN.getKey()
+                                    ,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() )
+                            .apply(" ( " +
+                                    " '"+DateUtil.getPlusTime(startTime)+"'  <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(endTime)+"' " +
+                                    " or " +
+                                    "  ( '"+DateUtil.getPlusTime(startTime)+"' < t.end_time AND t.end_time < '"+DateUtil.getPlusTime(endTime)+"' )  " +
+                                    " or " +
+                                    " ( '"+DateUtil.getPlusTime(startTime)+"' > t.start_time AND '"+DateUtil.getPlusTime(endTime)+"' < t.end_time )" +
+                                    " ) " ));
+        }catch (Exception e){
+        }
+        return applyDetailList;
+    }
+
+
+    /**
+     * 鏌ヨ 浼氬憳淇℃伅鍦ㄦ柟妗堜笅鏄惁瀛樺湪鍐茬獊鏁版嵁
+     */
+    public void checkMemberSolution(String idCode,List<ApplyDetail> allDetailList,String memberName){
+        List<ApplyDetail> applyDetailList = getMemberSolutionListByIdcode(idCode,allDetailList);
+        if(applyDetailList.size() >Constants.ZERO){
+            String companyName = applyDetailList.get(Constants.ZERO).getCompanyName();
+            if(StringUtils.isNotBlank(companyName)){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝凡鍦ㄣ��"+companyName+"銆戝瓨鍦ㄤ繚闄�,璇疯仈绯诲鏈嶇‘璁�");
+            }else{
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝湪璇ヤ繚闄╂柟妗堜笅宸插瓨鍦ㄦ姇淇濊褰曪紝鏃犳硶杩涜璇ユ搷浣�");
+            }
+
+        };
+    }
+
+    private List<ApplyDetail> getMemberSolutionListByIdcode(String idCode, List<ApplyDetail> allDetailList) {
+        if(allDetailList == null || allDetailList.size()==0){
+            return  new ArrayList<>();
+        }
+        List<ApplyDetail> list = new ArrayList<>();
+        for(ApplyDetail d : allDetailList){
+            if(StringUtils.equals(d.getIdcardNo(),idCode)){
+                list.add(d);
+            }
+        }
+        return list;
+    }
+}
+
+
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 809135f..047a10c 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
@@ -58,7 +58,6 @@
 public class InsuranceApplyServiceImpl implements InsuranceApplyService {
     @Value("${debug_model}")
     private boolean debugModel;
-
     @Autowired
     private InsuranceApplyMapper insuranceApplyMapper;
     @Autowired
@@ -92,11 +91,7 @@
     @Autowired
     private MemberJoinMapper memberJoinMapper;
     @Autowired
-    private DuSolutionMapper duSolutionMapper;
-    @Autowired
     private DuSolutionJoinMapper duSolutionJoinMapper;
-    @Autowired
-    private DuWorktypeMapper duWorktypeMapper;
     @Autowired
     private DuWorkTypeJoinMapper duWorkTypeJoinMapper;
     @Autowired
@@ -115,230 +110,10 @@
     private SystemUserMapper systemUserMapper;
     @Autowired
     private CompanyDepartmentMapper companyDepartmentMapper;
-    @Autowired
-    private InsuranceMapper insuranceMapper;
-
-    @Override
-    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
-    public Integer back(InsuranceApply insuranceApply) {
-        if(insuranceApply.getId() == null ||StringUtils.isBlank(insuranceApply.getCheckInfo())){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
-        }
-        InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
-        if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
-            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
-        }
-        Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
-        if(Objects.isNull(solutions)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
-        }
-        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        InsuranceApply update = new InsuranceApply();
-        if(Constants.equalsInteger(solutions.getType(),Constants.ZERO)){
-            if(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
-                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
-            }
-            update.setStatus(Constants.InsuranceApplyStatus.FAIL_RETURN.getKey());
-        }else{
-            if( !(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_MEMBER_LIST_SIGNATURE.getKey())
-            || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_APPLY_SIGNATURE.getKey())
-            || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey()))){
-                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
-            }
-            update.setStatus(Constants.InsuranceApplyStatus.WTB_RETURN.getKey());
-        }
-        update.setEditDate(new Date());
-        update.setEditor(user.getId());
-        update.setCheckDate(update.getEditDate());
-        update.setCheckInfo(insuranceApply.getCheckInfo());
-        update.setCheckUserId(user.getId());
-        update.setId(model.getId());
-        insuranceApplyMapper.updateById(update);
-        //瀛樺偍寰呭姙淇℃伅
-        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
-        //鍒犻櫎鍏朵粬寰呭姙
-        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
-                .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
-                .eq(Notices::getObjId,insuranceApply.getId()));
-        Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(),
-                model.getCompanyId(), Constants.NoticeType.FOUR);
-        noticesMapper.insert(notices);
-        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PLATFORM_RETURN;
-        String info =applyLogType.getInfo();
-        info = info.replace("${param}", update.getCheckInfo());
-        ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
-        applyLogMapper.insert(log);
-        return  1;
-
-    }
-    @Override
-    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
-    public Integer closeWtbForShop(InsuranceApply insuranceApply) {
-        if(insuranceApply.getId() == null ||StringUtils.isBlank(insuranceApply.getCheckInfo())){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
-        }
-        InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
-
-        if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
-            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
-        }
-        //鍙湁瀹℃牳閫氳繃鐨勭姸鎬佸彲鍏抽棴
-        if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_BUSINESS_CHECK_PASS.getKey())){
-            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
-        }
-        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        InsuranceApply update = new InsuranceApply();
-        update.setEditDate(new Date());
-        update.setEditor(user.getId());
-        update.setStatus(Constants.InsuranceApplyStatus.WTB_CLOSED.getKey());
-        update.setCheckDate(update.getEditDate());
-        update.setCheckInfo(insuranceApply.getCheckInfo());
-        update.setCheckUserId(user.getId());
-        update.setId(model.getId());
-        insuranceApplyMapper.updateById(update);
-
-        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.SHOP_CLOSE_WTB_APPLY;
-        String info =applyLogType.getInfo();
-        info = info.replace("${param}", update.getCheckInfo());
-        ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
-        applyLogMapper.insert(log);
-        return  1;
-    }
-
-    @Override
-    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
-    public Integer uploadBaoxiandan(InsuranceApply insuranceApply) {
-        if(insuranceApply.getId() == null
-                || insuranceApply.getCode() == null
-                || insuranceApply.getStartTime() == null
-                || insuranceApply.getBaoxiandanFile() == null
-                ||StringUtils.isBlank( insuranceApply.getBaoxiandanFile() .getFileurl())
-                ||StringUtils.isBlank( insuranceApply.getBaoxiandanFile() .getName())){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
-        }
-        InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
-        if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
-            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
-        }
-        if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.SIGNATURE.getKey())){
-            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
-        }
-        if(model.getApplyEndTime()== null || model.getStartTime().getTime()>model.getApplyEndTime().getTime() ){
-            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风敓鏁堝懆鏈熸椂闂翠笉绗﹀悎瑕佹眰锛岃纭鍚庝慨鏀归噸璇晘");
-        }
-        Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
-        if(Objects.isNull(solutions)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
-        }
-        //璁$畻瀹為檯鎴鏃堕棿
-        Date actEndTime = new Date(model.getApplyEndTime().getTime() + (insuranceApply.getStartTime().getTime() - model.getApplyStartTime().getTime()));
-        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        InsuranceApply update = new InsuranceApply();
-        update.setEditDate(new Date());
-        update.setEditor(user.getId());
-        update.setStatus(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey());
-        update.setCheckDate(update.getEditDate());
-        update.setCheckInfo(insuranceApply.getCheckInfo());
-        update.setCheckUserId(user.getId());
-        update.setId(model.getId());
-        update.setCode(insuranceApply.getCode());
-        update.setEndTime(actEndTime);
-        update.setStartTime(insuranceApply.getStartTime());
-        CountCyclePriceDTO countCyclePriceDTO = new CountCyclePriceDTO();
-        countCyclePriceDTO.setSolutionsId(model.getSolutionId());
-        countCyclePriceDTO.setStartDate(insuranceApply.getStartTime());
-        update.setFinalEndTime(this.getCountCyclePriceVO(countCyclePriceDTO).getEndDate());
-        insuranceApplyMapper.updateById(update);
-
-        //淇敼鏄庣粏琛岀殑寮�濮嬬粨鏉熸棩鏈�
-        applyDetailMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda()
-                .set(ApplyDetail::getStartTime,insuranceApply.getStartTime())
-                .set(ApplyDetail::getEndTime,actEndTime)
-                .eq(ApplyDetail::getApplyId,model.getId()));
-
-        multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda()
-                .eq(Multifile::getIsdeleted,Constants.ZERO)
-                .eq(Multifile::getObjType,Constants.MultiFile.BD_DONE_PDF.getKey())
-                .eq(Multifile::getObjId,update.getId())
-                .set(Multifile::getIsdeleted,Constants.ONE)
-                .set(Multifile::getEditDate,update.getEditDate())
-                .set(Multifile::getEditor,update.getEditor())
-        );
-
-        insuranceApply.getBaoxiandanFile().setIsdeleted(Constants.ZERO);
-        insuranceApply.getBaoxiandanFile().setCreator(user.getId());
-        insuranceApply.getBaoxiandanFile().setObjId(update.getId());
-        insuranceApply.getBaoxiandanFile().setCreateDate(update.getEditDate());
-        insuranceApply.getBaoxiandanFile().setObjType(Constants.MultiFile.BD_DONE_PDF.getKey());
-        insuranceApply.getBaoxiandanFile().setType(Constants.TWO);
-        multifileMapper.insert(insuranceApply.getBaoxiandanFile());
-        update.setBaoxiandanFile(insuranceApply.getBaoxiandanFile());
-
-        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,Constants.NoticeObjectType.INSURANCE_APPLY.getKey())
-                .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
-                .eq(Notices::getObjId,insuranceApply.getId()));
-
-        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.UPLOAD_INSURANCE;
-        String info = "";
-        if(model.getApplyStartTime()!=null && model.getApplyStartTime().getTime()/1000!= insuranceApply.getStartTime().getTime()/1000){
-            info =applyLogType.getInfo();
-            info = info.replace("${param1}",DateUtil.getPlusTime2(model.getStartTime()));
-            info = info.replace("${param2}",DateUtil.getPlusTime2(insuranceApply.getStartTime()));
-        }
-        ApplyLog log = new ApplyLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
-        applyLogMapper.insert(log);
 
 
-        //瀛樺偍鍛樺伐淇℃伅鎶曚繚璁板綍
-        //鏌ヨ鍗曟嵁鏄庣粏璁板綍
-        MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>();
-        queryWrapper.selectAll(ApplyDetail.class);
-        queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName);
-        queryWrapper.selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode);
-        queryWrapper.selectAs(Solutions::getId,ApplyDetail::getSolutionId);
-        queryWrapper.selectAs(Solutions::getName,ApplyDetail::getSolutionName);
-        queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName);
-        queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo);
-        queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName);
-        queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId);
-        queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId);
-        queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId);
-        queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId);
-        queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId);
-        queryWrapper.eq(ApplyDetail::getApplyId,insuranceApply.getId());
-        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,queryWrapper);
 
-        if(CollectionUtils.isNotEmpty(applyDetailList)){
-            List<MemberInsurance> memberInsuranceList = new ArrayList<>();
-            List<String> idCodeList = new ArrayList<>();
-            for (ApplyDetail applyDetail:applyDetailList) {
-                idCodeList.add(applyDetail.getIdcardNo());
-            }
-            List<ApplyDetail> allDetailList =   this.getMemberSolutionList(solutions.getParentId(),idCodeList, update.getStartTime()
-                    ,update.getEndTime(),insuranceApply.getId());
 
-            for (ApplyDetail applyDetail:applyDetailList) {
-                //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁
-                this.checkMemberSolution( applyDetail.getIdcardNo(),allDetailList,applyDetail.getMemberName());
-                MemberInsurance memberInsurance = new MemberInsurance(applyDetail,user.getId());
-                memberInsurance.setRelationType(Constants.ZERO);
-                memberInsuranceList.add(memberInsurance);
-                memberMapper.update(null,new UpdateWrapper<Member>()
-                        .lambda()
-                        .set(Member::getStartTime,memberInsurance.getStartTime())
-                        .set(Member::getEndTime,memberInsurance.getEndTime())
-                        .set(Member::getDuId,memberInsurance.getDuId())
-                        .set(Member::getWorktypeId,memberInsurance.getWorktypeId())
-                        .eq(Member::getId, memberInsurance.getMemberId())
-                );
-
-            }
-            memberInsuranceJoinMapper.insert(memberInsuranceList);
-        }
-
-        this.updateApplyCurrentFee(insuranceApply.getId(),null);
-        return  1;
-    }
 
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -404,82 +179,7 @@
         return  1;
 
     }
-    @Override
-    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
-    public Integer dealBackApply(InsuranceApply insuranceApply) {
-        if(insuranceApply.getId() == null ||StringUtils.isBlank(insuranceApply.getCheckInfo())){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
-        }
-        InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
 
-        if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
-            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
-        }
-
-        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        Constants.ApplyLogType applyLogType = null;
-        String info = "";
-        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
-        //澶勭悊閫�鍥炵敵璇烽�氱煡
-        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
-                .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
-                .eq(Notices::getObjId,insuranceApply.getId()));
-        InsuranceApply update = new InsuranceApply();
-        if(insuranceApply.getDealBackApply() ==1){
-            //濡傛灉鏄┏鍥�,鍙兘鍙┏鍥炲凡绛剧珷鐘舵�佷笅鐨勯��鍥炵敵璇风姸鎬佽繘琛屾搷浣�
-            if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey())||
-                Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())||
-                Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())||
-                    Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey()))
-            ){
-                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
-            }
-            applyLogType = Constants.ApplyLogType.PLATFORM_UN_AGREE_BACK;
-            info = applyLogType.getInfo();
-            info = info.replace("${param}", insuranceApply.getCheckInfo());
-            if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey())){
-                update.setStatus(Constants.InsuranceApplyStatus.SIGNATURE.getKey());
-            }else if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())){
-                update.setStatus(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey());
-            }else if(  Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())){
-                update.setStatus(Constants.InsuranceApplyStatus.UPLOAD.getKey());
-            }else if(  Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey())){
-                update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey());
-            }
-        }else{
-            //濡傛灉鏄悓鎰�,涓ょ鐢宠閫�鍥炵姸鎬侀兘鍙搷浣�
-            if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey())
-                    ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())
-                    ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey()))){
-                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
-            }
-            applyLogType = Constants.ApplyLogType.PLATFORM_AGREE_BACK;
-            update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey());
-
-
-            //閫氱煡浼佷笟 宸查��鍥�
-            Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
-            if(Objects.nonNull(solutions)){
-                Notices notices = new Notices(noticeObjectType,Constants.ONE,insuranceApply.getId(),solutions.getName(),
-                        insuranceApply.getCompanyId(), Constants.NoticeType.FOUR);
-                noticesMapper.insert(notices);
-            }
-        }
-        update.setEditDate(new Date());
-        update.setEditor(user.getId());
-        update.setCheckDate(update.getEditDate());
-        update.setCheckInfo(insuranceApply.getCheckInfo());
-        update.setCheckUserId(user.getId());
-        update.setId(model.getId());
-        insuranceApplyMapper.updateById(update);
-
-
-        ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
-        applyLogMapper.insert(log);
-        return  1;
-
-
-    }
 
     @Override
     public  String getSignLink(Integer id) {
@@ -545,7 +245,6 @@
         return  link;
     }
 
-
     public String uploadSignFile(String link){
         try {
             String bucketName = systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode();
@@ -563,9 +262,7 @@
         }catch (Exception e){
         }
         return  null;
-
     }
-
 
     public Multifile   uploadSignedFileDo(InsuranceApply model,String fileurl,String fullUrl) {
         InsuranceApply update = new InsuranceApply();
@@ -597,20 +294,16 @@
         update.setCheckUserId(model.getCreator());
         update.setId(model.getId());
         insuranceApplyMapper.updateById(update);
-
         //瀛樺偍寰呭姙淇℃伅
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
-
         //鍒犻櫎鍏朵粬寰呭姙
         noticesMapper.delete(new QueryWrapper<Notices>().lambda()
                 .eq(Notices::getObjType,noticeObjectType.getKey())
                 .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
                 .eq(Notices::getObjId,model.getId()));
-
         //骞冲彴寰呭姙
         Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),model.getSolutionsName(),model.getCompanyId(),Constants.NoticeType.TWO);
         noticesMapper.insert(notices);
-
         CompanySolution companySolution = companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>().lambda()
                 .eq(CompanySolution::getIsdeleted,Constants.ZERO)
                 .eq(CompanySolution::getSolutionId,model.getSolutionId())
@@ -623,7 +316,6 @@
                     model.getId(),model.getSolutionsName(),companySolution.getShopId(),Constants.NoticeType.ZERO);
             noticesMapper.insert(shopNotices);
         }
-
         Multifile f = new Multifile();
         f.setIsdeleted(Constants.ZERO);
         f.setCreator(model.getCreator());
@@ -659,7 +351,6 @@
         update.setCheckInfo("浼佷笟瀹屾垚绛剧讲鏂规纭涔�");
         update.setId(model.getId());
         insuranceApplyMapper.updateById(update);
-
         Multifile f = new Multifile();
         f.setIsdeleted(Constants.ZERO);
         f.setCreator(model.getCreator());
@@ -672,7 +363,6 @@
         f.setInfo("浼佷笟瀹屾垚绛剧讲鏂规纭涔�");
         f.setName("鏂规纭涔�.pdf");
         multifileMapper.insert(f);
-
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.WTB_FINISH_FAQRS;
         ApplyLog log = new ApplyLog(model,applyLogType.getName(), null
                 ,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
@@ -697,7 +387,6 @@
         update.setCheckUserId(model.getCreator());
         update.setId(model.getId());
         insuranceApplyMapper.updateById(update);
-
         Multifile f = new Multifile();
         f.setIsdeleted(Constants.ZERO);
         f.setCreator(model.getCreator());
@@ -710,7 +399,6 @@
         f.setInfo("濮旀墭淇濅紒涓氬畬鎴愮缃叉姇淇濈敵璇蜂功");
         f.setName("鎶曚繚鐢宠涔�.pdf");
         multifileMapper.insert(f);
-
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.SIGNATURE;
         ApplyLog log = new ApplyLog(update,applyLogType.getName(), null
                 ,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
@@ -734,7 +422,6 @@
         update.setCheckUserId(model.getCreator());
         update.setId(model.getId());
         insuranceApplyMapper.updateById(update);
-
         Multifile f = new Multifile();
         f.setIsdeleted(Constants.ZERO);
         f.setCreator(model.getCreator());
@@ -747,15 +434,11 @@
         f.setInfo("浼佷笟瀹屾垚绛剧讲浜哄憳鍚嶅崟");
         f.setName("浜哄憳鍚嶅崟.pdf");
         multifileMapper.insert(f);
-
-
-
         //鏁版嵁鏃ュ織
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.WTB_FINISH_MEMBER_LIST;
         ApplyLog log = new ApplyLog(model,applyLogType.getName(), null
                 ,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
         applyLogMapper.insert(log);
-
         Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
         //寰呭姙閫氱煡
         if(Objects.nonNull(solutions)&&Objects.nonNull(solutions.getShopId())){
@@ -765,12 +448,9 @@
             notices.setParam1(model.getId().toString());
             noticesMapper.insert(notices);
         }
-
-
         return  f;
     }
-    
-    
+
     public Multifile  uploadChangeSignedFileDo(ApplyChange model,String fileurl,String fullurl) {
         Integer companyId = model.getCompanyId();
         ApplyChange update = new ApplyChange();
@@ -782,7 +462,6 @@
         update.setCheckUserId(model.getCreator());
         update.setId(model.getId());
         applyChangeMapper.updateById(update);
-
         //瀛樺偍寰呭姙淇℃伅
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE;
         if(model.getType().equals(Constants.ONE)){
@@ -796,7 +475,6 @@
                 companyId, Constants.NoticeType.TWO);
         notices.setParam1(model.getApplyId().toString());
         noticesMapper.insert(notices);
-
         Solutions solutions = solutionsMapper.selectById(model.getSolutionsId());
         //鍟嗘埛寰呭姙
         if(Objects.nonNull(solutions)&&Objects.nonNull(solutions.getShopId())){
@@ -805,7 +483,6 @@
             notices.setParam1(model.getApplyId().toString());
             noticesMapper.insert(shopNotices);
         }
-
         Multifile f = new Multifile();
         f.setIsdeleted(Constants.ZERO);
         f.setCreator(model.getCreator());
@@ -818,15 +495,12 @@
         f.setInfo("浼佷笟鐢宠琛ㄧ缃叉枃浠�");
         f.setName("绛剧珷鐢宠琛�.pdf");
         multifileMapper.insert(f);
-
         Constants.ApplyLogType applyLogType =Constants.equalsInteger(Constants.ZERO,model.getType())? Constants.ApplyLogType.CA_JIAJIAN_APPLY_SIGN: Constants.ApplyLogType.CA_CHANGUNIT_APPLY_SIGN;
         ApplyLog log = new ApplyLog(update,applyLogType.getName(), null,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
         applyLogMapper.insert(log);
-
         startSendEmail(f,model.getCompanyName(),model.getSolutionsName(),model.getSolutionEmail());
         return f;
     }
-
 
     public Multifile  uploadChangeMemberListSignedFileDo(ApplyChange model,String fileurl,String fullurl) {
         ApplyChange update = new ApplyChange();
@@ -838,7 +512,6 @@
         update.setCheckUserId(model.getCreator());
         update.setId(model.getId());
         applyChangeMapper.updateById(update);
-
         Multifile f = new Multifile();
         f.setIsdeleted(Constants.ZERO);
         f.setCreator(model.getCreator());
@@ -855,12 +528,9 @@
         f.setInfo("浼佷笟瀹屾垚绛剧讲浜哄憳鍚嶅崟");
         f.setName("绛剧珷浜哄憳鍚嶅崟.pdf");
         multifileMapper.insert(f);
-
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_WTB_FINISH_MEMBER_LIST;
         ApplyLog log = new ApplyLog(update,applyLogType.getName(), null,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
         applyLogMapper.insert(log);
-
-
         Solutions solutions = solutionsMapper.selectById(model.getSolutionsId());
         //寰呭姙閫氱煡
         if(Objects.nonNull(solutions)&&Objects.nonNull(solutions.getShopId())){
@@ -906,8 +576,6 @@
         f.setInfo("鍟嗘埛绛剧讲鎶曚繚鍗�");
         f.setName("鍟嗘埛绛剧讲鎶曚繚鍗�.pdf");
         multifileMapper.insert(f);
-
-
         List<InsuranceApply> insuranceApplyList = insuranceApplyJoinMapper.selectList(new QueryWrapper<InsuranceApply>().
                 lambda().eq(InsuranceApply::getUnionApplyId,model.getId()));
         if(CollectionUtils.isNotEmpty(insuranceApplyList)){
@@ -922,7 +590,6 @@
                 f.setInfo("鎶曚繚鍗�");
                 f.setName("鎶曚繚鍗�.pdf");
                 multifileMapper.insert(f);
-
                 insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda()
                         .set(InsuranceApply::getUnionApplyTbdStatus,Constants.TWO)
                         .set(InsuranceApply::getEditDate,new Date())
@@ -930,13 +597,10 @@
                 );
             }
         }
-
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.IA_HBD_SIGNATURE_TBD;
         ApplyLog log = new ApplyLog(model,applyLogType.getName(), null
                 ,model.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(model));
         applyLogMapper.insert(log);
-
-
         return  f;
     }
 
@@ -955,7 +619,6 @@
         update.setStatus(Constants.UnionChangeStatus.UPLOAD_INSURANCE_POLICY.getKey());
         update.setId(model.getId());
         unionChangeJoinMapper.updateById(update);
-
         Multifile f = new Multifile();
         f.setIsdeleted(Constants.ZERO);
         f.setCreator(model.getCreator());
@@ -968,15 +631,12 @@
         f.setInfo("鎶曚繚鐢宠鍗� -鐢宠鍗�");
         f.setName("鎶曚繚鐢宠鍗�.pdf");
         multifileMapper.insert(f);
-
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_HBD_SIGNATURE_TBD;
         ApplyLog log = new ApplyLog(model,applyLogType.getName(), null
                 ,model.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(model));
         applyLogMapper.insert(log);
-
         return  f;
     }
-
 
     public Multifile   uploadContractFirstSignedFileDo(Contract model,String fileurl,String fullUrl) {
         Contract update = new Contract();
@@ -986,7 +646,6 @@
         update.setStatus(Constants.equalsInteger(model.getType(),Constants.ZERO)?Constants.ONE:Constants.THREE);
         update.setId(model.getId());
         contractJoinMapper.updateById(update);
-
         Multifile f = new Multifile();
         f.setIsdeleted(Constants.ZERO);
         f.setCreator(model.getCreator());
@@ -999,7 +658,6 @@
         f.setInfo("鍚堝悓绛剧讲鏂囦欢");
         f.setName("鍚堝悓绛剧讲鏂囦欢.pdf");
         multifileMapper.insert(f);
-
         //瀛樺偍寰呭姙淇℃伅
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.CONTRACT;
         //鍒犻櫎鍏朵粬寰呭姙
@@ -1028,8 +686,6 @@
         return noticeInfo;
     }
 
-
-
     public Multifile  uploadContractDoneSignedFileDo(Contract model,String fileurl,String fullUrl) {
         Contract update = new Contract();
         update.setEditDate(new Date());
@@ -1038,7 +694,6 @@
         update.setStatus(Constants.THREE);
         update.setId(model.getId());
         contractJoinMapper.updateById(update);
-
         Multifile f = new Multifile();
         f.setIsdeleted(Constants.ZERO);
         f.setCreator(model.getCreator());
@@ -1051,14 +706,12 @@
         f.setInfo("鍚堝悓绛剧讲鏂囦欢");
         f.setName("鍚堝悓绛剧讲鏂囦欢.pdf");
         multifileMapper.insert(f);
-
         //瀛樺偍寰呭姙淇℃伅
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.CONTRACT;
         //鍒犻櫎鍏朵粬寰呭姙
         noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
                 .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
                 .eq(Notices::getObjId,model.getId()));
-
         return  f;
     }
 
@@ -1073,7 +726,6 @@
         update.setSignDate(new Date());
         update.setId(model.getId());
         companySolutionMapper.updateById(update);
-
         Multifile f = new Multifile();
         f.setIsdeleted(Constants.ZERO);
         f.setCreator(model.getCreator());
@@ -1086,7 +738,6 @@
         f.setInfo("鏂规纭涔�");
         f.setName("鏂规纭涔�.pdf");
         multifileMapper.insert(f);
-
         //瀛樺偍寰呭姙淇℃伅
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SOLUTIONS;
         //鍒犻櫎鍏朵粬寰呭姙
@@ -1096,9 +747,6 @@
 
         return  f;
     }
-
-
-
 
     private void startSendEmail(Multifile f, String companyName, String solutionsName, String solutionEmail) {
         if(StringUtils.isBlank(solutionEmail) || f==null|| StringUtils.isBlank(f.getFileurl())){
@@ -1119,7 +767,6 @@
             file.delete();//鍙戦�佸悗鍒犻櫎涓存椂鏂囦欢
         }
     }
-
 
     @Override
     public void testSendEmail(){
@@ -1199,7 +846,6 @@
 //                return;
             }
         }
-
         //濮旀墭淇� 浼佷笟绛剧讲浜哄憳鍚嶅崟
         applyList = insuranceApplyJoinMapper.selectJoinList(InsuranceApply.class,
                 new MPJLambdaWrapper<InsuranceApply>()
@@ -1258,9 +904,6 @@
 //                return;
             }
         }
-        
-        
-
         List<ApplyChange> chagneList = applyChangeMapper.selectJoinList(ApplyChange.class,
                 new MPJLambdaWrapper<ApplyChange>()
                 .selectAll(ApplyChange.class)
@@ -1291,7 +934,6 @@
 //                return;
             }
         }
-
         //濮旀墭淇� 鍔犲噺淇�/鎹㈠巶 绛剧讲浜哄憳鍚嶅崟
         chagneList = applyChangeMapper.selectJoinList(ApplyChange.class,
                 new MPJLambdaWrapper<ApplyChange>()
@@ -1323,12 +965,6 @@
 //                return;
             }
         }
-
-
-
-        /**
-         *鍚堝苟鎶曚繚鍗� 绛剧讲涓氬姟
-         */
         List<UnionApply> unionApplyList = unionApplyJoinMapper.selectJoinList(UnionApply.class,
                 new MPJLambdaWrapper<UnionApply>()
                         .selectAll(UnionApply.class)
@@ -1349,10 +985,6 @@
                 uploadUnionApplySignedFileDo(model,fileUrl,path+fileUrl);
             }
         }
-
-        /**
-         *鍚堝苟鍔犲噺淇濇崲鍘� 绛剧讲涓氬姟
-         */
         List<UnionChange> unionChangeList = unionChangeJoinMapper.selectJoinList(UnionChange.class,
                 new MPJLambdaWrapper<UnionChange>()
                         .selectAll(UnionChange.class)
@@ -1373,11 +1005,6 @@
                 uploadUnionChangeSignedFileDo(model,fileUrl,path+fileUrl);
             }
         }
-
-
-        /**
-         * 鎴戞柟绛剧讲 鍚堝悓淇℃伅
-         */
         List<Contract> contractFirstList = contractJoinMapper.selectJoinList(Contract.class,
                 new MPJLambdaWrapper<Contract>()
                         .selectAll(Contract.class)
@@ -1398,11 +1025,6 @@
                 uploadContractFirstSignedFileDo(contract,fileUrl,path+fileUrl);
             }
         }
-
-
-        /**
-         * 浼佷笟/鍟嗘埛绛剧讲 鍚堝悓淇℃伅
-         */
         List<Contract> contractDoneList = contractJoinMapper.selectJoinList(Contract.class,
                 new MPJLambdaWrapper<Contract>()
                         .selectAll(Contract.class)
@@ -1423,10 +1045,6 @@
                 uploadContractDoneSignedFileDo(contract,fileUrl,path+fileUrl);
             }
         }
-
-        /**
-         * 浼佷笟 鏂规纭涔︾缃�
-         */
         List<CompanySolution> companySolutionList = companySolutionMapper.selectList(
                 new QueryWrapper<CompanySolution>().lambda()
                         .eq(CompanySolution::getSignStatus,Constants.ZERO)
@@ -1903,75 +1521,6 @@
     }
 
 
-    @Override
-    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
-    public Integer uploadToubaodan(InsuranceApply insuranceApply) {
-        if(insuranceApply.getId() == null
-                || insuranceApply.getToubaodanFile() == null
-                ||StringUtils.isBlank( insuranceApply.getToubaodanFile() .getFileurl())
-                ||StringUtils.isBlank( insuranceApply.getToubaodanFile() .getName())){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
-        }
-        InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
-        if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
-            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
-        }
-        if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())
-                || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())
-                || Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()))){
-            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
-        }
-
-        Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
-        if(Objects.isNull(solutions)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
-        }
-
-        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        InsuranceApply update = new InsuranceApply();
-        update.setEditDate(new Date());
-        update.setEditor(user.getId());
-        update.setStatus(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey());
-        update.setCheckDate(update.getEditDate());
-        update.setCheckInfo(insuranceApply.getCheckInfo());
-        update.setCheckUserId(user.getId());
-        update.setId(model.getId());
-        insuranceApplyMapper.updateById(update);
-
-        multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda()
-                .eq(Multifile::getIsdeleted,Constants.ZERO)
-                .eq(Multifile::getObjType,Constants.MultiFile.BD_APPLY_PDF.getKey())
-                .eq(Multifile::getObjId,update.getId())
-                .set(Multifile::getIsdeleted,Constants.ONE)
-                .set(Multifile::getEditDate,update.getEditDate())
-                .set(Multifile::getEditor,update.getEditor())
-        );
-        insuranceApply.getToubaodanFile().setIsdeleted(Constants.ZERO);
-        insuranceApply.getToubaodanFile().setCreator(user.getId());
-        insuranceApply.getToubaodanFile().setObjId(update.getId());
-        insuranceApply.getToubaodanFile().setCreateDate(update.getEditDate());
-        insuranceApply.getToubaodanFile().setObjType(Constants.MultiFile.BD_APPLY_PDF.getKey());
-        insuranceApply.getToubaodanFile().setType(Constants.TWO);
-        multifileMapper.insert(insuranceApply.getToubaodanFile());
-        update.setToubaodanFile(insuranceApply.getToubaodanFile());
-
-        Constants.ApplyLogType applyLogType = Constants.ApplyLogType.WAIT_SIGNATURE;
-        String info =applyLogType.getInfo();
-//        info = info.replace("${param}", update.getCheckInfo());
-        ApplyLog log = new ApplyLog(update,applyLogType.getName(),StringUtils.isNotBlank(update.getCheckInfo())?info:"",update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
-        applyLogMapper.insert(log);
-
-        //鍒犻櫎鍏朵粬寰呭姙
-        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
-        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,insuranceApply.getId()));
-
-        Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(),
-                model.getCompanyId(), Constants.NoticeType.ONE);
-        noticesMapper.insert(notices);
-
-        return  1;
-
-    }
 
     /**
      * 瀹℃牳閫氳繃鎴栬�呬笉閫氳繃
@@ -2568,47 +2117,48 @@
 
         };
     }
-    @Override
-    public void checkMemberSolutionOld(Integer solutionParentId,String idCode, String memberName, Date startTime,Date endTime,Integer applyId){
-        List<ApplyDetail> applyDetailList = new ArrayList<>();
-        try {
-            applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,
-                    new MPJLambdaWrapper<ApplyDetail>()
-                            .selectAll(ApplyDetail.class)
-                            .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode)
-                            .selectAs(Company::getName,ApplyDetail::getCompanyName)
-                            .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
-                            .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
-                            .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
-                            .eq(ApplyDetail::getIdcardNo,idCode)
-                            .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
-                            .eq(Solutions::getParentId,solutionParentId)
-                            .ne(Objects.nonNull(applyId),InsuranceApply::getId,applyId)
-                            .notIn(InsuranceApply::getStatus
-                                    ,Constants.InsuranceApplyStatus.FAIL_RETURN.getKey()
-                                    ,Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey()
-                                    ,Constants.InsuranceApplyStatus.CLOSE.getKey()
-                                    ,Constants.InsuranceApplyStatus.WTB_RETURN.getKey()
-                                    ,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() )
-                            .apply(" ( " +
-                                    " '"+DateUtil.getPlusTime(startTime)+"'  <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(endTime)+"' " +
-                                    " or " +
-                                    "  ( '"+DateUtil.getPlusTime(startTime)+"' < t.end_time AND t.end_time < '"+DateUtil.getPlusTime(endTime)+"' )  " +
-                                    " or " +
-                                    " ( '"+DateUtil.getPlusTime(startTime)+"' > t.start_time AND '"+DateUtil.getPlusTime(endTime)+"' < t.end_time )" +
-                                    " ) " ));
-        }catch (Exception e){
-        }
-        if(applyDetailList.size() >Constants.ZERO){
-            String companyName = applyDetailList.get(Constants.ZERO).getCompanyName();
-            if(StringUtils.isNotBlank(companyName)){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝凡鍦ㄣ��"+companyName+"銆戝瓨鍦ㄤ繚闄�,璇疯仈绯诲鏈嶇‘璁�");
-            }else{
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝湪璇ヤ繚闄╂柟妗堜笅宸插瓨鍦ㄦ姇淇濊褰曪紝鏃犳硶杩涜璇ユ搷浣�");
-            }
 
-        };
-    }
+//    @Override
+//    public void checkMemberSolutionOld(Integer solutionParentId,String idCode, String memberName, Date startTime,Date endTime,Integer applyId){
+//        List<ApplyDetail> applyDetailList = new ArrayList<>();
+//        try {
+//            applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,
+//                    new MPJLambdaWrapper<ApplyDetail>()
+//                            .selectAll(ApplyDetail.class)
+//                            .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode)
+//                            .selectAs(Company::getName,ApplyDetail::getCompanyName)
+//                            .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
+//                            .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+//                            .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
+//                            .eq(ApplyDetail::getIdcardNo,idCode)
+//                            .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
+//                            .eq(Solutions::getParentId,solutionParentId)
+//                            .ne(Objects.nonNull(applyId),InsuranceApply::getId,applyId)
+//                            .notIn(InsuranceApply::getStatus
+//                                    ,Constants.InsuranceApplyStatus.FAIL_RETURN.getKey()
+//                                    ,Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey()
+//                                    ,Constants.InsuranceApplyStatus.CLOSE.getKey()
+//                                    ,Constants.InsuranceApplyStatus.WTB_RETURN.getKey()
+//                                    ,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() )
+//                            .apply(" ( " +
+//                                    " '"+DateUtil.getPlusTime(startTime)+"'  <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(endTime)+"' " +
+//                                    " or " +
+//                                    "  ( '"+DateUtil.getPlusTime(startTime)+"' < t.end_time AND t.end_time < '"+DateUtil.getPlusTime(endTime)+"' )  " +
+//                                    " or " +
+//                                    " ( '"+DateUtil.getPlusTime(startTime)+"' > t.start_time AND '"+DateUtil.getPlusTime(endTime)+"' < t.end_time )" +
+//                                    " ) " ));
+//        }catch (Exception e){
+//        }
+//        if(applyDetailList.size() >Constants.ZERO){
+//            String companyName = applyDetailList.get(Constants.ZERO).getCompanyName();
+//            if(StringUtils.isNotBlank(companyName)){
+//                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝凡鍦ㄣ��"+companyName+"銆戝瓨鍦ㄤ繚闄�,璇疯仈绯诲鏈嶇‘璁�");
+//            }else{
+//                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝湪璇ヤ繚闄╂柟妗堜笅宸插瓨鍦ㄦ姇淇濊褰曪紝鏃犳硶杩涜璇ユ搷浣�");
+//            }
+//
+//        };
+//    }
     private List<ApplyDetail> getMemberSolutionListByIdcode(String idCode, List<ApplyDetail> allDetailList) {
         if(allDetailList == null || allDetailList.size()==0){
             return  new ArrayList<>();
@@ -2961,7 +2511,7 @@
         PageData<InsuranceApply> pageData = PageData.from(insuranceApplyJoinMapper.selectJoinPage(page,InsuranceApply.class, queryWrapper));
         if(pageData.getRecords()!=null){
             for (InsuranceApply apply : pageData.getRecords()){
-                initApplyStatus(apply) ;
+                Constants.initApplyStatus(apply) ;
                 apply.setChangeMoney(Constants.getTwoPoint(apply.getChangeMoney()));
                 apply.setFee(Constants.getTwoPoint(apply.getFee()));
              }
@@ -2969,29 +2519,7 @@
         return pageData;
     }
 
-    public void    initApplyStatus(InsuranceApply apply){
-        apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus()));
-        if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
-        || Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())){
-            //濡傛灉宸插畬鎴�
-            if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){
-                apply.setStatusCollect(Constants.THREE);//宸茶繃鏈�
-            }
-        }
-        setServiceDays(apply);
-        apply.setStatusInfo(Constants.ApplyCollectStatus.getName(apply.getStatusCollect()));
-        if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
-                || Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()) ){
-            if(apply.getStartTime().getTime()>System.currentTimeMillis()){
-                apply.setStatusInfo("寰呯敓鏁�");
-            }else if(apply.getEndTime().getTime()<System.currentTimeMillis()){
-                apply.setStatusInfo("宸茶繃鏈�");
-            }else{
-                apply.setStatusInfo("淇濋殰涓�");
-            }
-        }
 
-    }
 
     @Override
     public List<InsuranceApply> findListByDTO(InsuranceApplyQueryDTO model) {
@@ -3185,7 +2713,7 @@
         if(insuranceApply.getStartTime().compareTo(new Date())<0  && insuranceApply.getEndTime().compareTo(new Date()) > 0 ){
             insuranceApply.setLoseEfficacyDays(DateUtil.daysBetweenDates(insuranceApply.getEndTime(),new Date()));
         }
-        initApplyStatus(insuranceApply);
+        Constants.initApplyStatus(insuranceApply);
         //鏌ヨ闄勪欢鏁版嵁
         initImgData(insuranceApply);
         insuranceApply.setChangeMoney(Constants.getTwoPoint(insuranceApply.getChangeMoney()));
@@ -3206,29 +2734,11 @@
         insuranceApply.setApplyLogList(applyLogList);
     }
 
-    private void setServiceDays(InsuranceApply insuranceApply) {
-        //璁剧疆鍦ㄤ繚鏃堕暱锛堝ぉ鏁帮級
-        insuranceApply.setServiceDays(Constants.ZERO);
-        if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
-        || insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WTB_DONE.getKey())){
-            //濡傛灉褰撳墠鏃堕棿澶т簬缁撴潫鏃ユ湡 鍒欎娇鐢ㄧ粨鏉熸棩鏈熷姣斿紑濮嬫棩鏈�
-            if(DateUtil.compareDate(new Date(),insuranceApply.getEndTime())>=Constants.ZERO){
-                insuranceApply.setServiceDays(
-                        DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime())+1
-                );
-            }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){
-                //鏈紑濮�
-                insuranceApply.setServiceDays(Constants.ZERO);
-            }else{
-                insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime())+1);
-            }
-        }
-    }
+
 
     private void initImgData(InsuranceApply model) {
         String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
                 +systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode();
-
         //鏌ヨ鏂规纭涔�
         CompanySolution companySolution =companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>().lambda().eq(CompanySolution::getSolutionId,model.getSolutionId()).eq(CompanySolution::getCompanyId,model.getCompanyId()).last("limit 1"));
         if(Objects.nonNull(companySolution)){
@@ -3251,11 +2761,6 @@
                 .eq(Multifile::getIsdeleted,Constants.ZERO)
                 .orderByAsc(Multifile::getId));
         if(multifiles!=null){
-
-
-
-
-
             for(Multifile f : multifiles){
                 if(StringUtils.isBlank(f.getFileurl())){
                     continue;
@@ -3274,22 +2779,6 @@
                     //鐢宠鍗�
                     model.setShenqingdanFile(f);
                 }
-//                else if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.WTB_CONFIRMATION_LATTER.getKey())){
-//                    //绛剧讲鍚庣‘璁や功
-//                    model.setFanganFile(f);
-//                }
-
-//                if(model.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
-//                    //濡傛灉褰撳墠鏃堕棿澶т簬缁撴潫鏃ユ湡 鍒欎娇鐢ㄧ粨鏉熸棩鏈熷姣斿紑濮嬫棩鏈�
-//                    if(DateUtil.compareDate(new Date(),model.getEndTime())>=Constants.ZERO){
-//                        model.setServiceDays(DateUtil.daysBetweenDates(model.getEndTime(),model.getStartTime()));
-//                    }else if(DateUtil.compareDate(model.getStartTime(),new Date())>=Constants.ZERO){
-//                        //鏈紑濮�
-//                        model.setServiceDays(Constants.ZERO);
-//                    }else{
-//                        model.setServiceDays(DateUtil.daysBetweenDates(new Date(),model.getStartTime()));
-//                    }
-//                }
             }
         }
     }
@@ -3827,49 +3316,10 @@
         if(Objects.isNull(solutions)){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅");
         }
-        ApplyPowerVO applyPowerVO = InsuranceApplyServiceImpl.getApplyPowerStatic(applyPowerDTO,insuranceApply,solutions);
+        ApplyPowerVO applyPowerVO = Constants.getApplyPowerStatic(applyPowerDTO,insuranceApply,solutions);
         return applyPowerVO;
     }
 
-
-
-    public static ApplyPowerVO getApplyPowerStatic(ApplyPowerDTO applyPowerDTO,InsuranceApply insuranceApply,Solutions solutions){
-        if(Objects.isNull(applyPowerDTO)
-                || Objects.isNull(applyPowerDTO.getApplyId())){
-            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍙傛暟閿欒");
-        }
-        if(Objects.isNull(applyPowerDTO.getBeginDate())){
-            applyPowerDTO.setBeginDate(new Date());
-        }
-        ApplyPowerVO applyPowerVO = new ApplyPowerVO();
-        //鑾峰彇鏂规 缁撴潫鏃堕棿
-        Date endTime = insuranceApply.getEndTime();
-        //鏌ヨ褰撳墠鍘诲姞淇濈殑寮�濮嬫棩鏈�  yyyy-MM-dd HH:mm:ss 2024-10-29 00:00:00
-        Date addStartDate = DateUtil.getMontageDate(
-                DateUtil.afterDateByType(applyPowerDTO.getBeginDate(),Constants.ZERO,solutions.getAddValidDays()),
-                1
-        );
-        applyPowerVO.setAddStartDate(addStartDate);
-        //鍔犱繚鐢熸晥鏃ユ湡澶т簬 淇濆崟缁撴潫鏃ユ湡 鍒欎笉鍙互杩涜鍔犱繚
-        if(addStartDate.getTime()>=endTime.getTime()){
-            applyPowerVO.setAddTrue(Constants.ONE);
-        }else{
-            applyPowerVO.setAddTrue(Constants.ZERO);
-        }
-        //鏌ヨ褰撳墠鍘诲噺淇濈殑寮�濮嬫棩鏈�  yyyy-MM-dd HH:mm:ss 2024-10-29 00:00:00
-        Date delStartDate = DateUtil.getMontageDate(
-                DateUtil.afterDateByType(applyPowerDTO.getBeginDate(),Constants.ZERO,solutions.getAddValidDays()),
-                1
-        );
-        applyPowerVO.setDelStartDate(delStartDate);
-        //鍔犱繚鐢熸晥鏃ユ湡澶т簬 淇濆崟缁撴潫鏃ユ湡 鍒欎笉鍙互杩涜鍑忎繚
-        if(delStartDate.getTime()>=endTime.getTime()){
-            applyPowerVO.setDelTrue(Constants.ONE);
-        }else{
-            applyPowerVO.setDelTrue(Constants.ZERO);
-        }
-        return applyPowerVO;
-    }
 
 
 
diff --git a/server/shop/src/main/java/com/doumee/api/business/InsuranceApplyController.java b/server/shop/src/main/java/com/doumee/api/business/InsuranceApplyController.java
index 0a19a5e..a06fdd9 100644
--- a/server/shop/src/main/java/com/doumee/api/business/InsuranceApplyController.java
+++ b/server/shop/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -13,6 +13,7 @@
 import com.doumee.dao.business.model.InsuranceApply;
 import com.doumee.dao.business.vo.ApplyPowerVO;
 import com.doumee.dao.business.vo.CountCyclePriceVO;
+import com.doumee.service.business.InsuranceApplyOnService;
 import com.doumee.service.business.InsuranceApplyService;
 import com.doumee.service.business.impl.UnionApplyServiceImpl;
 import io.swagger.annotations.Api;
@@ -37,6 +38,9 @@
 
     @Autowired
     private InsuranceApplyService insuranceApplyService;
+
+    @Autowired
+    private InsuranceApplyOnService insuranceApplyOnService;
 
     @Autowired
     private UnionApplyServiceImpl unionApplyServiceImpl;
@@ -66,7 +70,7 @@
     @PostMapping("/back")
     @RequiresPermissions("business:insuranceapply:back")
     public ApiResponse back(@RequestBody InsuranceApply insuranceApply) {
-        return ApiResponse.success(insuranceApplyService.back(insuranceApply));
+        return ApiResponse.success(insuranceApplyOnService.back(insuranceApply));
     }
     @ApiOperation("鍒楄〃")
     @PostMapping("/findListByDTO")
@@ -79,13 +83,13 @@
     @PostMapping("/closeWtbForShop")
     @RequiresPermissions("business:insuranceapply:back")
     public ApiResponse closeWtbForShop(@RequestBody InsuranceApply insuranceApply) {
-        return ApiResponse.success(insuranceApplyService.closeWtbForShop(insuranceApply));
+        return ApiResponse.success(insuranceApplyOnService.closeWtbForShop(insuranceApply));
     }
     @ApiOperation("鍟嗘埛涓婁紶鎶曚繚鍗�")
     @PostMapping("/uploadToubaodan")
     @RequiresPermissions("business:insuranceapply:uploadToubaodan")
     public ApiResponse uploadToubaodan(@RequestBody InsuranceApply insuranceApply) {
-        return ApiResponse.success(insuranceApplyService.uploadToubaodan(insuranceApply));
+        return ApiResponse.success(insuranceApplyOnService.uploadToubaodan(insuranceApply));
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
@@ -100,13 +104,13 @@
     @PostMapping("/uploadBaoxiandan")
     @RequiresPermissions("business:insuranceapply:uploadBaoxiandan")
     public ApiResponse uploadBaoxiandan(@RequestBody InsuranceApply insuranceApply) {
-        return ApiResponse.success(insuranceApplyService.uploadBaoxiandan(insuranceApply));
+        return ApiResponse.success(insuranceApplyOnService.uploadBaoxiandan(insuranceApply));
     }
     @ApiOperation("鍟嗘埛澶勭悊閫�鍗曠敵璇�")
     @PostMapping("/dealBackApply")
     @RequiresPermissions("business:insuranceapply:dealBackApply")
     public ApiResponse dealBackApply(@RequestBody InsuranceApply insuranceApply) {
-        return ApiResponse.success(insuranceApplyService.dealBackApply(insuranceApply));
+        return ApiResponse.success(insuranceApplyOnService.dealBackApply(insuranceApply));
     }
     @ApiOperation("鍟嗘埛淇敼淇濋櫓鍗�")
     @PostMapping("/editBaoxiandan")

--
Gitblit v1.9.3