From 1cad14bca191807e18705c3a5526eda8151be439 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 14 四月 2025 23:10:22 +0800
Subject: [PATCH] 批量审核和图片保存bug

---
 ycl-platform/src/main/java/com/ycl/task/SynchronizeDHAlarm.java                             |    7 +
 ycl-platform/src/main/java/com/ycl/service/caseHandler/ICheckHandleService.java             |    8 +
 ycl-platform/src/main/java/com/ycl/service/resources/IImageResourcesService.java            |    2 
 ycl-platform/src/main/java/com/ycl/dto/caseHandler/CheckParam.java                          |    7 +
 ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java                                  |   34 ++++---
 ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml                       |    6 
 document/副本丽水市遂昌县智慧执法应用-资源开通表 -0228.xlsx                                                    |    0 
 document/遂昌服务迁移报价.xlsx                                                                      |    0 
 ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java           |   18 ++++
 ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java                       |    8 -
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java |   14 ++-
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java     |   35 ++++++--
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java   |   38 +++++++--
 ycl-platform/src/main/java/com/ycl/controller/caseHandler/CheckHandleController.java        |   24 ++++-
 ycl-platform/src/main/java/com/ycl/service/resources/impl/ImageResourcesServiceImpl.java    |    7 +
 15 files changed, 144 insertions(+), 64 deletions(-)

diff --git "a/document/\345\211\257\346\234\254\344\270\275\346\260\264\345\270\202\351\201\202\346\230\214\345\216\277\346\231\272\346\205\247\346\211\247\346\263\225\345\272\224\347\224\250-\350\265\204\346\272\220\345\274\200\351\200\232\350\241\250 -0228.xlsx" "b/document/\345\211\257\346\234\254\344\270\275\346\260\264\345\270\202\351\201\202\346\230\214\345\216\277\346\231\272\346\205\247\346\211\247\346\263\225\345\272\224\347\224\250-\350\265\204\346\272\220\345\274\200\351\200\232\350\241\250 -0228.xlsx"
index 7b5c1d8..6181063 100644
--- "a/document/\345\211\257\346\234\254\344\270\275\346\260\264\345\270\202\351\201\202\346\230\214\345\216\277\346\231\272\346\205\247\346\211\247\346\263\225\345\272\224\347\224\250-\350\265\204\346\272\220\345\274\200\351\200\232\350\241\250 -0228.xlsx"
+++ "b/document/\345\211\257\346\234\254\344\270\275\346\260\264\345\270\202\351\201\202\346\230\214\345\216\277\346\231\272\346\205\247\346\211\247\346\263\225\345\272\224\347\224\250-\350\265\204\346\272\220\345\274\200\351\200\232\350\241\250 -0228.xlsx"
Binary files differ
diff --git "a/document/\351\201\202\346\230\214\346\234\215\345\212\241\350\277\201\347\247\273\346\212\245\344\273\267.xlsx" "b/document/\351\201\202\346\230\214\346\234\215\345\212\241\350\277\201\347\247\273\346\212\245\344\273\267.xlsx"
new file mode 100644
index 0000000..4d0025e
--- /dev/null
+++ "b/document/\351\201\202\346\230\214\346\234\215\345\212\241\350\277\201\347\247\273\346\212\245\344\273\267.xlsx"
Binary files differ
diff --git a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
index a66779b..3cae4d0 100644
--- a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
@@ -169,18 +169,14 @@
             if (imgFile.contains("?")) {
                 fileName = imgFile.substring(0, imgFile.indexOf("?"));
             }
-            try {
 
-                fileName = URLDecoder.decode(fileName, "UTF-8");
-            } catch (UnsupportedEncodingException ex) {
-//                throw new RuntimeException(ex);
-            }
+            fileName = URLDecoder.decode(fileName, "UTF-8");
 
             // 鏍规嵁BucketName,objectName鍒犻櫎鏂囦欢
             boolean b = ossClient.doesObjectExist(bucketName, fileName);
             if (b) {
                 VoidResult voidResult = ossClient.deleteObject(bucketName, fileName);
-                System.out.println(voidResult.toString());
+//                System.out.println(voidResult.toString());
             }
             ossClient.shutdown();
             return true;
