From 642dac3e705380eea241648f875836e64dbc809e Mon Sep 17 00:00:00 2001
From: sean.zhou <sean.zhou@dji.com>
Date: Thu, 18 May 2023 17:43:06 +0800
Subject: [PATCH] Merge branch 'v1.5.0' What's new? 1. Add new model: DJI Matrices 350 RTK. 2. Update file hms.json. 3. Fixed some issues.

---
 src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java |   70 +++++++++++++++++++++++++++++++++--
 1 files changed, 66 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java b/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
index d20c53d..608c93f 100644
--- a/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
+++ b/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
@@ -5,11 +5,14 @@
 import com.dji.sample.common.model.ResponseResult;
 import com.dji.sample.component.mqtt.model.CommonTopicReceiver;
 import com.dji.sample.wayline.model.dto.WaylineJobDTO;
+import com.dji.sample.wayline.model.enums.WaylineJobStatusEnum;
 import com.dji.sample.wayline.model.param.CreateJobParam;
+import com.dji.sample.wayline.model.param.UpdateJobParam;
 import org.springframework.messaging.MessageHeaders;
 
 import java.sql.SQLException;
 import java.util.Collection;
+import java.util.List;
 import java.util.Optional;
 
 /**
@@ -22,10 +25,21 @@
     /**
      * Create wayline job in the database.
      * @param param
-     * @param customClaim   user info
+     * @param workspaceId   user info
+     * @param username      user info
+     * @param beginTime     The time the job started.
+     * @param endTime       The time the job ended.
      * @return
      */
-    Optional<WaylineJobDTO> createWaylineJob(CreateJobParam param, CustomClaim customClaim);
+    Optional<WaylineJobDTO> createWaylineJob(CreateJobParam param, String workspaceId, String username, Long beginTime, Long endTime);
+
+    /**
+     * Create a sub-task based on the information of the parent task.
+     * @param workspaceId
+     * @param parentId
+     * @return
+     */
+    Optional<WaylineJobDTO> createWaylineJobByParent(String workspaceId, String parentId);
 
     /**
      * Issue wayline mission to the dock.
@@ -36,12 +50,20 @@
     ResponseResult publishFlightTask(CreateJobParam param, CustomClaim customClaim) throws SQLException;
 
     /**
+     * Issue wayline mission to the dock.
+     * @param waylineJob
+     * @return
+     * @throws SQLException
+     */
+    ResponseResult publishOneFlightTask(WaylineJobDTO waylineJob) throws SQLException;
+
+    /**
      * Execute the task immediately.
      * @param jobId
      * @throws SQLException
      * @return
      */
-    Boolean executeFlightTask(String jobId);
+    Boolean executeFlightTask(String workspaceId, String jobId);
 
     /**
      * Cancel the task Base on job Ids.
@@ -52,11 +74,29 @@
     void cancelFlightTask(String workspaceId, Collection<String> jobIds);
 
     /**
+     * Cancel the dock tasks that have been issued but have not yet been executed.
+     * @param workspaceId
+     * @param dockSn
+     * @param jobIds
+     */
+    void publishCancelTask(String workspaceId, String dockSn, List<String> jobIds);
+
+    /**
+     * Query wayline jobs based on conditions.
+     * @param workspaceId
+     * @param jobIds
+     * @param status
+     * @return
+     */
+    List<WaylineJobDTO> getJobsByConditions(String workspaceId, Collection<String> jobIds, WaylineJobStatusEnum status);
+
+    /**
      * Query job information based on job id.
+     * @param workspaceId
      * @param jobId
      * @return job information
      */
-    Optional<WaylineJobDTO> getJobByJobId(String jobId);
+    Optional<WaylineJobDTO> getJobByJobId(String workspaceId, String jobId);
 
     /**
      * Update job data.
@@ -80,4 +120,26 @@
      * @param headers
      */
     void flightTaskResourceGet(CommonTopicReceiver receiver, MessageHeaders headers);
+
+    /**
+     * Set the media files for this job to upload immediately.
+     * @param workspaceId
+     * @param jobId
+     */
+    void uploadMediaHighestPriority(String workspaceId, String jobId);
+
+    /**
+     * Manually control the execution status of wayline job.
+     * @param workspaceId
+     * @param jobId
+     * @param param
+     */
+    void updateJobStatus(String workspaceId, String jobId, UpdateJobParam param);
+
+    /**
+     * Query the wayline execution status of the dock.
+     * @param dockSn
+     * @return
+     */
+    WaylineJobStatusEnum getWaylineState(String dockSn);
 }

--
Gitblit v1.9.3