diff --git a/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/RemoteTaskService.java b/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/RemoteTaskService.java index 74e9326..e89bb0f 100644 --- a/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/RemoteTaskService.java +++ b/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/RemoteTaskService.java @@ -3,6 +3,9 @@ package com.ruoyi.task.api; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; +import com.ruoyi.task.api.domain.TaskDeleteVO; +import com.ruoyi.task.api.domain.TaskPauseVO; +import com.ruoyi.task.api.domain.TaskResumeVO; import com.ruoyi.task.api.domain.TaskResultVO; import com.ruoyi.task.api.domain.TaskVO; import com.ruoyi.task.api.domain.TaskTempVO; @@ -145,4 +148,37 @@ public interface RemoteTaskService */ @GetMapping("/task/pending-auto") R> getPendingTasksForAutoExecute(@RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 删除任务或计划(逻辑删除,设置 valid 为 false) + * + * @param deleteVO 删除请求参数 + * @param source 请求来源 + * @return 结果 + */ + @PostMapping("/task/delete") + R deleteTaskOrPlan(@RequestBody TaskDeleteVO deleteVO, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 暂停任务或计划 + * + * @param pauseVO 暂停请求参数 + * @param source 请求来源 + * @return 结果 + */ + @PostMapping("/task/pause") + R pauseTaskOrPlan(@RequestBody TaskPauseVO pauseVO, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 恢复任务或计划 + * + * @param resumeVO 恢复请求参数 + * @param source 请求来源 + * @return 结果 + */ + @PostMapping("/task/resume") + R resumeTaskOrPlan(@RequestBody TaskResumeVO resumeVO, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } \ No newline at end of file diff --git a/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/domain/TaskDeleteVO.java b/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/domain/TaskDeleteVO.java new file mode 100644 index 0000000..0f689a0 --- /dev/null +++ b/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/domain/TaskDeleteVO.java @@ -0,0 +1,24 @@ +package com.ruoyi.task.api.domain; + +public class TaskDeleteVO { + + private Long planId; + + private Long taskId; + + public Long getPlanId() { + return planId; + } + + public void setPlanId(Long planId) { + this.planId = planId; + } + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } +} diff --git a/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/domain/TaskPauseVO.java b/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/domain/TaskPauseVO.java new file mode 100644 index 0000000..86bf879 --- /dev/null +++ b/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/domain/TaskPauseVO.java @@ -0,0 +1,24 @@ +package com.ruoyi.task.api.domain; + +public class TaskPauseVO { + + private Long planId; + + private Long taskId; + + public Long getPlanId() { + return planId; + } + + public void setPlanId(Long planId) { + this.planId = planId; + } + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } +} diff --git a/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/domain/TaskResumeVO.java b/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/domain/TaskResumeVO.java new file mode 100644 index 0000000..501ab40 --- /dev/null +++ b/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/domain/TaskResumeVO.java @@ -0,0 +1,24 @@ +package com.ruoyi.task.api.domain; + +public class TaskResumeVO { + + private Long planId; + + private Long taskId; + + public Long getPlanId() { + return planId; + } + + public void setPlanId(Long planId) { + this.planId = planId; + } + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } +} diff --git a/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/enums/StatusEnum.java b/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/enums/StatusEnum.java index fd59d38..cc47c84 100644 --- a/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/enums/StatusEnum.java +++ b/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/enums/StatusEnum.java @@ -9,7 +9,8 @@ public enum StatusEnum { RUNNING("running", "执行中"), COMPLETED("completed", "已完成"), FAILED("failed", "失败"), - CANCELED("canceled", "已取消"); + CANCELED("canceled", "已取消"), + PAUSE("pause", "已暂停"); private final String code; private final String name; diff --git a/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/factory/RemoteTaskFallbackFactory.java b/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/factory/RemoteTaskFallbackFactory.java index 4e230c0..1acf160 100644 --- a/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/factory/RemoteTaskFallbackFactory.java +++ b/ruoyi-api/tuoheng-api-task/src/main/java/com/ruoyi/task/api/factory/RemoteTaskFallbackFactory.java @@ -2,6 +2,9 @@ package com.ruoyi.task.api.factory; import com.ruoyi.common.core.domain.R; import com.ruoyi.task.api.RemoteTaskService; +import com.ruoyi.task.api.domain.TaskDeleteVO; +import com.ruoyi.task.api.domain.TaskPauseVO; +import com.ruoyi.task.api.domain.TaskResumeVO; import com.ruoyi.task.api.domain.TaskResultVO; import com.ruoyi.task.api.domain.TaskVO; import com.ruoyi.task.api.domain.TaskTempVO; @@ -93,6 +96,21 @@ public class RemoteTaskFallbackFactory implements FallbackFactory> getPendingTasksForAutoExecute(String source) { return R.ok(Collections.emptyList()); } + + @Override + public R deleteTaskOrPlan(TaskDeleteVO deleteVO, String source) { + return R.fail("删除任务或计划失败"); + } + + @Override + public R pauseTaskOrPlan(TaskPauseVO pauseVO, String source) { + return R.fail("暂停任务或计划失败"); + } + + @Override + public R resumeTaskOrPlan(TaskResumeVO resumeVO, String source) { + return R.fail("恢复任务或计划失败"); + } }; } } \ No newline at end of file