From ef3774ef2fbd7a3f76be3c94689e350518967907 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Mon, 23 Mar 2026 18:20:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=94=99=E8=AF=AF=E5=8E=9F?= =?UTF-8?q?=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/task/controller/TaskController.java | 5 +++-- .../com/ruoyi/task/service/api/ITaskService.java | 3 ++- .../ruoyi/task/service/impl/TaskServiceImpl.java | 14 ++++++++------ 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/ruoyi/task/controller/TaskController.java b/src/main/java/com/ruoyi/task/controller/TaskController.java index fc0311b..0d6f28e 100644 --- a/src/main/java/com/ruoyi/task/controller/TaskController.java +++ b/src/main/java/com/ruoyi/task/controller/TaskController.java @@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.device.api.RemoteAircraftFlyService; import com.ruoyi.device.api.domain.DroneTakeoffRequest; +import com.ruoyi.task.api.domain.TaskResultVO; import com.ruoyi.task.api.domain.TaskStatByMonthVO; import com.ruoyi.task.api.domain.TaskStatQueryVO; import com.ruoyi.task.api.domain.TaskVO; @@ -135,8 +136,8 @@ public class TaskController extends BaseController /** * 修改执行状态 */ - @PutMapping("/status/{taskId}") - public R updateTaskStatus(@PathVariable("taskId") Long taskId, @RequestParam("status") StatusEnum status) + @PostMapping("/status/{taskId}") + public R updateTaskStatus(@PathVariable("taskId") Long taskId, @RequestBody() TaskResultVO status) { boolean result = taskService.updateTaskStatus(taskId, status); 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 2f354e2..0152390 100644 --- a/src/main/java/com/ruoyi/task/service/api/ITaskService.java +++ b/src/main/java/com/ruoyi/task/service/api/ITaskService.java @@ -1,5 +1,6 @@ package com.ruoyi.task.service.api; +import com.ruoyi.task.api.domain.TaskResultVO; import com.ruoyi.task.api.enums.StatusEnum; import com.ruoyi.task.service.dto.TaskDTO; import com.ruoyi.task.service.dto.TaskQueryDTO; @@ -80,7 +81,7 @@ public interface ITaskService { * @param status 任务状态 * @return 是否成功 */ - boolean updateTaskStatus(Long taskId, StatusEnum status); + boolean updateTaskStatus(Long taskId, TaskResultVO status); /** * 设置 recovery 为 true 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 4803ef1..d872648 100644 --- a/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java +++ b/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java @@ -5,6 +5,7 @@ import com.ruoyi.airline.api.domain.AirlineFileVO; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.device.api.RemoteAircraftService; +import com.ruoyi.task.api.domain.TaskResultVO; import com.ruoyi.task.api.enums.StatusEnum; import com.ruoyi.task.domain.api.ITaskDomain; import com.ruoyi.task.domain.api.ITaskPlanDomain; @@ -146,29 +147,30 @@ public class TaskServiceImpl implements ITaskService { // } @Override - public boolean updateTaskStatus(Long taskId, StatusEnum status) { + public boolean updateTaskStatus(Long taskId, TaskResultVO status) { Task task = taskDomain.getTaskById(taskId); if (task != null) { - task.setStatus(status); + task.setStatus(status.getStatus()); // 如果状态变为自检中 - if (status == StatusEnum.CHECKING) { + if (status.getStatus() == StatusEnum.CHECKING) { task.setActualStartTime(new java.util.Date()); if(Objects.isNull(task.getStartTime())){ task.setStartTime(new java.util.Date()); } //没有配置开始时间,可以理解为是立马执行 - } else if(status == StatusEnum.PENDING) { + } else if(status.getStatus() == StatusEnum.PENDING) { if(Objects.isNull(task.getStartTime())){ task.setStartTime(new java.util.Date()); } //已完成 失败 取消 的时候, 配置结束时间 - } else if(status != StatusEnum.RUNNING) { + } else if(status.getStatus() != StatusEnum.RUNNING) { task.setActualEndTime(new java.util.Date()); if(Objects.isNull(task.getEndTime())){ task.setEndTime(new java.util.Date()); } - if(status == StatusEnum.FAILED) { + if(status.getStatus() == StatusEnum.FAILED) { task.setRecovery(false); + task.setRemark(status.getErrMsg()); } } Task result = taskDomain.updateTask(task);