rain
2024-08-21 2db1aa88e8ab53096a936163d686b90d8e056a99
src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
@@ -4,9 +4,12 @@
import com.dji.sample.common.model.PaginationData;
import com.dji.sample.common.model.ResponseResult;
import com.dji.sample.component.mqtt.model.CommonTopicReceiver;
import com.dji.sample.wayline.model.dto.WaylineJobCountDTO;
import com.dji.sample.wayline.model.dto.WaylineJobDTO;
import com.dji.sample.wayline.model.entity.WaylineJobEntity;
import com.dji.sample.wayline.model.enums.WaylineJobStatusEnum;
import com.dji.sample.wayline.model.param.CreateJobParam;
import com.dji.sample.wayline.model.param.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.messaging.MessageHeaders;
import java.sql.SQLException;
@@ -39,9 +42,10 @@
     * @return
     */
    Optional<WaylineJobDTO> createWaylineJobByParent(String workspaceId, String parentId);
    String getWaylineId(String jobId);
    /**
     * Issue wayline mission to the dock.
     * 向机场发出航线任务
     * @param param
     * @param customClaim   user info
     * @return
@@ -49,7 +53,26 @@
    ResponseResult publishFlightTask(CreateJobParam param, CustomClaim customClaim) throws SQLException;
    /**
     * Issue wayline mission to the dock.
     * 向机场发出航线任务(重复任务和定时任务)
     * @param param
     * @param customClaim   user info
     * @return
     */
    ResponseResult publishFlightTaskCondition(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
@@ -89,12 +112,14 @@
     */
    Optional<WaylineJobDTO> getJobByJobId(String workspaceId, String jobId);
    Optional<WaylineJobDTO> getJobByJobId(String workspaceId, String jobId,Boolean isBreakPoint);
    /**
     * Update job data.
     * @param dto
     * @return
     */
    Boolean updateJob(WaylineJobDTO dto);
    Boolean updateJob(WaylineJobDTO dto) ;
    /**
     * Paginate through all jobs in this workspace.
@@ -103,7 +128,18 @@
     * @param pageSize
     * @return
     */
    PaginationData<WaylineJobDTO> getJobsByWorkspaceId(String workspaceId, long page, long pageSize);
    PaginationData<WaylineJobDTO> getJobsByWorkspaceId(String workspaceId, long page, long pageSize, WaylineJobQueryParam waylineJobQueryParam);
    /**
     * 不分子任务列表
     *
     * @param workspaceId
     * @param page
     * @param pageSize
     * @param waylineJobQueryParam
     * @return
     */
    PaginationData<WaylineJobDTO> getJobsByWorkspaceIdNew(String workspaceId, long page, long pageSize, WaylineJobQueryParam waylineJobQueryParam, String order);
    /**
     * Process to get interface data of flight mission resources.
@@ -112,10 +148,56 @@
     */
    void flightTaskResourceGet(CommonTopicReceiver receiver, MessageHeaders headers);
    List<String> selectJobIdByName (String name);
    /**
     * 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);
    List<String> getJobNamesByPartialName(String partialJobName);
    /**
     * Query the wayline execution status of the dock.
     * @param dockSn
     * @return
     */
    WaylineJobStatusEnum getWaylineState(String dockSn);
    String getName(String jobId);
    List<String> getJobIds(String jobNames);
    /**
     * 获取最新的航线任务
     * @param workspaceId
     * @param waylineJobQueryParam
     * @return
     */
    WaylineJobEntity getLatestJob(String workspaceId, WaylineJobQueryParam waylineJobQueryParam);
    WaylineJobCountDTO patrolStatistics(String workspaceId,String queryTime,String deviceSn);
    void updateJobCollect(WaylineJobEntity waylineJob);
    ResponseResult flyByArea(String sn, FlyAreaParam flyAreaParam,String deviceSn) throws Exception;
    /**
     * 判断是否有下一次任务
     * @param job
     */
    ResponseResult checkNextJob(WaylineJobDTO job)  throws SQLException ;
    /**
     * 根据父Id获取子项
     * @param workspaceId
     * @param waylineJobQueryParam
     * @return
     */
    List<WaylineJobDTO> getChildrenJobs(String workspaceId, WaylineJobQueryParam waylineJobQueryParam);
}