k94314517
2025-05-29 058a40c60af7d3823845d8f4ab24b0abb48576d1
git ch
已修改2个文件
43 ■■■■ 文件已修改
server/service/src/main/java/com/doumee/core/utils/Constants.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -2022,7 +2022,7 @@
        UPDATE_DATA(4, "修改信息","提交意见:${param}"),
        SUPPLEMENT(5, "补充说明","提交意见:${param}"),
        PLATFORM_LP_DEAL(6, "平台理赔处理","已在平台完成理赔"),
        PLATFORM_REMARK(7, "平台备注标签","${param}"),
        PLATFORM_REMARK(7, "备注标签","${param}"),
        PLATFORM_ADDCODE(8, "平台添加报案号","备案号:${param}"),
        PLATFORM_UN_AGREE_BACK(9, "企业下载资料",""),
        PLATFORM_DOWNLOAD(10, "平台下载资料",""),
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -1349,9 +1349,20 @@
                throw new BusinessException(ResponseStatus.BAD_REQUEST);
            }
        }
        InsuranceApply insuranceApply = insuranceApplyMapper.selectById(settleClaimsDTO.getInsuranceApplyId());
        if(Objects.isNull(insuranceApply)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        ApplyDetail applyDetail = applyDetailMapper.selectById(settleClaimsDTO.getApplyDetailId());
        if(Objects.isNull(applyDetail)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        Member member =memberMapper.selectById(settleClaimsDTO.getMemberId());
        if(member == null){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,出险人信息不正确!");
        }
        if(!(Constants.equalsInteger(insuranceApply.getId(),applyDetail.getApplyId())||Constants.equalsInteger(applyDetail.getMemberId(),member.getId()))){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"信息匹配错误");
        }
        SettleClaims settleClaims = new SettleClaims();
        BeanUtils.copyProperties(settleClaimsDTO,settleClaims);
@@ -1369,11 +1380,19 @@
            );
        }
        if(Objects.nonNull(settleClaims.getId())){
            SettleClaims model = settleClaimsMapper.selectById(settleClaims.getId());
            if(Objects.isNull(model)){
                throw new BusinessException(ResponseStatus.DATA_EMPTY);
            }
            if(!(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey()))){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态已流转,无法进行修改");
            }
            settleClaims.setEditDate(new Date());
            settleClaims.setEditor(loginUserInfo.getId());
            settleClaims.setStatus(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)?
                    Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey():Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey());
            if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)){
            if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)&&
                    Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())){
                //处理风险信息
                this.saveRisk(settleClaims,settleClaimsDTO,systemDictDataService);
            }
@@ -1441,6 +1460,7 @@
        if(Constants.equalsInteger(solutionsBase.getRiskNewUserStatus(),Constants.ONE)
                && Objects.nonNull(solutionsBase.getRiskNewUserUnit())
                && Objects.nonNull(solutionsBase.getRiskNewUserTime())
                && happenTime.getTime() < applyDetail.getStartTime().getTime()
        ){
            if(happenTime.getTime() > applyDetail.getEndTime().getTime()){
                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"事故发生时间未在人员保障日期范围内");
@@ -1457,6 +1477,7 @@
                    throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"事故发生时间未在人员保障日期范围内");
                }
            }
            if(happenTime.getTime() < startDate.getTime() ){
                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"事故发生时间未在人员保障日期范围内");
            }else{
@@ -1476,17 +1497,17 @@
            //根据配置 查询 延迟报案提醒时间单位 0分钟 1小时 2天
            if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.ZERO)){
                if(DateUtil.getBetweenMin(happenTime,new Date())>solutionsBase.getRiskDelayTime()){
                    map.put("info","报案时间超过案发时间"+solutionsBase.getRiskDelayUnit()+"分钟");
                    map.put("info","报案时间超过案发时间"+solutionsBase.getRiskDelayTime()+"分钟");
                    riskList.add(map);
                }
            }else if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.ONE)){
                if(DateUtil.getBetweenHours(happenTime,new Date())>solutionsBase.getRiskDelayTime()){
                    map.put("info","报案时间超过案发时间"+solutionsBase.getRiskDelayUnit()+"小时");
                    map.put("info","报案时间超过案发时间"+solutionsBase.getRiskDelayTime()+"小时");
                    riskList.add(map);
                }
            }else if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.TWO)){
                if(DateUtil.getBetweenDay(happenTime,new Date())>solutionsBase.getRiskDelayTime()){
                    map.put("info","报案时间超过案发时间"+solutionsBase.getRiskDelayUnit()+"天");
                    map.put("info","报案时间超过案发时间"+solutionsBase.getRiskDelayTime()+"天");
                    riskList.add(map);
                }
            }
