添加错误原因

This commit is contained in:
孙小云 2026-03-23 18:20:31 +08:00
parent e5cfb7068f
commit 88cfd84fd8
5 changed files with 15 additions and 10 deletions

View File

@ -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.command.CommandType;
import com.ruoyi.device.domain.impl.machine.state.MachineStates; import com.ruoyi.device.domain.impl.machine.state.MachineStates;
import com.ruoyi.device.service.FlightService; import com.ruoyi.device.service.FlightService;
import com.ruoyi.task.api.domain.TaskResultVO;
import com.ruoyi.task.api.enums.StatusEnum; import com.ruoyi.task.api.enums.StatusEnum;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
@ -275,16 +276,16 @@ public class AircraftFlyController extends BaseController
if (result.isSuccess()) { if (result.isSuccess()) {
log.info("无人机起飞命令发送成功: sn={}", request.getSn()); log.info("无人机起飞命令发送成功: sn={}", request.getSn());
flightService.updateFlightStatus(request.getTaskId(), StatusEnum.CHECKING); flightService.updateFlightStatus(request.getTaskId(), TaskResultVO.Checking());
return R.ok("无人机起飞命令发送成功"); return R.ok("无人机起飞命令发送成功");
} else { } else {
log.error("无人机起飞失败 无人机起飞命令发送失败: sn={}, reason={}", request.getSn(), result.getErrorMessage()); 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()); return R.fail("无人机起飞命令发送失败: " + result.getErrorMessage());
} }
} catch (Exception e) { } catch (Exception e) {
log.error("无人机起飞失败 无人机起飞命令发送失败: sn={}", request.getSn(), 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()); return R.fail("无人机起飞命令发送失败: " + e.getMessage());
} }
} }

View File

@ -1,6 +1,7 @@
package com.ruoyi.device.service; package com.ruoyi.device.service;
import com.ruoyi.device.mapper.entity.FlightEntity; import com.ruoyi.device.mapper.entity.FlightEntity;
import com.ruoyi.task.api.domain.TaskResultVO;
import com.ruoyi.task.api.enums.StatusEnum; import com.ruoyi.task.api.enums.StatusEnum;
import java.util.Map; import java.util.Map;
@ -53,7 +54,7 @@ public interface FlightService
* @param flightId 飞行ID * @param flightId 飞行ID
* @param status 状态自检中飞行中已返航 * @param status 状态自检中飞行中已返航
*/ */
void updateFlightStatus(Long flightId, StatusEnum status); void updateFlightStatus(Long flightId, TaskResultVO status);
// /** // /**
// * 更新返航时间 // * 更新返航时间

View File

