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