From 16bb7baba5a6c3a777d21938a43e98b9108244b8 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 19 六月 2025 09:38:42 +0800
Subject: [PATCH] 自动下发功能优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java
index d21aa52..7c95b75 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java
@@ -12,8 +12,10 @@
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.common.domain.KeyValVo;
 import com.vincent.rsf.server.common.domain.PageParam;
+import com.vincent.rsf.server.manager.entity.TaskItem;
 import com.vincent.rsf.server.manager.entity.Wave;
 import com.vincent.rsf.server.manager.entity.WaveItem;
+import com.vincent.rsf.server.manager.service.TaskItemService;
 import com.vincent.rsf.server.manager.service.WaveService;
 import com.vincent.rsf.server.system.controller.BaseController;
 import io.swagger.annotations.ApiOperation;
@@ -30,6 +32,8 @@
 
     @Autowired
     private WaveService waveService;
+    @Autowired
+    private TaskItemService taskItemService;
 
     @PreAuthorize("hasAuthority('manager:wave:list')")
     @PostMapping("/wave/page")
@@ -85,10 +89,15 @@
     @OperationLog("Delete 娉㈡鍗曟嵁")
     @PostMapping("/wave/remove/{ids}")
     public R remove(@PathVariable Long[] ids) {
-        if (!waveService.removeByIds(Arrays.asList(ids))) {
-            return R.error("Delete Fail");
+        if (Objects.isNull(ids)) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
-        return R.ok("Delete Success").add(ids);
+        List<Long> list = Arrays.asList(ids);
+        List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getSourceId, list));
+        if (!taskItems.isEmpty()) {
+            throw new CoolException("鏈夋湭瀹屾垚浠诲姟锛屼笉鍙墽琛屽垹闄ゆ搷浣滐紒锛�");
+        }
+        return waveService.cancelWave(list);
     }
 
     @PreAuthorize("hasAuthority('manager:wave:list')")

--
Gitblit v1.9.1