diff --git a/admin/src/main/java/com/multictrl/common/constant/BusinessConstant.java b/admin/src/main/java/com/multictrl/common/constant/BusinessConstant.java index 6c84a5a..73381d3 100644 --- a/admin/src/main/java/com/multictrl/common/constant/BusinessConstant.java +++ b/admin/src/main/java/com/multictrl/common/constant/BusinessConstant.java @@ -70,6 +70,7 @@ public interface BusinessConstant { String OBSTACLE_AVOIDANCE_NOTIFY = "obstacle_avoidance_notify"; String OTA_PROGRESS = "ota_progress"; String HMS = "hms"; + String RUN_LOG = "run_log"; //********************************* dj status topic method *********************************// String UPDATE_TOPO = "update_topo"; //********************************* dj cache key *********************************// diff --git a/admin/src/main/java/com/multictrl/modules/business/controller/DebugController.java b/admin/src/main/java/com/multictrl/modules/business/controller/DebugController.java index 484f5d6..19edc84 100644 --- a/admin/src/main/java/com/multictrl/modules/business/controller/DebugController.java +++ b/admin/src/main/java/com/multictrl/modules/business/controller/DebugController.java @@ -270,4 +270,12 @@ public class DebugController { public Result putterClose(@PathVariable String dockSn) { return new Result<>().ok(djiBaseService.executeAndReturnResult(dockSn, "putter_close")); } + + @Operation(summary = "强制机场空闲(仅支持阿罗斯系列)") + @PostMapping("/resetMode/{dockSn}") + @LogOperation("强制机场空闲") + @RequiresPermissions("bus:debug:resetMode") + public Result resetMode(@PathVariable String dockSn) { + return new Result<>().ok(djiBaseService.executeAndReturnResult(dockSn, "reset_mode")); + } } diff --git a/admin/src/main/java/com/multictrl/modules/business/handler/EventsHandler.java b/admin/src/main/java/com/multictrl/modules/business/handler/EventsHandler.java index 87eda15..47dacc4 100644 --- a/admin/src/main/java/com/multictrl/modules/business/handler/EventsHandler.java +++ b/admin/src/main/java/com/multictrl/modules/business/handler/EventsHandler.java @@ -437,6 +437,23 @@ public class EventsHandler implements MessageHandler { flightLog.setMessage(msg.toString()); influxService.addRecord(flightLog); } + } else if (BusinessConstant.RUN_LOG.equals(method)) { + log.debug("events --> 运行日志事件通知: {}", payload); + //飞行日志 + JSONObject data = message.getJSONObject(BusinessConstant.DATA); + FlightLog flightLog = new FlightLog(); + flightLog.setDockSn(gateway); + flightLog.setLevel(data.getInt("level") == 1 ? 0 : data.getInt("level")); + flightLog.setMethod("运行日志上报\n" + BusinessConstant.RUN_LOG); + flightLog.setTime(Instant.ofEpochMilli(message.getLong("timestamp"))); + String from = data.getStr("from"); + String fromStr = "uav".equals(from) ? "飞机" : "机场"; + flightLog.setMessage( + "架次编号: " + data.getStr("flight_id") + "\n" + + "来源: " + fromStr + "\n" + + "详情: " + data.getStr("msg") + ); + influxService.addRecord(flightLog); } } else { log.debug("events --> payload解析失败,解析后为null");