From c2cdc5a3def0fb52583cbb28788310afe679e4ee Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 21 三月 2024 18:26:26 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java |  338 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 332 insertions(+), 6 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
index b9450d7..379f7bc 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
@@ -1,35 +1,48 @@
 package com.doumee.service.business.impl;
 
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.biz.system.SystemDictDataBiz;
 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.dao.business.CompanyMapper;
+import com.doumee.dao.business.MultifileMapper;
+import com.doumee.dao.business.SolutionsMapper;
 import com.doumee.dao.business.UnionApplyMapper;
 import com.doumee.dao.business.dto.SaveUnionApplyDTO;
+import com.doumee.dao.business.dto.UnionApplyBXDDDetailTO;
+import com.doumee.dao.business.dto.UnionApplyBXDDTO;
+import com.doumee.dao.business.dto.UploadMultifileDTO;
+import com.doumee.dao.business.join.ApplyDetailJoinMapper;
 import com.doumee.dao.business.join.InsuranceApplyJoinMapper;
-import com.doumee.dao.business.model.InsuranceApply;
-import com.doumee.dao.business.model.Solutions;
-import com.doumee.dao.business.model.UnionApply;
+import com.doumee.dao.business.join.UnionApplyJoinMapper;
+import com.doumee.dao.business.model.*;
 import com.doumee.service.business.UnionApplyService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.third.SignService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import io.swagger.models.auth.In;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 鍚堝苟鎶曚繚鍗曚俊鎭〃Service瀹炵幇
@@ -43,7 +56,28 @@
     private UnionApplyMapper unionApplyMapper;
 
     @Autowired
+    private UnionApplyJoinMapper unionApplyJoinMapper;
+
+    @Autowired
+    private SolutionsMapper solutionsMapper;
+
+    @Autowired
+    private CompanyMapper companyMapper;
+
+    @Autowired
     private InsuranceApplyJoinMapper insuranceApplyJoinMapper;
+
+    @Autowired
+    private ApplyDetailJoinMapper applyDetailJoinMapper;
+
+    @Autowired
+    private MultifileMapper multifileMapper;
+
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+
+    @Autowired
+    private SignService signService;
 
     @Override
     public Integer create(UnionApply unionApply) {
@@ -222,10 +256,15 @@
         unionApply.setStartTime(saveUnionApplyDTO.getStartDate());
         unionApply.setEndTime(saveUnionApplyDTO.getEndDate());
         unionApply.setCheckDate(new Date());
-        unionApply.setStatus(Constants.UnionApplyStatus.UPLOAD.getKey());
+        unionApply.setStatus(Constants.UnionApplyStatus.MERGE.getKey());
         unionApply.setCheckUserId(user.getId());
-        unionApply.setFee(insuranceApplyList.stream().map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
         unionApply.setCurrentFee(BigDecimal.ZERO);
+
+        Integer maxDays = DateUtil.calculateBetween(saveUnionApplyDTO.getStartDate(),saveUnionApplyDTO.getEndDate(),0);
+        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().select(ApplyDetail::getPrice)
+                .in(ApplyDetail::getApplyId,saveUnionApplyDTO.getApplyIds()));
+        //unionApply.setFee(insuranceApplyList.stream().map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+        unionApply.setFee(applyDetailList.stream().map(i->i.getPrice().multiply(new BigDecimal(maxDays))).reduce(BigDecimal.ZERO,BigDecimal::add));
         unionApplyMapper.insert(unionApply);
 
         insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda()
@@ -234,16 +273,303 @@
                 .set(InsuranceApply::getCheckUserId,user.getId())
                 .in(InsuranceApply::getId,saveUnionApplyDTO.getApplyIds()));
 
+        applyDetailJoinMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda()
+                .set(ApplyDetail::getUnionApplyId,unionApply.getId())
+                .in(ApplyDetail::getApplyId,saveUnionApplyDTO.getApplyIds()));
+
     }
 
 
