From 1ad4e77cc910abdb7e95ebea160473526c8ac9ce Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Sun, 08 Oct 2023 17:32:13 +0800
Subject: [PATCH] 添加重复定时和连续执行

---
 src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java |   69 ++++++++++++++++++++++++++++++++--
 1 files changed, 64 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..ee4f8a6 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,13 +26,25 @@
     /**
      * 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.
+     * 向机场发出航线任务
      * @param param
      * @param customClaim   user info
      * @return
@@ -36,12 +52,22 @@
     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 +78,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 +116,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 +131,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