k94314517
2024-03-29 80b15d545b95f346ac7c6d4a533b8491d92d4864
git ch
已添加1个文件
已修改6个文件
213 ■■■■ 文件已修改
server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/utils/Constants.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/dto/SmsCheckDTO.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/shop/src/main/java/com/doumee/api/business/UnionApplyController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -9,6 +9,7 @@
import com.doumee.dao.business.dto.CountCyclePriceDTO;
import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
import com.doumee.dao.business.dto.SmsCheckDTO;
import com.doumee.dao.business.model.InsuranceApply;
import com.doumee.dao.business.vo.CountCyclePriceVO;
import com.doumee.service.business.InsuranceApplyService;
@@ -152,19 +153,27 @@
    @ApiOperation("投保确认书签章业务")
    @GetMapping("/getSignTBQRSLink/{id}")
    @ApiOperation("方案确认书签章业务")
    @PostMapping("/getSignTBQRSLink ")
    @RequiresPermissions("business:insuranceapply:query")
    public ApiResponse<String> getSignTBQRSLink(@PathVariable Integer id) {
        return ApiResponse.success(insuranceApplyService.getSignTBQRSLink(id));
    public ApiResponse<String> getSignTBQRSLink(@RequestBody SmsCheckDTO smsCheckDTO) {
        return ApiResponse.success(insuranceApplyService.getSignTBQRSLink(smsCheckDTO));
    }
    @ApiOperation("人员名单签章")
    @GetMapping("/getMemberListOnlineSignLink/{id}")
    @PostMapping("/getMemberListOnlineSignLink")
    @RequiresPermissions("business:insuranceapply:query")
    public ApiResponse<String> getMemberListOnlineSignLink(@PathVariable Integer id) {
        return ApiResponse.success(insuranceApplyService.getMemberListOnlineSignLink(id));
    public ApiResponse<String> getMemberListOnlineSignLink(@RequestBody SmsCheckDTO smsCheckDTO) {
        return ApiResponse.success(insuranceApplyService.getMemberListOnlineSignLink(smsCheckDTO));
    }
    @ApiOperation("投保申请单签章业务")
    @PostMapping("/getSignWTBTBDLink")
    @RequiresPermissions("business:insuranceapply:query")
    public ApiResponse<String> getSignWTBTBDLink(@RequestBody SmsCheckDTO smsCheckDTO) {
        return ApiResponse.success(insuranceApplyService.getSignWTBTBDLink(smsCheckDTO));
    }
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -442,16 +442,12 @@
        HBD_BD_APPLY_PDF(15, "合并单-保单申请表PDF ", "合并单-保单申请表PDF "),
        HBD_BD_SIGNED_PDF(16, "合并单-签署后保单申请表PDF", "合并单-签署后保单申请表PDF"),
        COMPANY_TBD_SIGNED_PDF(17, "合并单-投保单-商户提交(企业签署)", "合并单-签署后保单申请表PDF"),
        COMPANY_TBD_SIGNED(17, "合并单-投保单-商户提交", "合并单-投保单-商户提交"),
        SOLUTIONS_CONFIRMATION_LATTER(18, "委托保 - æŠ•保方案确认书", "委托保 - æ–¹æ¡ˆç¡®è®¤ä¹¦"),
        MEMBER_LIST_LATTER(19, "委托保 - æŠ•保人员名单", "委托保 - æ–¹æ¡ˆç¡®è®¤ä¹¦"),
        CHANGE_MEMBER_LIST_LATTER(20, "委托保 - åŠ å‡ä¿äººå‘˜åå•", "委托保 - æ–¹æ¡ˆç¡®è®¤ä¹¦"),
        WTB_BD_DONE_PDF(21, "委托投保单 - åˆå¹¶å•最终保单", "委托保 - åˆå¹¶å•保单"),
        COMPANY_TBD_SIGNED_PDF(22, "合并单-投保单-商户提交(企业签署)PDF", "合并单-投保单-商户提交(企业签署)PDF"),
        ;
@@ -1073,7 +1069,7 @@
        WTB_UPLOAD(20, "提交投保","",28),
        WTB_COMPANY_APPLY_SIGNATURE(21, "委托保-企业已签署投保确认书","提交意见:${param}",28),
        WTB_COMPANY_MEMBER_LIST_SIGNATURE(22, "委托保-企业已签署人员名单","提交意见:${param}",22),
        WTB_BUSSINESS_CHECK_PASS(23,"商户投保审核通过","提交意见:${param}",23),
        WTB_BUSINESS_CHECK_PASS(23,"商户投保审核通过","提交意见:${param}",23),
        WTB_RETURN(24, "已退回","提交意见:${param}",24),
        WTB_CLOSED(25, "已关闭","提交意见:${param}",25),
        WTB_TOUBAOING(26, "投保中","提交意见:${param}",26),
server/service/src/main/java/com/doumee/dao/business/dto/SmsCheckDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.doumee.dao.business.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
 * @author RenKang
 */
@Data
public class SmsCheckDTO {
    @ApiModelProperty(value = "业务主键", example = "1")
    private Integer businessId;
    @ApiModelProperty(value = "验证码")
    private String code;
}
server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
@@ -5,6 +5,7 @@
import com.doumee.dao.business.dto.CountCyclePriceDTO;
import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
import com.doumee.dao.business.dto.SmsCheckDTO;
import com.doumee.dao.business.model.InsuranceApply;
import com.doumee.dao.business.vo.CountCyclePriceVO;
import com.jzq.common.bean.sign.NotifyDataReq;
@@ -143,23 +144,23 @@
    /**
     * å§”托保 æŠ•保确认书签章业务
     * @param applyId
     * @param smsCheckDTO
     * @return
     */
    String getSignTBQRSLink(Integer applyId);
    String getSignTBQRSLink(SmsCheckDTO smsCheckDTO);
    /**
     * äººå‘˜åå•签章
     * @param applyId
     * @param smsCheckDTO
     * @return
     */
    String getMemberListOnlineSignLink(Integer applyId);
    String getMemberListOnlineSignLink(SmsCheckDTO smsCheckDTO);
    /**
     * å§”托保 æŠ•保申请签署
     * @param id
     * @param smsCheckDTO
     * @return
     */
    String getSignWTBTBDLink(Integer id);
    String getSignWTBTBDLink(SmsCheckDTO smsCheckDTO);
}
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -16,6 +16,7 @@
import com.doumee.dao.business.dto.CountCyclePriceDTO;
import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
import com.doumee.dao.business.dto.SmsCheckDTO;
import com.doumee.dao.business.join.*;
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.vo.CountCyclePriceVO;
@@ -537,6 +538,39 @@
    }
    /**
     * å§”托保  ä¼ä¸šç­¾ç½²æŠ•保申请书
     * @param model
     * @param fileurl
     * @param fullUrl
     * @return
     */
    public Multifile   uploadTBSQSSignedFileDo(InsuranceApply model,String fileurl,String fullUrl) {
        InsuranceApply update = new InsuranceApply();
        update.setEditDate(new Date());
        update.setEditor(model.getCreator());
        update.setUnionApplyTbdStatus(Constants.TWO);
        update.setCheckDate(update.getEditDate());
        update.setCheckInfo("委托保企业完成签署投保申请书");
        update.setCheckUserId(model.getCreator());
        update.setId(model.getId());
        insuranceApplyMapper.updateById(update);
        Multifile f = new Multifile();
        f.setIsdeleted(Constants.ZERO);
        f.setCreator(model.getCreator());
        f.setObjId(update.getId());
        f.setCreateDate(update.getEditDate());
        f.setObjType(Constants.MultiFile.COMPANY_TBD_SIGNED_PDF.getKey());
        f.setType(Constants.TWO);
        f.setFileurl(fileurl);
        f.setFileurlFull(fullUrl);
        f.setInfo("委托保企业完成签署投保申请书");
        f.setName("投保申请书.pdf");
        multifileMapper.insert(f);
        return  f;
    }
    /**
     * å§”托保 ä¼ä¸šç­¾ç½² äººå‘˜åå•
     * @param model
     * @param fileurl
@@ -800,6 +834,38 @@
                return;
            }
        }
        //委托保企业签署投保申请单
        applyList = insuranceApplyJoinMapper.selectJoinList(InsuranceApply.class,
                new MPJLambdaWrapper<InsuranceApply>()
                        .selectAll(InsuranceApply.class)
                        .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
                        .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail)
                        .selectAs(Company::getName,InsuranceApply::getCompanyName)
                        .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                        .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
                        .eq(InsuranceApply::getUnionApplyTbdStatus,Constants.ONE)
                        .eq(Solutions::getType,Constants.ONE)
                        .isNotNull(InsuranceApply::getApplyTbdNo));
        if(applyList !=null && applyList.size()>0 ){
            for(InsuranceApply model : applyList){
                String status = signService.linkFileStatus(model.getApplyTbdNo());
                if(!StringUtils.equals(status,"3")){
                    continue;
                }
                String link = signService.linkFile(model.getApplyTbdNo());
                String fileUrl = uploadSignFile(link);
                if(StringUtils.isBlank(fileUrl)){
                    //如果下载失败,清除合同,下次签章重新生成新合同
                    return;
                }
                uploadTBSQSSignedFileDo(model,fileUrl,path+fileUrl);
                return;
            }
        }
        List<ApplyChange> chagneList = applyChangeMapper.selectJoinList(ApplyChange.class,
                new MPJLambdaWrapper<ApplyChange>()
@@ -933,7 +999,7 @@
                            .eq(Solutions::getType,Constants.ONE)
                            .eq(InsuranceApply::getSignQrsNo,data.getApplyNo())
                            .last("limit 1" ));
            if(modelTBQRS != null && Constants.equalsInteger(modelTBQRS.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())){
            if(modelTBQRS != null && Constants.equalsInteger(modelTBQRS.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey())){
                //完成签署已完成操作
                String link = signService.linkFile(data.getApplyNo());
                String fileUrl = uploadSignFile(link);
@@ -944,6 +1010,9 @@
                uploadFAQRSSignedFileDo(modelTBQRS,fileUrl,path+fileUrl);
                return;
            }
            //委托保 ä¼ä¸šç­¾ç½²äººå‘˜åå•
            InsuranceApply modelMemberList = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,
                    new MPJLambdaWrapper<InsuranceApply>()
@@ -965,6 +1034,31 @@
                    return;
                }
                uploadApplyMemberListSignedFileDo(modelMemberList,fileUrl,path+fileUrl);
                return;
            }
            //委托保 æŠ•保申请书签署
            InsuranceApply modelTBQSQ = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,
                    new MPJLambdaWrapper<InsuranceApply>()
                            .selectAll(InsuranceApply.class)
                            .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
                            .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail)
                            .selectAs(Company::getName,InsuranceApply::getCompanyName)
                            .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                            .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
                            .eq(Solutions::getType,Constants.ONE)
                            .eq(InsuranceApply::getApplyTbdNo,data.getApplyNo())
                            .last("limit 1" ));
            if(modelTBQRS != null && Constants.equalsInteger(modelTBQSQ.getUnionApplyTbdStatus(),Constants.ONE)){
                //完成签署已完成操作
                String link = signService.linkFile(data.getApplyNo());
                String fileUrl = uploadSignFile(link);
                if(StringUtils.isBlank(fileUrl)){
                    //如果下载失败,清除合同,下次签章重新生成新合同
                    return;
                }
                uploadTBSQSSignedFileDo(modelTBQSQ,fileUrl,path+fileUrl);
                return;
            }
@@ -2058,19 +2152,24 @@
    /**
     * å§”托宝 æŠ•保确认书
     * @param id
     * @param smsCheckDTO
     * @return
     */
    @Override
    public  String getSignTBQRSLink(Integer id) {
        if(id == null ){
    public  String getSignTBQRSLink(SmsCheckDTO smsCheckDTO) {
        if(Objects.isNull(smsCheckDTO)
            || Objects.isNull(smsCheckDTO.getBusinessId())
                || StringUtils.isBlank(smsCheckDTO.getCode())
        ){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        smsEmailService.validateCode(smsCheckDTO.getCode());
        MPJLambdaWrapper wrapper=  new MPJLambdaWrapper<InsuranceApply>()
                .selectAll(InsuranceApply.class)
                .selectAs(Solutions::getSignKeyword,InsuranceApply::getSignKeyword)
                .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                .eq(InsuranceApply::getId,id)
                .eq(InsuranceApply::getId,smsCheckDTO.getCode())
                .last("limit 1");
        InsuranceApply model = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,wrapper);
@@ -2153,8 +2252,16 @@
     * äººå‘˜åå•签章
     */
    @Override
    public String getMemberListOnlineSignLink(Integer applyId) {
        InsuranceApply model = this.queryApplyDetail(applyId);
    public String getMemberListOnlineSignLink(SmsCheckDTO smsCheckDTO) {
        if(Objects.isNull(smsCheckDTO)
                || Objects.isNull(smsCheckDTO.getBusinessId())
                || StringUtils.isBlank(smsCheckDTO.getCode())
        ){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //验证 éªŒè¯ç 
        smsEmailService.validateCode(smsCheckDTO.getCode());
        InsuranceApply model = this.queryApplyDetail(smsCheckDTO.getBusinessId());
        if(Objects.isNull(model)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询保单信息");
        }
@@ -2202,19 +2309,24 @@
    /**
     * å§”托保 æŠ•保申请签署
     * @param id
     * @param smsCheckDTO
     * @return
     */
    @Override
    public  String getSignWTBTBDLink(Integer id) {
        if(id == null ){
    public  String getSignWTBTBDLink(SmsCheckDTO smsCheckDTO) {
        if(Objects.isNull(smsCheckDTO)
                || Objects.isNull(smsCheckDTO.getBusinessId())
                || StringUtils.isBlank(smsCheckDTO.getCode())
        ){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        //验证 éªŒè¯ç 
        smsEmailService.validateCode(smsCheckDTO.getCode());
        MPJLambdaWrapper wrapper=  new MPJLambdaWrapper<InsuranceApply>()
                .selectAll(InsuranceApply.class)
                .selectAs(Solutions::getSignKeyword,InsuranceApply::getSignKeyword)
                .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                .eq(InsuranceApply::getId,id)
                .eq(InsuranceApply::getId,smsCheckDTO.getBusinessId())
                .last("limit 1");
        InsuranceApply model = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,wrapper);
@@ -2247,7 +2359,7 @@
        }
        Multifile f = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda()
                .eq(Multifile::getObjId,model.getId())
                .eq(Multifile::getObjType,Constants.MultiFile.COMPANY_TBD_SIGNED_PDF.getKey())
                .eq(Multifile::getObjType,Constants.MultiFile.COMPANY_TBD_SIGNED.getKey())
                .eq(Multifile::getIsdeleted,Constants.ZERO).last("limit 1"));
        if(f == null || StringUtils.isBlank(f.getFileurl())){
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,获取确认书文件失败,请联系商户确认投保申请书是否正确!");
server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
@@ -287,7 +287,7 @@
                        .selectAs(InsuranceApply::getSolutionBaseId,Solutions::getBaseId)
                        .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                        .eq(InsuranceApply::getIsdeleted, Constants.ZERO)
                        .eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WTB_BUSSINESS_CHECK_PASS.getKey())
                        .eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WTB_BUSINESS_CHECK_PASS.getKey())
                        .eq(Solutions::getBaseId,saveUnionApplyDTO.getBaseSolutionId())
                        .in(InsuranceApply::getId,saveUnionApplyDTO.getApplyIds())
                        .isNull(InsuranceApply::getUnionApplyId)
@@ -364,7 +364,7 @@
                .set(InsuranceApply::getUnionApplyId,null)
                .set(InsuranceApply::getCheckDate,new Date())
                .set(InsuranceApply::getCheckUserId,user.getId())
                .set(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WTB_BUSSINESS_CHECK_PASS.getKey())
                .set(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WTB_BUSINESS_CHECK_PASS.getKey())
                .eq(InsuranceApply::getUnionApplyId,unionApply.getId()));
        applyDetailJoinMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda()
@@ -426,7 +426,7 @@
                multifile.setCreator(user.getId());
                multifile.setCreateDate(new Date());
                multifile.setCreateDate(new Date());
                multifile.setObjType(Constants.MultiFile.COMPANY_TBD_SIGNED_PDF.getKey());
                multifile.setObjType(Constants.MultiFile.COMPANY_TBD_SIGNED.getKey());
                multifile.setType(Constants.TWO);
                multifileMapper.insert(multifile);
server/shop/src/main/java/com/doumee/api/business/UnionApplyController.java
@@ -134,4 +134,6 @@
        unionApplyService.uploadBXD(unionApplyBXDDTO);
        return ApiResponse.success(null);
    }
}