@ -7,6 +7,7 @@ import com.ruoyi.device.mapper.entity.FlightEntity;
import com.ruoyi.device.mapper.entity.FlightLogEntity; import com.ruoyi.device.mapper.entity.FlightLogEntity;
import com.ruoyi.device.mapper.entity.PreCheckLogEntity; import com.ruoyi.device.mapper.entity.PreCheckLogEntity;
import com.ruoyi.device.service.FlightService; import com.ruoyi.device.service.FlightService;
import com.ruoyi.task.api.domain.TaskResultVO;
import com.ruoyi.task.api.enums.StatusEnum; import com.ruoyi.task.api.enums.StatusEnum;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -109,7 +110,7 @@ public class FlightEventCallback implements IAirportFlyControlCallback, IAirport
handleFlightLog(deviceSn, msg, taskId); handleFlightLog(deviceSn, msg, taskId);
// 更新状态为 FLYING // 更新状态为 FLYING
log.info("【FlightEventCallback】检测到起飞成功更新状态为FLYING: deviceSn={}, flightId={}", deviceSn, taskId); log.info("【FlightEventCallback】检测到起飞成功更新状态为FLYING: deviceSn={}, flightId={}", deviceSn, taskId);
flightService.updateFlightStatus(taskId, StatusEnum.RUNNING); flightService.updateFlightStatus(taskId, TaskResultVO.Running());
return; return;
} }
@ -125,12 +126,12 @@ public class FlightEventCallback implements IAirportFlyControlCallback, IAirport
String dataContent = data.getString("data"); String dataContent = data.getString("data");
if ("操作成功".equals(msg) && "[地面站]任务飞行完成".equals(dataContent)) { if ("操作成功".equals(msg) && "[地面站]任务飞行完成".equals(dataContent)) {
log.info("【FlightEventCallback】检测到 [地面站]任务飞行完成 更新状态为HOME: deviceSn={}, flightId={}", deviceSn, taskId); log.info("【FlightEventCallback】检测到 [地面站]任务飞行完成 更新状态为HOME: deviceSn={}, flightId={}", deviceSn, taskId);
flightService.updateFlightStatus(taskId, StatusEnum.COMPLETED); flightService.updateFlightStatus(taskId, TaskResultVO.Completed());
} }
if ("[机巢]无人机关机成功".equals(dataContent)) { if ("[机巢]无人机关机成功".equals(dataContent)) {
log.info("【FlightEventCallback】检测到 [机巢]无人机关机成功 更新状态为HOME: deviceSn={}, flightId={}", deviceSn, taskId); 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 表示失败 // 检查是否自检失败code=1 表示失败
if (code != null && (code == 1 || code == -1)) { if (code != null && (code == 1 || code == -1)) {
log.info("无人机起飞失败【FlightEventCallback】检测到自检失败(code=1)更新状态为ERROR: deviceSn={}, flightId={} msg {}", deviceSn, taskId, msg); log.info("无人机起飞失败【FlightEventCallback】检测到自检失败(code=1)更新状态为ERROR: deviceSn={}, flightId={} msg {}", deviceSn, taskId, msg);
flightService.updateFlightStatus(taskId, StatusEnum.FAILED); flightService.updateFlightStatus(taskId, TaskResultVO.Error("检测到自检失败(code=1)"));
} }
} }
} }

View File

@ -9,6 +9,7 @@ import com.ruoyi.device.mapper.entity.FlightEntity;
import com.ruoyi.device.mapper.entity.FlightLogEntity; import com.ruoyi.device.mapper.entity.FlightLogEntity;
import com.ruoyi.device.mapper.entity.PreCheckLogEntity; import com.ruoyi.device.mapper.entity.PreCheckLogEntity;
import com.ruoyi.device.service.FlightService; import com.ruoyi.device.service.FlightService;
import com.ruoyi.task.api.domain.TaskResultVO;
import com.ruoyi.task.api.enums.StatusEnum; import com.ruoyi.task.api.enums.StatusEnum;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -105,7 +106,7 @@ public class FlightLogCallback implements IDroneRealTimeCallback {
if(Boolean.FALSE.equals(result)){ if(Boolean.FALSE.equals(result)){
log.info("无人机起飞失败: sn={}", deviceSn); log.info("无人机起飞失败: sn={}", deviceSn);
flightService.updateFlightStatus(taskId, StatusEnum.FAILED); flightService.updateFlightStatus(taskId, TaskResultVO.Error("无人机起飞失败" + deviceSn));
} }
logEntity.setLogContent(logContent); logEntity.setLogContent(logContent);

View File

@ -10,6 +10,7 @@ import com.ruoyi.device.mapper.entity.FlightLogEntity;
import com.ruoyi.device.mapper.entity.PreCheckLogEntity; import com.ruoyi.device.mapper.entity.PreCheckLogEntity;
import com.ruoyi.device.service.FlightService; import com.ruoyi.device.service.FlightService;
import com.ruoyi.task.api.RemoteTaskService; 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.domain.TaskVO;
import com.ruoyi.task.api.enums.ExecuteTypeEnum; import com.ruoyi.task.api.enums.ExecuteTypeEnum;
import com.ruoyi.task.api.enums.StatusEnum; import com.ruoyi.task.api.enums.StatusEnum;
@ -113,7 +114,7 @@ public class FlightServiceImpl implements FlightService
// } // }
@Override @Override
public void updateFlightStatus(Long flightId,StatusEnum status) { public void updateFlightStatus(Long flightId, TaskResultVO status) {
remoteTaskService.updateTaskStatus(flightId,status,SecurityConstants.INNER); remoteTaskService.updateTaskStatus(flightId,status,SecurityConstants.INNER);