2025-11-12 zwy 增加字段注解,对应json字段,新增3个参数实体类,模拟器中执行任务实体调试中能用得到,其他两个是可选参数,留着备用吧.
3 files added
3 files modified
176 ■■■■■ changed files
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineBreakPointDTO.java 42 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineReadyConditionsDTO.java 41 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineSimulateMissionDTO.java 38 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineTaskCreateDTO.java 39 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineTaskFileDTO.java 10 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/wayline/model/enums/WaylineTaskTypeEnum.java 6 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineBreakPointDTO.java
New file
@@ -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;
}
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineReadyConditionsDTO.java
New file
@@ -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;
}
ard-sample/src/main/java/com/ard/sample/wayline/model/dto/WaylineSimulateMissionDTO.java
New file
@@ -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;
}
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;
}
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;
}
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;