@@ -1521,7 +1542,7 @@
                    .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")," HAPPEN_TIME > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" HOUR)  ")
                    .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("2")," HAPPEN_TIME > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" DAY)  ")
            );
            if(cxcs > Constants.TWO){
            if(cxcs >= Constants.TWO){
                Map<String,String> map = new HashMap<>();
                map.put("title","疑似重复报案");
                map.put("info","该出险人在"+riskConfigVO.getRiskRepeatReportTime()+(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")?"小时":"天")+"内已报案"+cxcs+"次");
@@ -1537,8 +1558,9 @@
                && StringUtils.isNotBlank(riskConfigVO.getRiskClaimTimes())){
            Long cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
                    .eq(SettleClaims::getInsuranceApplyId,settleClaimsDTO.getInsuranceApplyId())
                            .eq(SettleClaims::getIsdeleted,Constants.ZERO)
                    .ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId())
                    .apply(" HAPPEN_TIME > DATE_SUB(now(), INTERVAL 365 DAY)  ")
                    .apply(" CREATE_DATE > DATE_SUB(now(), INTERVAL 365 DAY)  ")
            );
            if(cxcs > Integer.valueOf(riskConfigVO.getRiskClaimTimes())){
                Map<String,String> map = new HashMap<>();
@@ -1553,7 +1575,7 @@
        if(StringUtils.isNotBlank(riskConfigVO.getRiskSensitiveWordsOpen())
                && StringUtils.equals(riskConfigVO.getRiskSensitiveWordsOpen(),Constants.ONE+"")
                && StringUtils.isNotBlank(riskConfigVO.getRiskSensitiveWords())){
            String [] words = riskConfigVO.getRiskSensitiveWords().split(",");
            String [] words = riskConfigVO.getRiskSensitiveWords().split(";");
            String sensitiveWord = ""; 
            for (String word:words) {
                if(settleClaims.getContent().indexOf(word)>=Constants.ZERO){
@@ -2132,7 +2154,8 @@
            //存储日志
            this.saveSettleClaimsLog(settleClaims,
                    Constants.equalsInteger(dto.getStatus(),Constants.ZERO)?Constants.SettleClaimsLogType.PLATFORM_ACCEPTANCE:Constants.SettleClaimsLogType.PLATFORM_DISCUSS,
                    dto.getDescribe(),Constants.SettleClaimsStatus.ACCEPTANCE);
                    Constants.equalsInteger(dto.getStatus(),Constants.ZERO)?dto.getDescribe():(dto.getDescribe() + " 问题类型:"+dto.getSyProblemOpts())
                    ,Constants.SettleClaimsStatus.ACCEPTANCE);
        }else if(Constants.equalsInteger(dto.getStatus(),Constants.ONE)){
            //拒绝受理
            settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
@@ -2150,7 +2173,7 @@
            //存储日志
            this.saveSettleClaimsLog(settleClaims,
                    Constants.SettleClaimsLogType.PLATFORM_WAIT_DISCUSS,
                    dto.getDescribe(),Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT);
                    dto.getDescribe() + " 问题类型:"+dto.getSyProblemOpts(),Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT);
        }
        if( Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey()) ||