jiangping
2024-01-22 6fb727669795f9b62ea103da8874ebe856b294da
开发业务接口
已修改7个文件
221 ■■■■■ 文件已修改
server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/utils/Constants.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Multifile.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -63,11 +63,11 @@
    public ApiResponse uploadBaoxiandan(@RequestBody InsuranceApply insuranceApply) {
        return ApiResponse.success(insuranceApplyService.uploadBaoxiandan(insuranceApply));
    }
    @ApiOperation("平台驳回退单申请")
    @PostMapping("/refuseBackApply")
    @RequiresPermissions("business:insuranceapply:refuseBackApply")
    public ApiResponse refuseBackApply(@RequestBody InsuranceApply insuranceApply) {
        return ApiResponse.success(insuranceApplyService.refuseBackApply(insuranceApply));
    @ApiOperation("平台处理退单申请")
    @PostMapping("/dealBackApply")
    @RequiresPermissions("business:insuranceapply:dealBackApply")
    public ApiResponse dealBackApply(@RequestBody InsuranceApply insuranceApply) {
        return ApiResponse.success(insuranceApplyService.dealBackApply(insuranceApply));
    }
    @ApiOperation("根据ID删除")
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -610,7 +610,7 @@
    public  enum ApplyLogType {
        UPLOAD(0, "提交投保","提交意见:${param}"),
        PLATFORM_RETURN(1, "审核不通过","提交意见:${param}"),
        PLATFORM_RETURN(1, "退回投保","提交意见:${param}"),
        WAIT_SIGNATURE(2, "上传投保单","提交意见:${param}"),
        SIGNATURE(3, "企业签章",""),
        FAIL_RETURN(4, "保单出具失败退回","提交意见:${param}"),
@@ -620,6 +620,7 @@
        PLATFORM_AGREE_BACK(8, "同意退回申请",""),
        PLATFORM_UN_AGREE_BACK(9, "驳回退回申请","提交意见:${param}"),
        COMPANY_EDIT(10, "保单修改","提交意见:${param1}\n${param2}"),
        PLATFORM_CHECK_PASS(11, "投保审核通过",""),
        ;
        // 成员变量
        private String name;
@@ -684,9 +685,10 @@
        SIGNATURE(3, "已签章待上传保险单",""),
        FAIL_RETURN(4, "保单出具失败退回",""),
        UPLOAD_INSURANCE(5, "保单完成","保险生效起期:${param}变更为${param1}"),
        COMPANY_APPLY_RETURN(6, "企业申请退回","提交意见:${param}"),
        PLATFORM_AGREE(7, "平台同意退回",""),
        COMPANY_APPLY_RETURN(6, "企业申请退回(不可驳回)","提交意见:${param}"),
        COMPANY_APPLY_RETURN_SELECT(7, "企业申请退回(可驳回)","提交意见:${param}"),
        CLOSE(8, "订单关闭",""),
        PLATFORM_CHECK_PASS(9,"平台投保审核通过",""),
        ;
        // 成员变量
        private String name;
server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.utils.Constants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -135,8 +136,17 @@
    @ApiModelProperty(value = "服务天数")
    @TableField(exist = false)
    private Integer serviceDays;
    @ApiModelProperty(value = "投保单对象")
    @TableField(exist = false)
    private Multifile toubaodanFile;
    @ApiModelProperty(value = "保险单对象")
    @TableField(exist = false)
    private Multifile baoxiandanFile;
    @ApiModelProperty(value = "日志记录")
    @TableField(exist = false)
    private List<ApplyLog> applyLogList;
    @ApiModelProperty(value = "处理企业申请状态  0同意 1驳回")
    @TableField(exist = false)
    private int dealBackApply;
}
server/service/src/main/java/com/doumee/dao/business/model/Multifile.java
@@ -59,8 +59,8 @@
    @ExcelColumn(name="关联对象编码")
    private Integer objId;
    @ApiModelProperty(value = "类型0图片 1视频 2其他", example = "1")
    @ExcelColumn(name="类型0图片 1视频 2其他")
    @ApiModelProperty(value = "类型0图片 1视频 2PDF 3其他", example = "1")
    @ExcelColumn(name="类型0图片 1视频  2PDF 3其他")
    private Integer type;
    @ApiModelProperty(value = "关联对象类型 0企业营业执照 1理赔报案事故视频或图片 2理赔员工关系证明材料 3理赔门诊资料 4理赔住院资料 5理赔伤残资料 6理赔赔付结案材料 7企业身份证号 8保单申请表PDF 9签署后保单申请表PDF ", example = "1")
server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
@@ -107,7 +107,7 @@
    Integer uploadBaoxiandan(InsuranceApply insuranceApply);
    Integer   refuseBackApply(InsuranceApply insuranceApply);
    Integer   dealBackApply(InsuranceApply insuranceApply);
    Integer check(InsuranceApply insuranceApply);
}
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -165,7 +165,7 @@
        applyLog.setTitle(applyChangeLogStatus.getName());
        applyLog.setContent(content);
        applyLog.setObjType(applyChangeLogStatus.getKey());
        applyLog.setObjId(Integer.toString(applyChange.getId()));
        applyLog.setObjId( applyChange.getId());
        applyLog.setStatus(applyChange.getStatus());
        applyLogMapper.insert(applyLog);
    }
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
import com.alibaba.fastjson.JSONObject;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -52,6 +53,8 @@
    @Autowired
    private ApplyLogMapper applyLogMapper;
    @Autowired
    private MultifileMapper multifileMapper;
    @Autowired
    private ApplyLogJoinMapper applyLogJoinMapper;
