From 35c8aca3b8107ee2a4fbb5790ce1eeb70f4bb461 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Fri, 22 Mar 2024 18:15:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ht-dev' into ht-dev
---
src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java | 9 ++
src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.java | 9 +++
src/main/java/com/dji/sample/wayline/controller/WaylineJobController.java | 11 +++
src/main/java/com/dji/sample/wayline/model/dto/WaylineTaskProgressExt.java | 5 +
src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.xml | 46 +++++++++++++++
src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java | 12 ++++
src/main/java/com/dji/sample/wayline/model/dto/WaylineTaskProgressExtBreakPoint.java | 24 ++++++++
src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java | 11 +++
8 files changed, 125 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/dji/sample/wayline/controller/WaylineJobController.java b/src/main/java/com/dji/sample/wayline/controller/WaylineJobController.java
index 9c3ea8f..9026fef 100644
--- a/src/main/java/com/dji/sample/wayline/controller/WaylineJobController.java
+++ b/src/main/java/com/dji/sample/wayline/controller/WaylineJobController.java
@@ -93,6 +93,17 @@
return ResponseResult.success(data);
}
+ @GetMapping("/{workspace_id}/jobs-dp")
+ @SysLogAnnotation(operModul = "计划库", operType = "查询", operDesc = "分页查询")
+ public ResponseResult<PaginationData<WaylineJobDTO>> getJobsByState(@RequestParam(defaultValue = "1") Long page,
+ @RequestParam(name = "page_size", defaultValue = "10") Long pageSize,
+ @PathVariable(name = "workspace_id") String workspaceId,
+ @RequestParam(name = "order", defaultValue = "") String order,
+ WaylineJobQueryParam waylineJobQueryParam) {
+ PaginationData<WaylineJobDTO> data = waylineJobService.getJobsByWorkspaceIdNew(workspaceId, page, pageSize, waylineJobQueryParam,order);
+ return ResponseResult.success(data);
+ }
+
/**
* 子查询
* @param workspaceId
diff --git a/src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.java b/src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.java
index 3d3d23f..564e120 100644
--- a/src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.java
+++ b/src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.java
@@ -17,6 +17,15 @@
Page<WaylineJobEntity> getPage(Page<WaylineJobEntity> waylineJobEntityPage, @Param("queryParam") WaylineJobQueryParam param, @Param("workspaceId") String workspaceId);
+ /**
+ * 不分子任务列表
+ * @param waylineJobEntityPage
+ * @param param
+ * @param workspaceId
+ * @return
+ */
+ Page<WaylineJobEntity> getPageNew(Page<WaylineJobEntity> waylineJobEntityPage, @Param("queryParam") WaylineJobQueryParam param, @Param("workspaceId") String workspaceId,@Param("order") String order);
+
WaylineJobEntity getLatest(@Param("workspaceId")String workspaceId,@Param("queryParam") WaylineJobQueryParam waylineJobQueryParam);
List<WaylineJobEntity> getJobs(@Param("workspaceId") String workspaceId,@Param("queryParam") WaylineJobQueryParam waylineJobQueryParam);
diff --git a/src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.xml b/src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.xml
index f6b3336..6a7bb5b 100644
--- a/src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.xml
+++ b/src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.xml
@@ -43,6 +43,52 @@
</select>
+ <select id="getPageNew" resultType="com.dji.sample.wayline.model.entity.WaylineJobEntity">
+
+ SELECT job.*,
+ ( SELECT CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END FROM wayline_job WHERE parent_id = job.id ) AS hasChildren
+ FROM wayline_job job
+ LEFT JOIN wayline_file file ON job.file_id = file.wayline_id
+ WHERE job.workspace_id = #{workspaceId}
+ <if test="queryParam.taskType != null and queryParam.taskType!= '' or queryParam.taskType==0 ">
+ AND job.task_type = #{queryParam.taskType}
+ </if>
+
+ <if test="queryParam.name != null and queryParam.name != '' ">
+ AND ( (job.name LIKE CONCAT('%',#{queryParam.name},'%'))or(file.name LIKE CONCAT('%',#{queryParam.name},'%')) )
+ </if>
+
+ <if test="queryParam.status != null and queryParam.status !='' ">
+ AND job.status in
+ <foreach collection="queryParam.status.split(',')" item="item" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
+
+ <if test="queryParam.startTime !=null and queryParam.endTime !=null">
+ AND DATE_FORMAT(FROM_UNIXTIME(job.begin_time/1000,'%Y-%m-%d'),'%Y-%m-%d') >= DATE_FORMAT(#{queryParam.startTime},'%Y-%m-%d')
+ </if>
+
+ <if test="queryParam.endTime !=null and queryParam.endTime !=null">
+ AND DATE_FORMAT(FROM_UNIXTIME(job.end_time/1000,'%Y-%m-%d'),'%Y-%m-%d') <= DATE_FORMAT(#{queryParam.endTime},'%Y-%m-%d')
+ </if>
+
+ <if test="queryParam.dockSn != null and queryParam.dockSn != '' ">
+ AND job.dock_sn in
+ <foreach collection="queryParam.dockSn.split(',')" item="item" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
+
+ <if test="order != null and order != '' and order == 'DESC'">
+ ORDER BY job.begin_time DESC
+ </if>
+ <if test="order != null and order != '' and order == 'ASC'">
+ ORDER BY job.begin_time ASC
+ </if>
+
+ </select>
+
<select id="getLatest" resultType="com.dji.sample.wayline.model.entity.WaylineJobEntity">
SELECT job.* FROM wayline_job job
WHERE job.workspace_id = #{workspaceId}
diff --git a/src/main/java/com/dji/sample/wayline/model/dto/WaylineTaskProgressExt.java b/src/main/java/com/dji/sample/wayline/model/dto/WaylineTaskProgressExt.java
index bec5eaa..2a45628 100644
--- a/src/main/java/com/dji/sample/wayline/model/dto/WaylineTaskProgressExt.java
+++ b/src/main/java/com/dji/sample/wayline/model/dto/WaylineTaskProgressExt.java
@@ -17,4 +17,9 @@
private String flightId;
private String trackId;
+
+ /**
+ * 航线断点信息
+ */
+ private WaylineTaskProgressExtBreakPoint breakPoint;
}
diff --git a/src/main/java/com/dji/sample/wayline/model/dto/WaylineTaskProgressExtBreakPoint.java b/src/main/java/com/dji/sample/wayline/model/dto/WaylineTaskProgressExtBreakPoint.java
new file mode 100644
index 0000000..44e92f3
--- /dev/null
+++ b/src/main/java/com/dji/sample/wayline/model/dto/WaylineTaskProgressExtBreakPoint.java
@@ -0,0 +1,24 @@
+package com.dji.sample.wayline.model.dto;
+
+import lombok.Data;
+
+/**
+ * @PROJECT_NAME: iot_drone_api
+ * @DESCRIPTION:
+ * @USER: aix
+ * @DATE: 2024/3/22 14:54
+ */
+@Data
+public class WaylineTaskProgressExtBreakPoint {
+
+ private Integer attitudeHead;
+ private Integer breakReason;
+ private Integer height;
+ private Integer index;
+ private Integer latitude;
+ private Integer longitude;
+ private Integer progress;
+ private Integer state;
+ private Integer waylineId;
+
+}
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 bbf4f79..30062bc 100644
--- a/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
+++ b/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
@@ -9,6 +9,7 @@
import com.dji.sample.wayline.model.entity.WaylineJobEntity;
import com.dji.sample.wayline.model.enums.WaylineJobStatusEnum;
import com.dji.sample.wayline.model.param.*;
+import org.apache.ibatis.annotations.Param;
import org.springframework.messaging.MessageHeaders;
import java.sql.SQLException;
@@ -128,6 +129,16 @@
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.
* @param receiver
* @param headers
diff --git a/src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java b/src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java
index 36c6556..47a0442 100644
--- a/src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java
+++ b/src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java
@@ -71,6 +71,7 @@
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_FLIGHT_TASK_PROGRESS, outputChannel = ChannelName.OUTBOUND_EVENTS)
public CommonTopicReceiver handleProgress(CommonTopicReceiver receiver, MessageHeaders headers) {
+ log.info("上报航线任务进度: {}", receiver.toString());
EventsReceiver<WaylineTaskProgressReceiver> eventsReceiver = mapper.convertValue(receiver.getData(),
new TypeReference<EventsReceiver<WaylineTaskProgressReceiver>>(){});
eventsReceiver.setBid(receiver.getBid());
@@ -81,10 +82,14 @@
WaylineTaskProgressReceiver output = eventsReceiver.getOutput();
- log.info("Task progress: {}", output.getProgress().toString());
+ log.info("任务进度: {}", output.getProgress().toString());
+
+ if (null != output.getExt().getBreakPoint()) {
+ log.info("任务进度 ===> 断点信息:{}", output.getExt().getBreakPoint().toString());
+ }
if (eventsReceiver.getResult() != ResponseResult.CODE_SUCCESS) {
- log.error("Task progress ===> Error code: " + eventsReceiver.getResult());
+ log.error("任务进度 ===> 错误编码: " + eventsReceiver.getResult());
}
EventsResultStatusEnum statusEnum = EventsResultStatusEnum.find(output.getStatus());
diff --git a/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java b/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
index b138833..b40ba98 100644
--- a/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
+++ b/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
@@ -531,6 +531,18 @@
}
@Override
+ public PaginationData<WaylineJobDTO> getJobsByWorkspaceIdNew(String workspaceId, long page, long pageSize, WaylineJobQueryParam waylineJobQueryParam, String order) {
+ Page<WaylineJobEntity> pageData = mapper.getPageNew(new Page<WaylineJobEntity>(page, pageSize), waylineJobQueryParam, workspaceId,order);
+
+ List<WaylineJobDTO> records = pageData.getRecords()
+ .stream()
+ .map(this::entity2Dto)
+ .collect(Collectors.toList());
+
+ return new PaginationData<WaylineJobDTO>(records, new Pagination(pageData));
+ }
+
+ @Override
public List<WaylineJobDTO> getChildrenJobs(String workspaceId, WaylineJobQueryParam waylineJobQueryParam) {
List<WaylineJobEntity> list = mapper.getJobs(workspaceId, waylineJobQueryParam);
--
Gitblit v1.9.3