diff --git a/admin/src/main/java/com/multictrl/modules/business/dto/flight/FlightTaskPrepare.java b/admin/src/main/java/com/multictrl/modules/business/dto/flight/FlightTaskPrepare.java index 4e93bea..1c4efc7 100644 --- a/admin/src/main/java/com/multictrl/modules/business/dto/flight/FlightTaskPrepare.java +++ b/admin/src/main/java/com/multictrl/modules/business/dto/flight/FlightTaskPrepare.java @@ -1,6 +1,8 @@ package com.multictrl.modules.business.dto.flight; +import com.multictrl.modules.business.dto.multi.PrivateMultiFlightBindDockInfo; import io.swagger.v3.oas.annotations.media.Schema; +import java.util.List; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -19,6 +21,7 @@ import lombok.NoArgsConstructor; */ @Data public class FlightTaskPrepare { + //计划 ID private String flight_id; //开始执行时间 @@ -53,10 +56,7 @@ public class FlightTaskPrepare { private int rth_altitude; //返航高度模式 //{"0":"智能高度","1":"设定高度"} - /// 智能返航模式下,飞行器将自动规划最佳返航高度。 - /// 大疆机场当前不支持设置返航高度模式,只能选择'设定高度'模式。 - /// 当环境,光线不满足视觉系统要求时(譬如傍晚阳光直射、夜间弱光无光), - /// 飞行器将使用您设定的返航高度进行直线返航 + /// 智能返航模式下,飞行器将自动规划最佳返航高度。 大疆机场当前不支持设置返航高度模式,只能选择'设定高度'模式。 当环境,光线不满足视觉系统要求时(譬如傍晚阳光直射、夜间弱光无光), 飞行器将使用您设定的返航高度进行直线返航 private int rth_mode; //遥控器失控动作 //{"0":"返航","1":"悬停","2":"降落"} @@ -86,10 +86,14 @@ public class FlightTaskPrepare { // 如果不一致则拉取文件更新,如果一致则不处理 private int flight_safety_advance_check; + + private List private_multi_flight_bind_dock_info; + @Data @NoArgsConstructor @AllArgsConstructor public static class BreakPoint { + //断点序号 @Schema(description = "断点序号") private int index; @@ -110,6 +114,7 @@ public class FlightTaskPrepare { @NoArgsConstructor @AllArgsConstructor public static class ExecutableConditions { + //存储容量 //可执行任务的机场或飞行器最低存储容量,机场或飞行器存储容量不满足 storage_capacity 时,任务执行失败。 private int storage_capacity; @@ -119,6 +124,7 @@ public class FlightTaskPrepare { @NoArgsConstructor @AllArgsConstructor public static class FileInfo { + //文件 URL private String url; //文件签名 文件内容 MD5 签名 @@ -130,6 +136,7 @@ public class FlightTaskPrepare { @NoArgsConstructor @AllArgsConstructor public static class ReadyConditions { + //电池容量 //可执行任务的飞行器电池电量百分比阈值,任务开始执行时的飞行器电量必须大于 battery_capacity。 private int battery_capacity; @@ -145,6 +152,7 @@ public class FlightTaskPrepare { @NoArgsConstructor @AllArgsConstructor public static class SimulateMission { + //是否开启模拟器任务 //{"0":"不开启","1":"开启"} //当次任务打开或关闭模拟器 diff --git a/admin/src/main/java/com/multictrl/modules/business/service/impl/MultiServiceImpl.java b/admin/src/main/java/com/multictrl/modules/business/service/impl/MultiServiceImpl.java index 0b177b5..9940e31 100644 --- a/admin/src/main/java/com/multictrl/modules/business/service/impl/MultiServiceImpl.java +++ b/admin/src/main/java/com/multictrl/modules/business/service/impl/MultiServiceImpl.java @@ -158,7 +158,7 @@ public class MultiServiceImpl implements MultiService { flightExecute.setPrivateMultiFlightBindDockInfos(privateMultiFlightBindDockInfos); log.info("privateMultiDockFlightTaskOutbound-> 下发航线给妙算 flightExecute:{}", flightExecute); - return routeFlightService.flightExecute(multiTaskDTO.getMiaoSuan().getDockSn(), flightExecute); + return routeFlightService.flightExecute(multiTaskDTO.getMiaoSuan().getDockSn(), flightExecute, true); } @Override diff --git a/admin/src/main/java/com/multictrl/modules/business/service/impl/RouteFlightServiceImpl.java b/admin/src/main/java/com/multictrl/modules/business/service/impl/RouteFlightServiceImpl.java index 58eb960..0febbbb 100644 --- a/admin/src/main/java/com/multictrl/modules/business/service/impl/RouteFlightServiceImpl.java +++ b/admin/src/main/java/com/multictrl/modules/business/service/impl/RouteFlightServiceImpl.java @@ -59,7 +59,7 @@ public class RouteFlightServiceImpl implements RouteFlightService { * multiFlightBindDockInfos aros机场蛙跳模式参数,把N个参与到蛙跳的的机场信息给到妙算,返航时,自动计算离哪个机库位置近,就降落到哪个机库 */ @Override - public String flightExecute(String dockSn, FlightExecute flightExecute) { + public String flightExecute(String dockSn, FlightExecute flightExecute, Boolean isRecord) { ReentrantLock lock = cacheLock.computeIfAbsent(dockSn, k -> new ReentrantLock()); lock.lock(); try { @@ -129,7 +129,9 @@ public class RouteFlightServiceImpl implements RouteFlightService { Utils.sleep(1000); String resultMsg = djiBaseService.executeAndReturnResult(dockSn, "flighttask_execute", new JSONObject().set("flight_id", taskId)); - flightTaskService.addRouteTask(taskId, dockSn, route.getId()); + if (isRecord) { + flightTaskService.addRouteTask(taskId, dockSn, route.getId()); + } return resultMsg; } finally { Utils.sleep(2000); diff --git a/prj-deploy/file/pgsql/init.sql b/prj-deploy/file/pgsql/init.sql index 31dbad7..9eeabcf 100644 --- a/prj-deploy/file/pgsql/init.sql +++ b/prj-deploy/file/pgsql/init.sql @@ -2144,3 +2144,76 @@ INSERT INTO "public"."sys_dict_data" ("id", "dict_type_id", "dict_label", "dict_ VALUES (2060253516358848514, 2060253239434121218, 'Ars550', 'Ars550', '', 0, 1067246875800000001, '2026-05-29 14:54:50.617', 1067246875800000001, '2026-05-29 14:54:50.617', 'source-material/Ars550.png'); + + +-- 20260605 aros 蛙跳 by zhangchuang +ALTER TABLE public.bus_dock + ADD scenario varchar(128) NULL; +COMMENT +ON COLUMN public.bus_dock.scenario IS '使用场景'; + + +CREATE TABLE public.bus_multi_group +( + id int8 NOT NULL, + group_name varchar(128) NOT NULL, + group_mark varchar(256) NULL, + dept_id int8 NULL, + creator int8 NULL, + create_date timestamp NULL, + updater int8 NULL, + update_date timestamp NULL +); +COMMENT +ON TABLE public.bus_multi_group IS '跳飞设备组信息'; + +-- Column comments + +COMMENT +ON COLUMN public.bus_multi_group.id IS '组id'; +COMMENT +ON COLUMN public.bus_multi_group.group_name IS '组名称'; +COMMENT +ON COLUMN public.bus_multi_group.group_mark IS '组描述'; +COMMENT +ON COLUMN public.bus_multi_group.dept_id IS '所属组织'; +COMMENT +ON COLUMN public.bus_multi_group.creator IS '创建人'; +COMMENT +ON COLUMN public.bus_multi_group.create_date IS '创建时间'; +COMMENT +ON COLUMN public.bus_multi_group.updater IS '更新人'; +COMMENT +ON COLUMN public.bus_multi_group.update_date IS '更新时间'; + + + +CREATE TABLE public.bus_multi_group_device +( + id int8 NOT NULL, + groud_id int8 NOT NULL, + gateway_sn varchar(64) NOT NULL, + creator int8 NULL, + create_date timestamp NULL, + updater int8 NULL, + update_date timestamp NULL +); +COMMENT +ON TABLE public.bus_multi_group_device IS '蛙跳任务组绑定的设备编号'; + +-- Column comments + +COMMENT +ON COLUMN public.bus_multi_group_device.id IS '编号'; +COMMENT +ON COLUMN public.bus_multi_group_device.groud_id IS '蛙跳组'; +COMMENT +ON COLUMN public.bus_multi_group_device.gateway_sn IS '设备编号sn'; +COMMENT +ON COLUMN public.bus_multi_group_device.creator IS '创建人'; +COMMENT +ON COLUMN public.bus_multi_group_device.create_date IS '创建时间'; +COMMENT +ON COLUMN public.bus_multi_group_device.updater IS '更新人'; +COMMENT +ON COLUMN public.bus_multi_group_device.update_date IS '更新时间'; \ No newline at end of file