From c5320fbf7fd671ba7ccefe66e951edeebb4252b2 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 26 Sep 2023 16:24:51 +0800
Subject: [PATCH] 媒体模块

---
 src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java |   66 ++++++++++++++++++++++++++++++--
 1 files changed, 61 insertions(+), 5 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 90d8594..ec04134 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,15 @@
 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 com.dji.sample.wayline.model.param.WaylineJobQueryParam;
 import org.springframework.messaging.MessageHeaders;
 
 import java.sql.SQLException;
 import java.util.Collection;
+import java.util.List;
 import java.util.Optional;
 
 /**
@@ -22,10 +26,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 +51,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 +75,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.
@@ -72,7 +113,7 @@
      * @param pageSize
      * @return
      */
-    PaginationData<WaylineJobDTO> getJobsByWorkspaceId(String workspaceId, long page, long pageSize);
+    PaginationData<WaylineJobDTO> getJobsByWorkspaceId(String workspaceId, long page, long pageSize, WaylineJobQueryParam waylineJobQueryParam);
 
     /**
      * Process to get interface data of flight mission resources.
@@ -87,4 +128,19 @@
      * @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