From 44393d38485446a85a3bc2eefa7583b8ee9e68c0 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Wed, 12 Nov 2025 18:20:33 +0800
Subject: [PATCH] 2025-11-12 zwy 增加字段注解,对应json字段,新增3个参数实体类,模拟器中执行任务实体调试中能用得到,其他两个是可选参数,留着备用吧.
---
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineTaskFileDTO.java | 10 +++
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineSimulateMissionDTO.java | 38 ++++++++++++
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineTaskCreateDTO.java | 39 +++++++++++++
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineBreakPointDTO.java | 42 ++++++++++++++
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineReadyConditionsDTO.java | 41 +++++++++++++
ard-sample/src/main/java/com/ard/sample/wayline/model/enums/WaylineTaskTypeEnum.java | 6 ++
6 files changed, 176 insertions(+), 0 deletions(-)
diff --git a/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineBreakPointDTO.java b/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineBreakPointDTO.java
new file mode 100644
index 0000000..f97336d
--- /dev/null
+++ b/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineBreakPointDTO.java
@@ -0,0 +1,42 @@
+package com.ard.sample.wayline.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 航线断点信息
+ * 可选字段,用于断点续飞,若指定该字段,航线任务会从字段指定的断点位置开始执行。
+ * */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class WaylineBreakPointDTO {
+
+ /**
+ * 断点序号 int
+ * */
+ @JsonProperty("index")
+ private Integer index;
+
+ /**
+ * 断点状态 "0":"在航段上","1":"在航点上"
+ * */
+ @JsonProperty("state")
+ private Integer state;
+
+ /**
+ * 当前航段进度 "max":"1.0","min":"0"
+ * */
+ @JsonProperty("progress")
+ private float progress;
+
+ /**
+ * 航线 ID int
+ * */
+ @JsonProperty("wayline_id")
+ private Integer wayline_id;
+}
diff --git a/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineReadyConditionsDTO.java b/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineReadyConditionsDTO.java
new file mode 100644
index 0000000..422bda0
--- /dev/null
+++ b/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineReadyConditionsDTO.java
@@ -0,0 +1,41 @@
+package com.ard.sample.wayline.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 任务就绪条件 可选字段。条件任务(即 task_type 为2)时必填,其他类型任务会忽略该字段。
+ * 下发条件任务后,设备会定频检查 ready_conditions 是否全部满足,
+ * 若全部满足则会有 flighttask_ready 事件通知。
+ * 且设备端接收 flighttask_execute 指令时,也会检查任务的 ready_conditions 是否已全部满足。
+ * */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class WaylineReadyConditionsDTO {
+
+ /**
+ * 电池容量
+ * 可执行任务的飞行器电池电量百分比阈值,任务开始执行时的飞行器电量必须大于 battery_capacity。
+ * */
+ @JsonProperty("battery_capacity")
+ private Integer batteryCapacity;
+
+ /**
+ * 任务可执行时段的开始时间
+ * 任务可执行时段起始时间毫秒时间戳,任务开始执行的时间必须大于 begin_time。
+ * */
+ @JsonProperty("begin_time")
+ private Integer beginTime;
+
+ /**
+ * 任务可执行时段的结束时间
+ * 任务可执行时段截止时间毫秒时间戳,任务开始执行的时间必须小于 end_time。
+ * */
+ @JsonProperty("end_time")
+ private Integer endTime;
+}
diff --git a/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineSimulateMissionDTO.java b/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineSimulateMissionDTO.java
new file mode 100644
index 0000000..9a71e18
--- /dev/null
+++ b/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineSimulateMissionDTO.java
@@ -0,0 +1,38 @@
+package com.ard.sample.wayline.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 是否在模拟器中执行任务
+ * 可选字段,用于在室内进行模拟任务调试。
+ * 注意:进行模拟飞行前,请务必取下桨叶,以防舱盖关闭时夹断桨叶。
+ * */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class WaylineSimulateMissionDTO {
+
+ /**
+ * 是否开启模拟器任务 "0":"不开启","1":"开启"
+ * 当次任务打开或关闭模拟器
+ * */
+ @JsonProperty("is_enable")
+ private Integer isEnable;
+
+ /**
+ * 纬度 "max":"90.0","min":"-90.0"
+ * */
+ @JsonProperty("latitude")
+ private Double latitude;
+
+ /**
+ * 经度 "max":"180.0","min":"-180.0"
+ * */
+ @JsonProperty("longitude")
+ private Double longitude;
+}
diff --git a/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineTaskCreateDTO.java b/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineTaskCreateDTO.java
index 1a944a7..a5a4f19 100644
--- a/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineTaskCreateDTO.java
+++ b/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineTaskCreateDTO.java
@@ -1,5 +1,6 @@
package com.ard.sample.wayline.model.dto;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -16,18 +17,56 @@
@NoArgsConstructor
public class WaylineTaskCreateDTO {
+ /**
+ * 计划 ID
+ * */
+ @JsonProperty("flight_id")
private String flightId;
+ /**
+ * 任务类型 "0":"立即任务","1":"定时任务","2":"条件任务"
+ * 立即任务和定时任务均由execute_time指定执行时间;
+ * 条件任务支持ready_conditions字段指定任务就绪条件,
+ * 设备可在指定时间段内满足就绪条件后即可执行;
+ * 立即任务媒体上传优先级最高,
+ * 定时任务和条件任务媒体上传优先级相同
+ * */
+ @JsonProperty("task_type")
private Integer taskType;
+ /**
+ * 航线精度类型 "0":"GPS 任务","1":"高精度 RTK 任务"
+ * 不确定是不是wayline_precision_type属性,
+ * */
+// @JsonProperty("wayline_precision_type")
private Integer waylineType;
+ /**
+ * 开始执行时间
+ * 任务开始执行时间毫秒时间戳。可选字段。当 task_type 为 0 或 1 时必填,为 2 时非必填。
+ * */
+ @JsonProperty("execute_time")
private Long executeTime;
+ /**
+ * 航线文件对象
+ * */
+ @JsonProperty("file")
private WaylineTaskFileDTO file;
+ /**
+ * 返航高度 "max":1500,"min":20,"unit_name":"米 / m"
+ * */
+ @JsonProperty("rth_altitude")
private Integer rthAltitude;
+ /**
+ * 遥控器失控动作 "0":"返航","1":"悬停","2":"降落"
+ * 失控动作,当前固定传的值是 0,即返航。注意该枚举值定义跟飞控跟机场定义的不一致,机场端会进行转换。
+ * */
+ @JsonProperty("out_of_control_action")
private Integer outOfControlAction;
+ @JsonProperty("simulate_mission")
+ private WaylineSimulateMissionDTO simulateMission;
}
diff --git a/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineTaskFileDTO.java b/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineTaskFileDTO.java
index 1cc74a3..a6cdc82 100644
--- a/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineTaskFileDTO.java
+++ b/ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineTaskFileDTO.java
@@ -1,5 +1,6 @@
package com.ard.sample.wayline.model.dto;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -16,7 +17,16 @@
@NoArgsConstructor
public class WaylineTaskFileDTO {
+ /**
+ * 文件 URL
+ * */
+ @JsonProperty("url")
private String url;
+ /**
+ * 文件签名
+ * 文件内容 MD5 签名
+ * */
+ @JsonProperty("fingerprint")
private String fingerprint;
}
diff --git a/ard-sample/src/main/java/com/ard/sample/wayline/model/enums/WaylineTaskTypeEnum.java b/ard-sample/src/main/java/com/ard/sample/wayline/model/enums/WaylineTaskTypeEnum.java
index d68f42b..9fe5edc 100644
--- a/ard-sample/src/main/java/com/ard/sample/wayline/model/enums/WaylineTaskTypeEnum.java
+++ b/ard-sample/src/main/java/com/ard/sample/wayline/model/enums/WaylineTaskTypeEnum.java
@@ -10,8 +10,14 @@
@Getter
public enum WaylineTaskTypeEnum {
+ /**
+ * 立即任务
+ * */
IMMEDIATE(0),
+ /**
+ * 定时任务
+ * */
TIMED(1);
int val;
--
Gitblit v1.9.3