@@ -77,7 +80,7 @@
        if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())){
        if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())){
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~");
        }
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
@@ -94,34 +97,195 @@
        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(),null,null);
        ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
        applyLogMapper.insert(log);
        return  null;
        return  1;
    }
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public Integer uploadBaoxiandan(InsuranceApply insuranceApply) {
        return  null;
        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(insuranceApply.getApplyEndTime()== null || insuranceApply.getStartTime().getTime()>insuranceApply.getApplyEndTime().getTime() ){
            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.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(model.getApplyEndTime());
        update.setStartTime(insuranceApply.getStartTime());
        insuranceApplyMapper.updateById(update);
        insuranceApply.getBaoxiandanFile().setIsdeleted(Constants.ZERO);
        insuranceApply.getBaoxiandanFile().setCreator(user.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());
        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.getApplyEndTime()));
            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);
        return  1;
    }
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public Integer refuseBackApply(InsuranceApply insuranceApply) {
        return  null;
    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 = "";
        if(insuranceApply.getDealBackApply() ==1){
            //如果是驳回,只能可驳回申请状态进行操作
            if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_APPLY_RETURN_SELECT.getKey())){
                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~");
            }
            applyLogType = Constants.ApplyLogType.PLATFORM_UN_AGREE_BACK;
            info = applyLogType.getInfo();
            info = info.replace("${param}", insuranceApply.getCheckInfo());
        }else{
            //如果是同意,两种申请退回状态都可操作
            if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_APPLY_RETURN_SELECT.getKey())
                ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_APPLY_RETURN.getKey()))){
                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该申请状态已流转,当前不支持该操作~");
            }
            applyLogType = Constants.ApplyLogType.PLATFORM_AGREE_BACK;
        }
        InsuranceApply update = new InsuranceApply();
        update.setEditDate(new Date());
        update.setEditor(user.getId());
        //同意退回,直接回到最初状态,如果驳回退回申请,则保单状态回到待上传保险单
        update.setStatus(insuranceApply.getDealBackApply() ==0?Constants.InsuranceApplyStatus.UPLOAD.getKey():Constants.InsuranceApplyStatus.SIGNATURE.getKey());
        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 uploadToubaodan(InsuranceApply insuranceApply) {
        return  null;
        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.PLATFORM_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.WAIT_SIGNATURE.getKey());
        update.setCheckDate(update.getEditDate());
        update.setCheckInfo(insuranceApply.getCheckInfo());
        update.setCheckUserId(user.getId());
        update.setId(model.getId());
        insuranceApplyMapper.updateById(update);
        insuranceApply.getToubaodanFile().setIsdeleted(Constants.ZERO);
        insuranceApply.getToubaodanFile().setCreator(user.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);
        return  1;
    }
    /**
     * 审核通过
     * @param insuranceApply
     * @return
     */
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public Integer check(InsuranceApply insuranceApply) {
        return  null;
        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.UPLOAD.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.PLATFORM_CHECK_PASS.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.PLATFORM_CHECK_PASS;
        ApplyLog log = new ApplyLog(update,applyLogType.getName(),null,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
        applyLogMapper.insert(log);
        return  1;
    }
@@ -444,8 +608,9 @@
            if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.CLOSE.getKey())){
                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"已关闭,请勿重复操作");
            }
            if(!(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_AGREE.getKey())
                    ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey()))){
            if(!(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())
                    ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.SIGNATURE.getKey())
                    ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()))){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态非可申请退回!");
            }
        }