From d075d913fbe5d8d61f97cd6d264db1080e6932d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Wed, 11 Feb 2026 09:16:35 +0800 Subject: [PATCH] xx --- .../controller/AircraftFlyController.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/main/java/com/ruoyi/device/controller/AircraftFlyController.java b/src/main/java/com/ruoyi/device/controller/AircraftFlyController.java index fb7cc13..4af4a39 100644 --- a/src/main/java/com/ruoyi/device/controller/AircraftFlyController.java +++ b/src/main/java/com/ruoyi/device/controller/AircraftFlyController.java @@ -150,6 +150,40 @@ public class AircraftFlyController extends BaseController } } + /** + * 无人机关机接口 + * + * @param sn 机场SN号 + * @return 关机响应 + */ + @Operation(summary = "无人机关机", description = "控制指定机场的无人机执行关机操作") + @PostMapping("/power-off/{sn}") + public R powerOff( + @Parameter(description = "机场SN号", required = true, example = "THJSQ03B2309DN7VQN43") + @PathVariable("sn") String sn) + { + log.info("收到无人机关机请求: sn={}", sn); + + try { + // 调用机器命令管理器执行关机命令 + CompletableFuture future = machineCommandManager.executeCommand(sn, CommandType.POWER_OFF); + + // 等待命令执行完成 + CommandResult result = future.get(); + + if (result.isSuccess()) { + log.info("无人机关机成功: sn={}", sn); + return R.ok("关机命令执行成功"); + } else { + log.error("无人机关机失败: sn={}, reason={}", sn, result.getErrorMessage()); + return R.fail("关机命令执行失败: " + result.getErrorMessage()); + } + } catch (Exception e) { + log.error("无人机关机异常: sn={}", sn, e); + return R.fail("关机命令执行异常: " + e.getMessage()); + } + } + /** * 查询无人机状态 *