diff --git a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
index a028a7d..7acfe0e 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
@@ -13,6 +13,7 @@
 import com.ycl.controller.BaseController;
 import com.ycl.common.constant.BaseCaseStatus;
 import com.ycl.common.util.UtilNumber;
+import com.ycl.dto.caseHandler.CheckParam;
 import com.ycl.dto.caseHandler.QueryForViolationParam;
 import com.ycl.dto.casePool.IllegalBuildingParam;
 import com.ycl.dto.casePool.VideoInspectParam;
@@ -181,6 +182,8 @@
                 stateList.add(3);
                 stateList.add(4);
                 stateList.add(9);
+                break;
+            case "-1":
                 break;
             default:
                 stateList.add(Integer.valueOf(state));
@@ -353,7 +356,7 @@
                 ImageResources imageResources = new ImageResources();
                 imageResources.setType("01");
                 imageResources.setBelongToId(baseCase.getId());
-                imageResources.setUrl(illegalBuildingParam.getImageUrls().toString());
+                imageResources.setUrl(String.join(",", illegalBuildingParam.getImageUrls()));
                 imageResources.setCreateTime(LocalDateTime.now());
                 imageResources.setCreateUser(user.getUserId());
                 iImageResourcesService.save(imageResources);
@@ -483,6 +486,19 @@
         return CommonResult.success("end case success~!");
     }
 
