From 88cfd84fd8ecbd576952688ca3c43688fc96b005 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:31 +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 --- .../ruoyi/device/controller/AircraftFlyController.java | 7 ++++--- .../java/com/ruoyi/device/service/FlightService.java | 3 ++- .../ruoyi/device/service/impl/FlightEventCallback.java | 9 +++++---- .../com/ruoyi/device/service/impl/FlightLogCallback.java | 3 ++- .../com/ruoyi/device/service/impl/FlightServiceImpl.java | 3 ++- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/ruoyi/device/controller/AircraftFlyController.java b/src/main/java/com/ruoyi/device/controller/AircraftFlyController.java index 4e04523..0d7a1c9 100644 --- a/src/main/java/com/ruoyi/device/controller/AircraftFlyController.java +++ b/src/main/java/com/ruoyi/device/controller/AircraftFlyController.java @@ -12,6 +12,7 @@ import com.ruoyi.device.domain.impl.machine.command.CommandResult; import com.ruoyi.device.domain.impl.machine.command.CommandType; import com.ruoyi.device.domain.impl.machine.state.MachineStates; import com.ruoyi.device.service.FlightService; +import com.ruoyi.task.api.domain.TaskResultVO; import com.ruoyi.task.api.enums.StatusEnum; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -275,16 +276,16 @@ public class AircraftFlyController extends BaseController if (result.isSuccess()) { log.info("无人机起飞命令发送成功: sn={}", request.getSn()); - flightService.updateFlightStatus(request.getTaskId(), StatusEnum.CHECKING); + flightService.updateFlightStatus(request.getTaskId(), TaskResultVO.Checking()); return R.ok("无人机起飞命令发送成功"); } else { log.error("无人机起飞失败 无人机起飞命令发送失败: sn={}, reason={}", request.getSn(), result.getErrorMessage()); - flightService.updateFlightStatus(request.getTaskId(), StatusEnum.FAILED); + flightService.updateFlightStatus(request.getTaskId(), TaskResultVO.Error("人机起飞命令发送失败")); return R.fail("无人机起飞命令发送失败: " + result.getErrorMessage()); } } catch (Exception e) { log.error("无人机起飞失败 无人机起飞命令发送失败: sn={}", request.getSn(), e); - flightService.updateFlightStatus(request.getTaskId(), StatusEnum.FAILED); + flightService.updateFlightStatus(request.getTaskId(), TaskResultVO.Error("人机起飞命令发送失败E")); return R.fail("无人机起飞命令发送失败: " + e.getMessage()); } } diff --git a/src/main/java/com/ruoyi/device/service/FlightService.java b/src/main/java/com/ruoyi/device/service/FlightService.java index 4d98ad2..3f0a507 100644 --- a/src/main/java/com/ruoyi/device/service/FlightService.java +++ b/src/main/java/com/ruoyi/device/service/FlightService.java @@ -1,6 +1,7 @@ package com.ruoyi.device.service; import com.ruoyi.device.mapper.entity.FlightEntity; +import com.ruoyi.task.api.domain.TaskResultVO; import com.ruoyi.task.api.enums.StatusEnum; import java.util.Map; @@ -53,7 +54,7 @@ public interface FlightService * @param flightId 飞行ID * @param status 状态:自检中、飞行中、已返航 */ - void updateFlightStatus(Long flightId, StatusEnum status); + void updateFlightStatus(Long flightId, TaskResultVO status); // /** // * 更新返航时间 diff --git a/src/main/java/com/ruoyi/device/service/impl/FlightEventCallback.java b/src/main/java/com/ruoyi/device/service/impl/FlightEventCallback.java index f25da41..071f3fd 100644 --- a/src/main/java/com/ruoyi/device/service/impl/FlightEventCallback.java +++ b/src/main/java/com/ruoyi/device/service/impl/FlightEventCallback.java @@ -7,6 +7,7 @@ import com.ruoyi.device.mapper.entity.FlightEntity; import com.ruoyi.device.mapper.entity.FlightLogEntity; import com.ruoyi.device.mapper.entity.PreCheckLogEntity; import com.ruoyi.device.service.FlightService; +import com.ruoyi.task.api.domain.TaskResultVO; import com.ruoyi.task.api.enums.StatusEnum; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -109,7 +110,7 @@ public class FlightEventCallback implements IAirportFlyControlCallback, IAirport handleFlightLog(deviceSn, msg, taskId); // 更新状态为 FLYING log.info("【FlightEventCallback】检测到起飞成功,更新状态为FLYING: deviceSn={}, flightId={}", deviceSn, taskId); - flightService.updateFlightStatus(taskId, StatusEnum.RUNNING); + flightService.updateFlightStatus(taskId, TaskResultVO.Running()); return; } @@ -125,12 +126,12 @@ public class FlightEventCallback implements IAirportFlyControlCallback, IAirport String dataContent = data.getString("data"); if ("操作成功".equals(msg) && "[地面站]任务飞行完成".equals(dataContent)) { log.info("【FlightEventCallback】检测到 [地面站]任务飞行完成 ,更新状态为HOME: deviceSn={}, flightId={}", deviceSn, taskId); - flightService.updateFlightStatus(taskId, StatusEnum.COMPLETED); + flightService.updateFlightStatus(taskId, TaskResultVO.Completed()); } if ("[机巢]无人机关机成功".equals(dataContent)) { log.info("【FlightEventCallback】检测到 [机巢]无人机关机成功 ,更新状态为HOME: deviceSn={}, flightId={}", deviceSn, taskId); - flightService.updateFlightStatus(taskId, StatusEnum.COMPLETED); + flightService.updateFlightStatus(taskId, TaskResultVO.Completed()); } @@ -143,7 +144,7 @@ public class FlightEventCallback implements IAirportFlyControlCallback, IAirport // 检查是否自检失败(code=1 表示失败) if (code != null && (code == 1 || code == -1)) { log.info("无人机起飞失败【FlightEventCallback】检测到自检失败(code=1),更新状态为ERROR: deviceSn={}, flightId={} msg {}", deviceSn, taskId, msg); - flightService.updateFlightStatus(taskId, StatusEnum.FAILED); + flightService.updateFlightStatus(taskId, TaskResultVO.Error("检测到自检失败(code=1)")); } } } diff --git a/src/main/java/com/ruoyi/device/service/impl/FlightLogCallback.java b/src/main/java/com/ruoyi/device/service/impl/FlightLogCallback.java index 197e55a..90daef4 100644 --- a/src/main/java/com/ruoyi/device/service/impl/FlightLogCallback.java +++ b/src/main/java/com/ruoyi/device/service/impl/FlightLogCallback.java @@ -9,6 +9,7 @@ import com.ruoyi.device.mapper.entity.FlightEntity; import com.ruoyi.device.mapper.entity.FlightLogEntity; import com.ruoyi.device.mapper.entity.PreCheckLogEntity; import com.ruoyi.device.service.FlightService; +import com.ruoyi.task.api.domain.TaskResultVO; import com.ruoyi.task.api.enums.StatusEnum; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -105,7 +106,7 @@ public class FlightLogCallback implements IDroneRealTimeCallback { if(Boolean.FALSE.equals(result)){ log.info("无人机起飞失败: sn={}", deviceSn); - flightService.updateFlightStatus(taskId, StatusEnum.FAILED); + flightService.updateFlightStatus(taskId, TaskResultVO.Error("无人机起飞失败" + deviceSn)); } logEntity.setLogContent(logContent); diff --git a/src/main/java/com/ruoyi/device/service/impl/FlightServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/FlightServiceImpl.java index 031cf69..d247bee 100644 --- a/src/main/java/com/ruoyi/device/service/impl/FlightServiceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/FlightServiceImpl.java @@ -10,6 +10,7 @@ import com.ruoyi.device.mapper.entity.FlightLogEntity; import com.ruoyi.device.mapper.entity.PreCheckLogEntity; import com.ruoyi.device.service.FlightService; import com.ruoyi.task.api.RemoteTaskService; +import com.ruoyi.task.api.domain.TaskResultVO; import com.ruoyi.task.api.domain.TaskVO; import com.ruoyi.task.api.enums.ExecuteTypeEnum; import com.ruoyi.task.api.enums.StatusEnum; @@ -113,7 +114,7 @@ public class FlightServiceImpl implements FlightService // } @Override - public void updateFlightStatus(Long flightId,StatusEnum status) { + public void updateFlightStatus(Long flightId, TaskResultVO status) { remoteTaskService.updateTaskStatus(flightId,status,SecurityConstants.INNER);