+    /**
+     * 鍙栨秷淇濆崟鍚堝苟
+     * @param id
+     */
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public void cancelMerge(Integer id){
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if(user.getType().equals(Constants.TWO)){
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲晢鎴风敤鎴凤紝鏃犳硶杩涜璇ユ搷浣�");
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲晢鎴风敤鎴凤紝鏃犳硶杩涜璇ユ搷浣滐紒");
+        }
+        UnionApply unionApply = unionApplyMapper.selectById(id);
+        if(Objects.isNull(unionApply)||!Constants.equalsInteger(unionApply.getIsdeleted(),Constants.ZERO)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(!unionApply.getCompanyId().equals(user.getCompanyId())){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧烽潪鎮ㄧ殑鍚堝苟鍗曪紝鎮ㄦ棤娉曡繘琛屾搷浣滐紒");
+        }
+        if(unionApply.getStatus().equals(Constants.UnionApplyStatus.FINISH.getKey())){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曚笟鍔″凡瀹岀粨锛屾偍鏃犳硶杩涜璇ユ搷浣滐紒");
+        }
+        //鍚堝苟鍗曠姸鎬佸浜庡緟鎶曚繚
+        if(unionApply.getStatus().equals(Constants.UnionApplyStatus.UPLOAD_INSURANCE_POLICY.getKey())
+        || unionApply.getStatus().equals(Constants.UnionApplyStatus.WAIT_SIGNATURE.getKey())){
+            //TODO 鍒犻櫎浼佷笟鎶曚繚鍗曠殑 绛剧讲鏁版嵁
+
+        }
+        insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda()
+                .set(InsuranceApply::getUnionApplyId,null)
+                .set(InsuranceApply::getCheckDate,new Date())
+                .set(InsuranceApply::getCheckUserId,user.getId())
+                .eq(InsuranceApply::getUnionApplyId,unionApply.getId()));
+
+
+        applyDetailJoinMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda()
+                .set(ApplyDetail::getUnionApplyId,null)
+                .eq(ApplyDetail::getUnionApplyId,unionApply.getId()));
+
+
+        unionApplyMapper.update(null,new UpdateWrapper<UnionApply>().lambda()
+                .set(UnionApply::getCheckDate,new Date())
+                .set(UnionApply::getCheckUserId,user.getId())
+                .set(UnionApply::getStatus,Constants.UnionApplyStatus.CLOSE.getKey())
+                .eq(UnionApply::getId,unionApply.getId())
+        );
+    }
+
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public void uploadToubaodan(UploadMultifileDTO uploadMultifileDTO){
+        if(uploadMultifileDTO.getBusinessId() == null
+                ||StringUtils.isBlank( uploadMultifileDTO.getFilePath())
+                ||StringUtils.isBlank( uploadMultifileDTO.getFileName())){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        UnionApply unionApply = unionApplyMapper.selectById(uploadMultifileDTO.getBusinessId());
+        if(Objects.isNull(unionApply)||!Constants.equalsInteger(unionApply.getIsdeleted(),Constants.ZERO)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(!unionApply.getCompanyId().equals(user.getCompanyId())){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧烽潪鎮ㄧ殑鍚堝苟鍗曪紝鎮ㄦ棤娉曡繘琛屾搷浣滐紒");
+        }
+        if(unionApply.getStatus().equals(Constants.UnionApplyStatus.FINISH.getKey())){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曚笟鍔″凡瀹岀粨锛屾偍鏃犳硶杩涜璇ユ搷浣滐紒");
+        }
+        if(unionApply.getStatus().equals(Constants.UnionApplyStatus.MERGE.getKey())){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曚笟鍔″凡娴佽浆锛屾偍鏃犳硶杩涜璇ユ搷浣滐紒");
         }
 
+        unionApply.setCheckDate(new Date());
+        unionApply.setCheckUserId(user.getId());
+        unionApply.setStatus(Constants.UnionApplyStatus.WAIT_SIGNATURE.getKey());
+        unionApply.setEditor(user.getId());
+        unionApply.setEditDate(new Date());
+        unionApplyMapper.updateById(unionApply);
+
+        Multifile multifile = new Multifile();
+        multifile.setIsdeleted(Constants.ZERO);
+        multifile.setCreator(user.getId());
+        multifile.setCreateDate(new Date());
+        multifile.setObjId(uploadMultifileDTO.getBusinessId());
+        multifile.setCreateDate(new Date());
+        multifile.setObjType(Constants.MultiFile.HBD_BD_SIGNED_PDF.getKey());
+        multifile.setType(Constants.TWO);
+        multifile.setFileurl(uploadMultifileDTO.getFilePath());
+        multifile.setName(uploadMultifileDTO.getFileName());
+        multifileMapper.insert(multifile);
+
     }
 
 
+    /**
+     * 鍚堝苟鍗� - 鎶曚繚鐢宠绛剧讲
+     * @param id
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public  String getSignLink(Integer id) {
+        if(id == null ){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        UnionApply unionApply = unionApplyJoinMapper.selectById(id);
+        if(unionApply == null ||!Constants.equalsInteger(unionApply.getIsdeleted(),Constants.ZERO)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        Solutions solutions = solutionsMapper.selectById(unionApply.getSolutionId());
+        if(Objects.isNull(solutions)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+        }
+
+        if(!Constants.equalsInteger(unionApply.getStatus(),Constants.UnionApplyStatus.WAIT_SIGNATURE.getKey())){
+            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悎骞跺崟鐘舵�佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+        }
+        Multifile f = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda()
+                .eq(Multifile::getObjId,unionApply.getId())
+                .eq(Multifile::getObjType,Constants.MultiFile.HBD_BD_SIGNED_PDF.getKey())
+                .eq(Multifile::getIsdeleted,Constants.ZERO)
+                .last("limit 1"));
+        if(f == null || StringUtils.isBlank(f.getFileurl())){
+            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇寰呯绔犳枃浠跺け璐ワ紝璇疯仈绯荤‘璁ゅ悎骞朵繚鍗曟槸鍚︽纭紒");
+        }
+
+        Company company =  companyMapper.selectById(unionApply.getCompanyId());
+        if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.THREE)){
+            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鍟嗘埛灏氭湭鍏峰鍦ㄧ嚎绛剧珷鏉′欢锛岃鑱旂郴骞冲彴绠$悊鍛樼‘璁");
+        }
+
+        String url = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode()+f.getFileurl();
+        String notifyUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode();
+        notifyUrl = notifyUrl.replace("${type}","0").replace("${id}", unionApply.getId().toString());
+
+        String applyNo = signService.applySign(company.getName(),url,company.getName(),company.getCode(),company.getEmail(),null,company.getSignId(),notifyUrl);
+
+        if(StringUtils.isBlank(applyNo) ){
+            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+        }
+        String link = signService.signLink(applyNo,company.getName(),company.getCode());
+        if(StringUtils.isBlank(link) ){
+            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+        }
+        UnionApply update= new UnionApply();
+        update.setId(unionApply.getId());
+        update.setEditor(user.getId());
+        update.setEditDate(new Date());
+        update.setSignApplyNo(applyNo);
+        unionApplyJoinMapper.updateById(update);
+        return  link;
+    }
+
+
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public void uploadBXD(UnionApplyBXDDTO unionApplyBXDDTO){
+        if(Objects.isNull(unionApplyBXDDTO)
+            || Objects.isNull(unionApplyBXDDTO.getId())
+            || Objects.isNull(unionApplyBXDDTO.getStartTime())
+            || Objects.isNull(unionApplyBXDDTO.getEndTime())
+            || StringUtils.isBlank(unionApplyBXDDTO.getCode())
+            || Objects.isNull(unionApplyBXDDTO.getUnionApplyBXDDDetailTOList())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        UnionApply unionApply = unionApplyJoinMapper.selectById(unionApplyBXDDTO.getId());
+        if(unionApply == null ||!Constants.equalsInteger(unionApply.getIsdeleted(),Constants.ZERO)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(unionApply.getStatus().equals(Constants.UnionApplyStatus.UPLOAD_INSURANCE_POLICY.getKey())){
+            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悎骞跺崟鐘舵�佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+        }
+        //鍔犱环鍙傛暟
+        List<UnionApplyBXDDDetailTO> unionApplyBXDDDetailTOList = unionApplyBXDDTO.getUnionApplyBXDDDetailTOList();
+
+        //鎵�鏈夋姇淇濈敵璇蜂繚鍗曟槑缁嗚
+        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().select(ApplyDetail::getPrice)
+                .in(ApplyDetail::getUnionApplyId,unionApply.getId()));
+        //鎬诲ぉ鏁�
+        Integer maxDays = DateUtil.calculateBetween(unionApplyBXDDTO.getStartTime(),unionApplyBXDDTO.getEndTime(),0);
+        //瀹為檯宸茬粡浜х敓璐圭敤鐨勫ぉ鏁�
+        Integer useDays = 0 ;
+        if(unionApplyBXDDTO.getStartTime().compareTo(new Date()) <= 0 && unionApplyBXDDTO.getEndTime().compareTo(new Date()) >= 0 ){
+            //褰撳墠鏃ユ湡鍦ㄥ紑濮嬬粨鏉熸棩鏈熶箣鍐�
+            useDays =  DateUtil.calculateBetween(unionApplyBXDDTO.getStartTime(),new Date(),0);
+        }else if(unionApplyBXDDTO.getStartTime().compareTo(new Date()) <= 0&&unionApplyBXDDTO.getEndTime().compareTo(new Date()) <= 0){
+            //褰撳墠鏃ユ湡鍦ㄧ粨鏉熸棩鏈熶箣鍚�
+            useDays =  -1;
+        }
+
+        BigDecimal sumFee = BigDecimal.ZERO;
+        BigDecimal sumCurrFee = BigDecimal.ZERO;
+
+        for (UnionApplyBXDDDetailTO unionApplyBXDDDetailTO:unionApplyBXDDDetailTOList) {
+            InsuranceApply insuranceApply = insuranceApplyJoinMapper.selectById(unionApplyBXDDDetailTO.getApplyId());
+            if(Objects.isNull(insuranceApply)||!Constants.equalsInteger(insuranceApply.getIsdeleted(),Constants.ZERO)){
+                throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+            }
+            if(!insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey())){
+                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ユ姇淇濆崟鐘舵�佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+            }
+            List<ApplyDetail> applyDetails = applyDetailList.stream().filter(m->m.getApplyId().equals(unionApplyBXDDDetailTO.getApplyId())).collect(Collectors.toList());
+            if(CollectionUtils.isEmpty(applyDetails)){
+                throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+            }
+            //鎻愪氦鍚庣殑鏂颁环鏍� 鍔犱笂鏈嶅姟璐�
+            BigDecimal price = applyDetails.get(Constants.ZERO).getPrice().add(unionApplyBXDDDetailTO.getServerMoney());
+            //瀹為檯宸蹭骇鐢熻垂鐢�
+            BigDecimal currentFee = BigDecimal.ZERO;
+            if(useDays==-1){
+                currentFee =  new BigDecimal(maxDays).multiply(price);
+            }else if(useDays>0){
+                currentFee =  new BigDecimal(useDays).multiply(price);
+            }
+            //鏇存柊鎶曚繚鐢宠鍗�
+            insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda()
+                    .set(InsuranceApply::getFee,
+                            new BigDecimal(applyDetails.size())
+                            .multiply(price)
+                    )
+                    .set(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+                    .set(InsuranceApply::getFee,price.multiply(new BigDecimal(applyDetails.size())).multiply(new BigDecimal(maxDays)))
+                    .set(InsuranceApply::getCurrentFee,currentFee.multiply(new BigDecimal(applyDetails.size())))
+                    .set(InsuranceApply::getStartTime,unionApplyBXDDTO.getStartTime())
+                    .set(InsuranceApply::getEndTime,unionApplyBXDDTO.getEndTime())
+                    .set(InsuranceApply::getEditDate,new Date())
+                    .set(InsuranceApply::getEditor,user.getId())
+                    .eq(InsuranceApply::getId,insuranceApply.getId()));
+            //鏇存柊鎶曚繚鍗曟槑缁嗛噾棰�
+            applyDetailJoinMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda()
+                    .set(ApplyDetail::getPrice,price)
+                    .set(ApplyDetail::getFee, price.multiply(new BigDecimal(maxDays)))
+                    .set(ApplyDetail::getCurrentFee,currentFee)
+                    .set(ApplyDetail::getEditDate,new Date())
+                    .set(ApplyDetail::getEditor,user.getId())
+                    .set(ApplyDetail::getStartTime,unionApplyBXDDTO.getStartTime())
+                    .set(ApplyDetail::getEndTime,unionApplyBXDDTO.getEndTime())
+                    .in(ApplyDetail::getId,applyDetails.stream().map(m->m.getId()).collect(Collectors.toList()))
+            );
+            //涓婁紶淇濆崟淇℃伅
+            if(StringUtils.isNotBlank(unionApplyBXDDDetailTO.getFileUrl())){
+                Multifile multifile = new Multifile();
+                multifile.setIsdeleted(Constants.ZERO);
+                multifile.setCreator(user.getId());
+                multifile.setCreateDate(new Date());
+                multifile.setObjId(insuranceApply.getId());
+                multifile.setObjType(Constants.MultiFile.BD_APPLY_PDF.getKey());
+                multifile.setType(Constants.TWO);
+                multifile.setFileurl(unionApplyBXDDDetailTO.getFileUrl());
+                multifile.setName(unionApplyBXDDDetailTO.getFileName());
+                multifileMapper.insert(multifile);
+            }
+            sumFee = sumFee.add(price.multiply(new BigDecimal(applyDetails.size())).multiply(new BigDecimal(maxDays)));
+            sumCurrFee = sumCurrFee.add(currentFee.multiply(new BigDecimal(applyDetails.size())));
+        }
+        unionApplyMapper.update(null,new UpdateWrapper<UnionApply>()
+                .lambda()
+                .set(UnionApply::getStatus,Constants.UnionApplyStatus.FINISH)
+                .set(UnionApply::getEditDate,new Date())
+                .set(UnionApply::getEditor,user.getId())
+                .set(UnionApply::getStartTime,unionApplyBXDDTO.getStartTime())
+                .set(UnionApply::getEndTime,unionApplyBXDDTO.getEndTime())
+                .set(UnionApply::getFee,sumFee)
+                .set(UnionApply::getCurrentFee,sumCurrFee)
+                .eq(UnionApply::getId,unionApply.getId())
+        );
+        //鍚堝苟鍗� 鎬讳繚鍗�
+        if(StringUtils.isNotBlank(unionApplyBXDDTO.getFileUrl())){
+            Multifile multifile = new Multifile();
+            multifile.setIsdeleted(Constants.ZERO);
+            multifile.setCreator(user.getId());
+            multifile.setCreateDate(new Date());
+            multifile.setObjId(unionApply.getId());
+            multifile.setObjType(Constants.MultiFile.HBD_BD_APPLY_PDF.getKey());
+            multifile.setType(Constants.TWO);
+            multifile.setFileurl(unionApplyBXDDTO.getFileUrl());
+            multifile.setName(unionApplyBXDDTO.getFileName());
+            multifileMapper.insert(multifile);
+        }
+
+
+
+
+    }
+
+
+
+
+
 }

--
Gitblit v1.9.3