From 058a40c60af7d3823845d8f4ab24b0abb48576d1 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 29 五月 2025 18:20:56 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java |   41 ++++++++++++++++++++++++++++++++---------
 1 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
index c7a167c..4ae7353 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
+++ b/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(),"瀵逛笉璧凤紝鍑洪櫓浜轰俊鎭笉姝g‘锛�");
+        }
+        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()) ||

--
Gitblit v1.9.3