diff --git a/src/main/java/com/ruoyi/task/controller/TaskController.java b/src/main/java/com/ruoyi/task/controller/TaskController.java index f6725ae..623123b 100644 --- a/src/main/java/com/ruoyi/task/controller/TaskController.java +++ b/src/main/java/com/ruoyi/task/controller/TaskController.java @@ -114,6 +114,18 @@ public class TaskController extends BaseController return R.ok(result); } + /** + * 设置 recovery 为true + * @param taskId + * @return + */ + @PutMapping("/recovery/{taskId}") + public R updateTaskRecovery(@PathVariable("taskId") Long taskId) + { + boolean result = taskService.updateTaskRecovery(taskId); + return R.ok(result); + } + /** * 按年统计任务 */ diff --git a/src/main/java/com/ruoyi/task/service/api/ITaskService.java b/src/main/java/com/ruoyi/task/service/api/ITaskService.java index 3fac55c..2f354e2 100644 --- a/src/main/java/com/ruoyi/task/service/api/ITaskService.java +++ b/src/main/java/com/ruoyi/task/service/api/ITaskService.java @@ -82,6 +82,13 @@ public interface ITaskService { */ boolean updateTaskStatus(Long taskId, StatusEnum status); + /** + * 设置 recovery 为 true + * @param taskId 任务ID + * @return 是否成功 + */ + boolean updateTaskRecovery(Long taskId); + /** * 按年统计任务 * @param queryDTO 查询条件 diff --git a/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java b/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java index 939bddb..8208832 100644 --- a/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java +++ b/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java @@ -165,6 +165,9 @@ public class TaskServiceImpl implements ITaskService { if(Objects.isNull(task.getEndTime())){ task.setEndTime(new java.util.Date()); } + if(status == StatusEnum.FAILED) { + task.setRecovery(false); + } } Task result = taskDomain.updateTask(task); return result != null; @@ -172,6 +175,17 @@ public class TaskServiceImpl implements ITaskService { return false; } + @Override + public boolean updateTaskRecovery(Long taskId) { + Task task = taskDomain.getTaskById(taskId); + if (task != null) { + task.setRecovery(true); + Task result = taskDomain.updateTask(task); + return result != null; + } + return false; + } + @Override public TaskStatByYearServiceDTO getTaskStatByYear(TaskStatQueryServiceDTO queryDTO) { Task task = new Task();