This commit is contained in:
parent
20f11d581b
commit
2de46a69c3
|
|
@ -6,6 +6,7 @@ import com.ruoyi.device.api.domain.DroneCurrentStatusVO;
|
|||
import com.ruoyi.device.api.domain.DroneFlightControlRequest;
|
||||
import com.ruoyi.device.api.domain.DroneRealtimeInfoVO;
|
||||
import com.ruoyi.device.api.domain.DroneTakeoffResponseVO;
|
||||
import com.ruoyi.device.api.domain.MachineStateVO;
|
||||
import com.ruoyi.device.api.enums.DroneCurrentStatusEnum;
|
||||
import com.ruoyi.device.api.enums.DroneMissionStatusEnum;
|
||||
import com.ruoyi.device.domain.impl.machine.MachineCommandManager;
|
||||
|
|
@ -34,6 +35,9 @@ public class AircraftFlyController extends BaseController
|
|||
{
|
||||
@Autowired
|
||||
private MachineCommandManager machineCommandManager;
|
||||
|
||||
@Autowired
|
||||
private com.ruoyi.device.domain.impl.machine.statemachine.MachineStateManager machineStateManager;
|
||||
/**
|
||||
* 无人机飞控命令
|
||||
*
|
||||
|
|
@ -145,4 +149,39 @@ public class AircraftFlyController extends BaseController
|
|||
return R.fail("开机命令执行异常: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询无人机状态
|
||||
*
|
||||
* @param sn 设备SN号
|
||||
* @return 状态信息
|
||||
*/
|
||||
@Operation(summary = "查询无人机状态", description = "根据设备SN号查询无人机的实时状态信息")
|
||||
@GetMapping("/machine-state/{sn}")
|
||||
public R<MachineStateVO> getMachineState(
|
||||
@Parameter(description = "设备SN号", required = true, example = "TH001")
|
||||
@PathVariable("sn") String sn)
|
||||
{
|
||||
log.info("查询无人机状态: sn={}", sn);
|
||||
|
||||
try {
|
||||
// 从 MachineStateManager 获取状态
|
||||
com.ruoyi.device.domain.impl.machine.state.MachineStates states = machineStateManager.getStates(sn);
|
||||
|
||||
// 转换为 VO 对象
|
||||
MachineStateVO vo = new MachineStateVO();
|
||||
vo.setSn(sn);
|
||||
vo.setDroneState(states.getDroneState().name());
|
||||
vo.setAirportState(states.getAirportState().name());
|
||||
vo.setCoverState(states.getCoverState().name());
|
||||
vo.setDrcState(states.getDrcState().name());
|
||||
vo.setDebugModeState(states.getDebugModeState().name());
|
||||
|
||||
log.info("查询到状态: sn={}, vo={}", sn, vo);
|
||||
return R.ok(vo);
|
||||
} catch (Exception e) {
|
||||
log.error("查询无人机状态异常: sn={}", sn, e);
|
||||
return R.fail("查询状态失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue