添加错误原因

This commit is contained in:
孙小云 2026-03-23 18:20:13 +08:00
parent 789dcadeeb
commit ef3774ef2f
3 changed files with 13 additions and 9 deletions

View File

@ -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<Boolean> updateTaskStatus(@PathVariable("taskId") Long taskId, @RequestParam("status") StatusEnum status)
@PostMapping("/status/{taskId}")
public R<Boolean> updateTaskStatus(@PathVariable("taskId") Long taskId, @RequestBody() TaskResultVO status)
{
boolean result = taskService.updateTaskStatus(taskId, status);
return R.ok(result);

View File

@ -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

View File

@ -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);