+    @ApiOperation(value = "鎵归噺缁撴")
+    @RequestMapping(value = "/end_case_batch", method = RequestMethod.POST)
+    @ResponseBody
+    @LogSave(operationType = "鎵归噺缁撴", contain = "鎵归噺缁撴")
+    public CommonResult endCaseBatch(@RequestBody CheckParam checkParam) {
+        checkParam.getIds().forEach(o -> {
+            String result = "缁撴";
+            String opinion = "鍚屾剰缁撴";
+            baseCaseService.endCase(o, result, opinion);
+        });
+        return CommonResult.success("end case success~!");
+    }
+
     @ApiOperation(value = "鏌ヨ妗堝嵎")
     @GetMapping("/query_case")
     public CommonResult<Page<BaseCase>> queryCase(@RequestParam Integer pageSize,
diff --git a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/CheckHandleController.java b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/CheckHandleController.java
index ba55a2e..21dd75d 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/CheckHandleController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/CheckHandleController.java
@@ -3,7 +3,7 @@
 import com.ycl.annotation.LogSave;
 import com.ycl.api.CommonResult;
 import com.ycl.bo.AdminUserDetails;
-import com.ycl.dto.caseHandler.ChechParam;
+import com.ycl.dto.caseHandler.CheckParam;
 import com.ycl.service.caseHandler.ICheckHandleService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -12,9 +12,12 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
- *   瀹℃牳澶勭悊 鍓嶇鎺у埗鍣�
+ * 瀹℃牳澶勭悊 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author mg
@@ -32,10 +35,19 @@
     @ApiOperation(value = "瀹℃牳")
     @RequestMapping(value = "/check", method = RequestMethod.POST)
     @ResponseBody
-    @LogSave(operationType = "瀹℃牳绠$悊",contain = "妗堜欢瀹℃牳")
-    public CommonResult check(@Validated @RequestBody ChechParam chechParam) {
+    @LogSave(operationType = "瀹℃牳绠$悊", contain = "妗堜欢瀹℃牳")
+    public CommonResult check(@Validated @RequestBody CheckParam checkParam) {
         AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
-        chechParam.setCurrentUser(user.getUserId());
-        return CommonResult.success(iCheckHandleService.check(chechParam));
+        checkParam.setCurrentUser(user.getUserId());
+        return CommonResult.success(iCheckHandleService.check(checkParam));
+    }
+
+    @ApiOperation(value = "瀹℃牳")
+    @RequestMapping(value = "/check_batch", method = RequestMethod.POST)
+    @ResponseBody
+    @LogSave(operationType = "瀹℃牳绠$悊", contain = "妗堜欢瀹℃牳")
+    public CommonResult checkBatch(@RequestBody CheckParam checkParam) {
+        AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+        return CommonResult.success(iCheckHandleService.checkBatch(checkParam.getIds(), user.getUserId()));
     }
 }
diff --git a/ycl-platform/src/main/java/com/ycl/dto/caseHandler/ChechParam.java b/ycl-platform/src/main/java/com/ycl/dto/caseHandler/CheckParam.java
similarity index 88%
rename from ycl-platform/src/main/java/com/ycl/dto/caseHandler/ChechParam.java
rename to ycl-platform/src/main/java/com/ycl/dto/caseHandler/CheckParam.java
index 0ebaa9a..85838d9 100644
--- a/ycl-platform/src/main/java/com/ycl/dto/caseHandler/ChechParam.java
+++ b/ycl-platform/src/main/java/com/ycl/dto/caseHandler/CheckParam.java
@@ -4,6 +4,8 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * <p>
  * 瀹℃牳鍙傛暟绫�
@@ -13,8 +15,8 @@
  * @since 2022-10-02
  */
 @Data
-@ApiModel("ChechParam")
-public class ChechParam {
+@ApiModel("CheckParam")
+public class CheckParam {
     /**
      * 妗堜欢id
      */
@@ -41,4 +43,5 @@
     @ApiModelProperty(value = "瀹℃牳缁撴灉")
     private String result;
 
+    private List<Long> ids;
 }
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/ICheckHandleService.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/ICheckHandleService.java
index 6a3a2de..a20b6de 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/ICheckHandleService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/ICheckHandleService.java
@@ -1,6 +1,8 @@
 package com.ycl.service.caseHandler;
 
-import com.ycl.dto.caseHandler.ChechParam;
+import com.ycl.dto.caseHandler.CheckParam;
+
+import java.util.List;
 
 /**
  * <p>
@@ -11,5 +13,7 @@
  * @since 2022-10-02
  */
 public interface ICheckHandleService {
-    Boolean check(ChechParam chechParam);
+    Boolean check(CheckParam checkParam);
+
+    Boolean checkBatch(List<Long> ids, Long userId);
 }
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java
index 5387357..b0a9382 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java
@@ -6,7 +6,7 @@
 import com.ycl.common.constant.BaseCaseStatus;
 import com.ycl.common.constant.CheckResult;
 import com.ycl.common.constant.StepName;
-import com.ycl.dto.caseHandler.ChechParam;
+import com.ycl.dto.caseHandler.CheckParam;
 import com.ycl.entity.caseHandler.BaseCase;
 import com.ycl.entity.caseHandler.DisposeRecord;
 import com.ycl.entity.caseHandler.WorkflowConfigStep;
@@ -20,6 +20,7 @@
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * <p>
@@ -42,27 +43,26 @@
     WorkflowConfigStepMapper workflowConfigStepMapper;
 
     @Override
-    public Boolean check(ChechParam chechParam) {
-
+    public Boolean check(CheckParam checkParam) {
 
         QueryWrapper<WorkflowConfigStep> stepQurey = new QueryWrapper<>();
         stepQurey.eq("name", StepName.CHECK.getName());
         WorkflowConfigStep workflowConfigStep = workflowConfigStepMapper.selectOne(stepQurey);
         //淇敼妗堜欢鐘舵�佷负瀹℃牳
         BaseCase baseCase = new BaseCase();
-        baseCase.setId(chechParam.getBaseCaseId());
-        baseCase.setAuditOpinion(chechParam.getCheckOpinion());
+        baseCase.setId(checkParam.getBaseCaseId());
+        baseCase.setAuditOpinion(checkParam.getCheckOpinion());
         //淇敼鏍告煡璁板綍
         DisposeRecord disposeRecord = new DisposeRecord();
         //椹冲洖澶勭悊
-        if (CheckResult.REJECT.getName().equals(chechParam.getResult())) {
+        if (CheckResult.REJECT.getName().equals(checkParam.getResult())) {
             QueryWrapper<WorkflowConfigStep> lastNextqurey = new QueryWrapper<>();
             lastNextqurey.eq("workflow_config_id", workflowConfigStep.getWorkflowConfigId());
             lastNextqurey.eq("seq", workflowConfigStep.getSeq());
             WorkflowConfigStep lastStep = workflowConfigStepMapper.selectOne(lastNextqurey);
             //鍒犻櫎褰撳墠鏁版嵁
             UpdateWrapper<DisposeRecord> deleteWrapper = new UpdateWrapper<>();
-            deleteWrapper.eq("base_case_id", chechParam.getBaseCaseId()).eq("workflow_config_step_id", lastStep.getId());
+            deleteWrapper.eq("base_case_id", checkParam.getBaseCaseId()).eq("workflow_config_step_id", lastStep.getId());
             disposeRecordMapper.delete(deleteWrapper);
             //淇敼鐘舵�佷负涓婁竴姝ョ姸鎬�
             QueryWrapper<WorkflowConfigStep> lastLastNextqurey = new QueryWrapper<>();
@@ -71,7 +71,7 @@
             WorkflowConfigStep lastLastStep = workflowConfigStepMapper.selectOne(lastLastNextqurey);
 
             UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>();
-            updateWrapper.eq("base_case_id", chechParam.getBaseCaseId()).eq("workflow_config_step_id", lastLastStep.getId());
+            updateWrapper.eq("base_case_id", checkParam.getBaseCaseId()).eq("workflow_config_step_id", lastLastStep.getId());
 
             //澶勭悊鏈紑濮�
             disposeRecord.setState(0);
@@ -93,10 +93,10 @@
         UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>();
         updateWrapper.eq("base_case_id", baseCase.getId()).eq("workflow_config_step_id", workflowConfigStep.getId());
 
-        disposeRecord.setHandlerId(chechParam.getCurrentUser());
+        disposeRecord.setHandlerId(checkParam.getCurrentUser());
         //鏍告煡宸茬粨鏉�
         disposeRecord.setState(1);
-        disposeRecord.setResult(chechParam.getResult());
+        disposeRecord.setResult(checkParam.getResult());
         disposeRecord.setEndTime(LocalDateTime.now());
         disposeRecordMapper.update(disposeRecord, updateWrapper);
 
@@ -114,10 +114,23 @@
         //涓婁紶澶勭疆鏈粨鏉�
         stepNextRecord.setState(0);
         stepNextRecord.setStartTime(LocalDateTime.now());
-        stepNextRecord.setCreateUser(chechParam.getCurrentUser());
+        stepNextRecord.setCreateUser(checkParam.getCurrentUser());
         stepNextRecord.setCreateTime(LocalDateTime.now());
 
         disposeRecordMapper.insert(stepNextRecord);
         return true;
     }
+
+    @Override
+    public Boolean checkBatch(List<Long> ids, Long userId) {
+        ids.forEach(id -> {
+            CheckParam checkParam = new CheckParam();
+            checkParam.setCurrentUser(userId);
+            checkParam.setBaseCaseId(id);
+            checkParam.setResult(CheckResult.PASS.getName());
+            checkParam.setCheckOpinion("鍚屾剰");
+            this.check(checkParam);
+        });
+        return null;
+    }
 }
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
index 9f9bc7a..f2f4c28 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
@@ -33,6 +33,7 @@
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 
@@ -129,6 +130,18 @@
             uploadDisposingResultParam.setInvestigationTime(uploadDisposingResultParam.getInvestigationTime().replace("/", "-"));
         }
 
+        List<String> pics = new ArrayList<>();
+        uploadDisposingResultParam.getPic().forEach(o -> {
+            pics.add(o.replace("/sccg/API/img?fileUrl=", ""));
+        });
+        uploadDisposingResultParam.setPic(pics);
+
+        List<String> situationPics = new ArrayList<>();
+        uploadDisposingResultParam.getSituationPic().forEach(o -> {
+            situationPics.add(o.replace("/sccg/API/img?fileUrl=", ""));
+        });
+        uploadDisposingResultParam.setSituationPic(situationPics);
+
         AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
         List<ArrivalSituation> list = iArrivalSituationService.list(new LambdaQueryWrapper<ArrivalSituation>().eq(ArrivalSituation::getBaseCaseId, uploadDisposingResultParam.getCaseId()));
         if (!list.isEmpty()) {
@@ -147,7 +160,7 @@
                 investigation.setBaseCaseId(uploadDisposingResultParam.getCaseId());
                 investigation.setPartyId(partyInfo.getId());
                 //TODO:鏀逛负闆嗗悎鐨勫瓧绗︿覆褰㈠紡
-                investigation.setPic(uploadDisposingResultParam.getPic().toString());
+                investigation.setPic(String.join(",", uploadDisposingResultParam.getPic()));
                 //TODO:灏忕▼搴忓墠绔〉闈㈡病鏈夎皟鏌ユ椂闂达紝鏆傛椂涓嶅~
                 //investigation.setInvestigationTime(LocalDateTime.parse(uploadDisposingResultParam.getInvestigationTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                 investigation.setId(uploadDisposingResultParam.getInvestigationId());
@@ -160,16 +173,18 @@
             arrivalSituation.setArrivalTime(LocalDateTime.parse(uploadDisposingResultParam.getArrivalTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
             arrivalSituation.setId(uploadDisposingResultParam.getArrivalSituationId());
             //TODO:鏀逛负闆嗗悎鐨勫瓧绗︿覆褰㈠紡
-            arrivalSituation.setSituationPic(uploadDisposingResultParam.getSituationPic().toString());
+            arrivalSituation.setSituationPic(String.join(",", uploadDisposingResultParam.getSituationPic()));
             iArrivalSituationService.updateById(arrivalSituation);
             //鏂囦功
             String handType = "02";
+            iImageResourcesService.deleteByCaseId(uploadDisposingResultParam.getCaseId(), handType);
             ImageResources imageResources = new ImageResources();
             imageResources.setType(handType);
             imageResources.setBelongToId(uploadDisposingResultParam.getCaseId());
-            imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic().toString(), uploadDisposingResultParam.getSituationPic().toString()));
-            imageResources.setId(uploadDisposingResultParam.getImageResourcesId());
-            iImageResourcesService.updateById(imageResources);
+            imageResources.setUrl(StringUtils.joinWith(",",
+                    String.join(",", uploadDisposingResultParam.getPic()),
+                    String.join(",", uploadDisposingResultParam.getSituationPic())));
+            iImageResourcesService.save(imageResources);
             if (uploadDisposingResultParam.getWritCode() != null && uploadDisposingResultParam.getWritType() != null) {
                 Writ writ = new Writ();
                 BeanUtils.copyProperties(uploadDisposingResultParam, writ);
@@ -202,7 +217,7 @@
             investigation.setBaseCaseId(uploadDisposingResultParam.getCaseId());
             investigation.setCreateTime(LocalDateTime.now());
             //TODO:鏀逛负闆嗗悎鐨勫瓧绗︿覆褰㈠紡
-            investigation.setPic(uploadDisposingResultParam.getPic().toString());
+            investigation.setPic(String.join(",", uploadDisposingResultParam.getPic()));
             investigation.setCreateUser(user.getUserId());
             investigation.setPartyId(partyInfo.getId());
 
@@ -216,7 +231,7 @@
             arrivalSituation.setCreateTime(LocalDateTime.now());
             arrivalSituation.setCreateUser(user.getUserId());
             //TODO:鏀逛负闆嗗悎鐨勫瓧绗︿覆褰㈠紡
-            arrivalSituation.setSituationPic(uploadDisposingResultParam.getSituationPic().toString());
+            arrivalSituation.setSituationPic(String.join(",", uploadDisposingResultParam.getSituationPic()));
             arrivalSituation.setArrivalTime(LocalDateTime.parse(uploadDisposingResultParam.getArrivalTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
             iArrivalSituationService.save(arrivalSituation);
             //鏂囦功
@@ -226,7 +241,9 @@
             imageResources.setBelongToId(uploadDisposingResultParam.getCaseId());
             imageResources.setCreateTime(LocalDateTime.now());
             imageResources.setCreateUser(user.getUserId());
-            imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic().toString(), uploadDisposingResultParam.getSituationPic().toString()));
+            imageResources.setUrl(StringUtils.joinWith(",",
+                    String.join(",", uploadDisposingResultParam.getPic()),
+                    String.join(",", uploadDisposingResultParam.getSituationPic())));
             iImageResourcesService.save(imageResources);
             if (uploadDisposingResultParam.getWritCode() != null && uploadDisposingResultParam.getWritType() != null) {
                 Writ writ = new Writ();
@@ -240,8 +257,9 @@
                 writ.setSendTime(LocalDateTime.parse(uploadDisposingResultParam.getSendTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                 iWritService.save(writ);
                 imageResources.setUrl(StringUtils
-                        .joinWith(",", uploadDisposingResultParam.getPic().toString()
-                                , uploadDisposingResultParam.getSituationPic().toString()
+                        .joinWith(","
+                                , String.join(",", uploadDisposingResultParam.getPic())
+                                , String.join(",", uploadDisposingResultParam.getSituationPic())
                                 , uploadDisposingResultParam.getOriginalPic()
                                 , uploadDisposingResultParam.getOtherPic()
                                 , uploadDisposingResultParam.getRectifiedPic()
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
index c32af93..35c6654 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
@@ -60,6 +60,7 @@
     UmsAdminService umsAdminService;
     @Autowired
     DingMessageMapper dingMessageMapper;
+
     @Override
     @Transactional
     public DispatchInfo dispatch(DispatchInfoParam dispatchInfoParam) {
@@ -119,12 +120,13 @@
         String baseCaseCode = baseCaseForCode.getCode();
         Long lawEnforcer = dispatchInfoParam.getLawEnforcer();
         Long accountId = umsAdminService.getById(lawEnforcer).getAccountId();
-        DingMessage dingMessage = DingMessage.builder()
-                .accountId(accountId)
-                .baseCaseCode(baseCaseCode)
-                .createTime(new Date()).build();
-        dingMessageMapper.insert(dingMessage);
-
+        if (accountId != null) {
+            DingMessage dingMessage = DingMessage.builder()
+                    .accountId(accountId)
+                    .baseCaseCode(baseCaseCode)
+                    .createTime(new Date()).build();
+            dingMessageMapper.insert(dingMessage);
+        }
         return dispatchInfo;
     }
 
diff --git a/ycl-platform/src/main/java/com/ycl/service/resources/IImageResourcesService.java b/ycl-platform/src/main/java/com/ycl/service/resources/IImageResourcesService.java
index 02289a5..b5334fa 100644
--- a/ycl-platform/src/main/java/com/ycl/service/resources/IImageResourcesService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/resources/IImageResourcesService.java
@@ -23,4 +23,6 @@
 
 
     Map<Long, String> getUrlMap(Collection<Long> ids, String type);
+
+    void deleteByCaseId(Long caseId, String handType);
 }
diff --git a/ycl-platform/src/main/java/com/ycl/service/resources/impl/ImageResourcesServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/resources/impl/ImageResourcesServiceImpl.java
index 394120d..fe286a2 100644
--- a/ycl-platform/src/main/java/com/ycl/service/resources/impl/ImageResourcesServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/resources/impl/ImageResourcesServiceImpl.java
@@ -51,4 +51,11 @@
         return list.stream().collect(Collectors.toMap(ImageResources::getBelongToId, ImageResources::getUrl, (v1, v2) -> v1));
     }
 
+    @Override
+    public void deleteByCaseId(Long caseId, String handType) {
+        LambdaQueryWrapper<ImageResources> wrapper = new QueryWrapper<ImageResources>().lambda().eq(ImageResources::getBelongToId, caseId).eq(ImageResources::getType, handType);
+        imageResourcesMapper.delete(wrapper);
+
+    }
+
 }
diff --git a/ycl-platform/src/main/java/com/ycl/task/SynchronizeDHAlarm.java b/ycl-platform/src/main/java/com/ycl/task/SynchronizeDHAlarm.java
index ac569d2..9f42306 100644
--- a/ycl-platform/src/main/java/com/ycl/task/SynchronizeDHAlarm.java
+++ b/ycl-platform/src/main/java/com/ycl/task/SynchronizeDHAlarm.java
@@ -83,8 +83,8 @@
     }
 
 
-    @Scheduled(cron = "0 0 16 * * ?")
-    @Transactional(rollbackFor = Exception.class)
+    @Scheduled(cron = "0 0 0 * * ?")
+//    @Transactional(rollbackFor = Exception.class)
     public void deleteAlarmTask() {
         System.out.println("----------------鎵ц娓呴櫎鏁版嵁浠诲姟:");
         int i = 1;
@@ -101,7 +101,10 @@
                     for (String url : urls) {
                         ossService.deleteImages(url);
                     }
+
                     baseCaseService.removeById(baseCaseVO.getBaseId());
+                    violationsService.removeById(baseCaseVO.getBaseId());
+
                     imageService.removeById(baseCaseVO.getImageId());
 
                     System.out.println("----------------娓呴櫎鏁版嵁鏁版嵁鎴愬姛锛宨d:" + baseCaseVO.getBaseId());
diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
index 1d1099d..6769787 100644
--- a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
+++ b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -76,13 +76,13 @@
             <if test="type!=null">
                 and ubc.category=#{type}
             </if>
-            <if test="code!=null">
+            <if test="code!=null and code!=''">
                 and ubc.code=#{code}
             </if>
-            <if test="categoryBig != null">
+            <if test="categoryBig != null and categoryBig!=''">
                 and t3.name like concat('%', #{categoryBig},'%')
             </if>
-            <if test="categorySmall != null">
+            <if test="categorySmall != null and categoryBig!=''">
                 and t4.name like concat('%', #{categorySmall},'%')
             </if>
             <if test="street != null">
diff --git a/ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java b/ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java
index 41ff749..15dd229 100644
--- a/ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java
+++ b/ycl-platform/src/test/java/com/ycl/sccgplatform/Test1.java
@@ -17,6 +17,7 @@
 import com.ycl.service.caseHandler.IBaseCaseService;
 import com.ycl.service.caseHandler.IViolationsService;
 import com.ycl.service.oss.OssService;
+import com.ycl.service.resources.IImageResourcesService;
 import com.ycl.utils.ConstantPropertiesUtils;
 import com.ycl.vo.casePool.BaseCaseVO;
 import net.coobird.thumbnailator.Thumbnails;
@@ -47,6 +48,8 @@
     @Autowired
     private IViolationsService violationsService;
 
+    @Autowired
+    private IImageResourcesService imageService;
     @Resource
     private UnlawfulMapper unlawfuldao;
     @Autowired
@@ -235,27 +238,28 @@
 
 //        ossService.deleteImages("https://xshlivelesson.oss-cn-shenzhen.aliyuncs.com/sczf/2025022845414037.JPG?Expires=2686811218&OSSAccessKeyId=LTAIDlTWjHW0IVyW&Signature=5SQ7PInLkbd62zJ1aurljeO0c%2Bw%3D");
 //
-//        int i = 1;
-//        while (true) {
-//            String beginTime = "2025-01-01 00:00:00";
-//            String endTime = LocalDateTime.now().plusDays(-4).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
-//            Page<BaseCaseVO> page = baseCaseService.selectVideoInspection(i, 10, null, null, beginTime, endTime, null);
-//            if (page.getRecords().size() > 0) {
-//                page.getRecords().forEach(baseCaseVO -> {
+        int i = 1;
+        while (true) {
+            String beginTime = "2025-01-01 00:00:00";
+            String endTime = LocalDateTime.now().plusDays(-4).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+            Page<BaseCaseVO> page = baseCaseService.selectVideoInspection(i, 10, null, null, beginTime, endTime, null);
+            if (page.getRecords().size() > 0) {
+                page.getRecords().forEach(baseCaseVO -> {
 //                    String picData = baseCaseVO.getPicData();
 //                    String[] urls = picData.split(",");
 //                    for (String url : urls) {
 //                        ossService.deleteImages(url);
 //
 //                    }
-//                    baseCaseService.removeById(baseCaseVO.getBaseId());
-//                    violationsService.removeById(baseCaseVO.getBaseId());
-//                });
-//            } else {
-//                break;
-//            }
-//            i++;
-//        }
+                    baseCaseService.removeById(baseCaseVO.getBaseId());
+                    violationsService.removeById(baseCaseVO.getBaseId());
+                    imageService.removeById(baseCaseVO.getImageId());
+                });
+            } else {
+                break;
+            }
+            i++;
+        }
     }
 
 

--
Gitblit v1.8.0