From 897cfd777e8b23dc0e3f58cd7e412f3942779a71 Mon Sep 17 00:00:00 2001 From: tianxinlei Date: Fri, 26 Jun 2026 11:33:45 +0800 Subject: [PATCH] =?UTF-8?q?6-26=20-=20bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/tasklist/TaskExecutionCloseExe.java | 11 +++++++++++ .../command/tasklist/TaskListIssueCloseExe.java | 11 +++++++++++ .../command/tasklist/TaskListStatusUpdateExe.java | 11 ++++++++++- 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/TaskExecutionCloseExe.java b/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/TaskExecutionCloseExe.java index f8a7c96..c88bb97 100644 --- a/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/TaskExecutionCloseExe.java +++ b/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/TaskExecutionCloseExe.java @@ -1,11 +1,13 @@ package com.zcloud.safetyDutyList.command.tasklist; import com.alibaba.cola.exception.BizException; +import com.zcloud.safetyDutyList.command.query.tasklist.MessageNoticeExe; import com.zcloud.safetyDutyList.domain.enums.TaskStatusEnum; import com.zcloud.safetyDutyList.domain.gateway.tasklist.TaskDetailGateway; import com.zcloud.safetyDutyList.domain.gateway.tasklist.TaskExecutionGateway; import com.zcloud.safetyDutyList.domain.model.tasklist.TaskExecutionE; import com.zcloud.safetyDutyList.dto.tasklist.TaskExecutionCloseCmd; +import lombok.extern.slf4j.Slf4j; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -20,10 +22,12 @@ import java.util.List; * 2. 将任务模板状态更新为已关闭 * 3. 同时关闭关联的所有进行中的任务执行记录 */ +@Slf4j @Component @AllArgsConstructor public class TaskExecutionCloseExe { private final TaskExecutionGateway taskExecutionGateway; + private final MessageNoticeExe messageNoticeExe; @Transactional(rollbackFor = Exception.class) public void execute(TaskExecutionCloseCmd cmd) { @@ -38,5 +42,12 @@ public class TaskExecutionCloseExe { if (!res) { throw new BizException("关闭任务失败"); } + + // 完成待办 + try { + messageNoticeExe.sendMessageCompleteEvent(executionE.getId()); + } catch (Exception e) { + log.error("关闭任务时,完成待办失败",e); + } } } diff --git a/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/TaskListIssueCloseExe.java b/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/TaskListIssueCloseExe.java index a18048a..3d5c118 100644 --- a/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/TaskListIssueCloseExe.java +++ b/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/TaskListIssueCloseExe.java @@ -3,12 +3,14 @@ package com.zcloud.safetyDutyList.command.tasklist; import com.alibaba.cola.exception.BizException; import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.safetyDutyList.command.query.tasklist.MessageNoticeExe; import com.zcloud.safetyDutyList.domain.enums.TaskStatusEnum; import com.zcloud.safetyDutyList.domain.gateway.tasklist.TaskExecutionGateway; import com.zcloud.safetyDutyList.domain.gateway.tasklist.TaskListGateway; import com.zcloud.safetyDutyList.domain.gateway.tasklist.TaskListIssueGateway; import com.zcloud.safetyDutyList.domain.model.tasklist.TaskExecutionE; import com.zcloud.safetyDutyList.domain.model.tasklist.TaskListIssueE; +import lombok.extern.slf4j.Slf4j; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -26,12 +28,14 @@ import java.util.Objects; * 3. 同时关闭该清单下所有进行中的下发记录 * 4. 同时关闭所有下发记录下进行中的任务执行记录 */ +@Slf4j @Component @AllArgsConstructor public class TaskListIssueCloseExe { private final TaskListGateway taskListGateway; private final TaskListIssueGateway taskListIssueGateway; private final TaskExecutionGateway taskExecutionGateway; + private final MessageNoticeExe messageNoticeExe; @Transactional(rollbackFor = Exception.class) public void execute(String taskIssueId) { @@ -67,6 +71,13 @@ public class TaskListIssueCloseExe { executionE.setTaskStatus(TaskStatusEnum.CLOSED.getCode()); taskExecutionGateway.update(executionE); } + + try { + // 完成待办 + messageNoticeExe.sendMessageCompleteEvent(executionE.getId()); + } catch (Exception e) { + log.error("关闭下发记录时,完成待办失败", e); + } } } } diff --git a/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/TaskListStatusUpdateExe.java b/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/TaskListStatusUpdateExe.java index 6d18c87..caec6a5 100644 --- a/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/TaskListStatusUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/safetyDutyList/command/tasklist/TaskListStatusUpdateExe.java @@ -1,5 +1,6 @@ package com.zcloud.safetyDutyList.command.tasklist; +import com.zcloud.safetyDutyList.command.query.tasklist.MessageNoticeExe; import com.zcloud.safetyDutyList.domain.enums.TaskStatusEnum; import com.zcloud.safetyDutyList.domain.gateway.tasklist.TaskExecutionGateway; import com.zcloud.safetyDutyList.domain.gateway.tasklist.TaskListIssueGateway; @@ -26,6 +27,7 @@ import java.util.List; public class TaskListStatusUpdateExe { private final TaskListIssueGateway taskListIssueGateway; private final TaskExecutionGateway taskExecutionGateway; + private final MessageNoticeExe messageNoticeExe; @Scheduled(cron = "0 0 1 * * ?") @Transactional(rollbackFor = Exception.class) @@ -41,7 +43,7 @@ public class TaskListStatusUpdateExe { issueE.setStatus(TaskStatusEnum.COMPLETED.getCode()); taskListIssueGateway.update(issueE); - // 同时关闭该下发记录下所有进行中的任务执行记录 + // 同时将该下发记录下所有进行中的任务执行记录 List executionList = taskExecutionGateway.listByTaskIssueId(issueE.getTaskIssueId()); if (executionList != null) { for (TaskExecutionE executionE : executionList) { @@ -49,6 +51,13 @@ public class TaskListStatusUpdateExe { executionE.setTaskStatus(TaskStatusEnum.COMPLETED.getCode()); taskExecutionGateway.update(executionE); } + + // 完成待办 + try { + messageNoticeExe.sendMessageCompleteEvent(executionE.getId()); + } catch (Exception e) { + log.error("【定时任务1】完成待办失败", e); + } } } }