From ae0db4ad3e552385ae8d3629dd9c594d9e3c7309 Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Thu, 16 Nov 2023 18:20:02 +0800
Subject: [PATCH] 无人机 -查询任务媒体库优化

---
 src/main/java/com/dji/sample/media/dao/IFileMapper.xml                       |   11 +++++------
 src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java |    2 +-
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/dji/sample/media/dao/IFileMapper.xml b/src/main/java/com/dji/sample/media/dao/IFileMapper.xml
index d9fd9a0..b63de38 100644
--- a/src/main/java/com/dji/sample/media/dao/IFileMapper.xml
+++ b/src/main/java/com/dji/sample/media/dao/IFileMapper.xml
@@ -58,16 +58,14 @@
         <if test="param.endTime !=null and param.endTime !=null">
             AND DATE_FORMAT(FROM_UNIXTIME(j.create_time/1000,'%Y-%m-%d'),'%Y-%m-%d')   &lt;= DATE_FORMAT(#{param.endTime},'%Y-%m-%d')
         </if>
-        <if test="param.sort eq 2">
-            and j.collect_status = 1
-        </if>
-        <if test="param.sort eq 3">
-            and m.collect_status = 1
-        </if>
         <if test="param.waylineFileId != null and param.waylineFileId != ''">
             and w.wayline_id = #{param.waylineFileId}
         </if>
         GROUP BY m.job_id
+        ORDER BY
+        <if test="param.sort eq 2">j.collect_status = 1 desc,</if>
+        <if test="param.sort eq 3">m.collect_status = 1 desc,</if>
+        j.create_time desc
     </select>
     <select id="mediaDetail" resultType="com.dji.sample.media.model.MediaJobDTO">
         SELECT
@@ -84,5 +82,6 @@
         <if test="jobId != null and jobId != ''">
             and m.job_id = #{jobId}
         </if>
+        ORDER BY type = '视频' DESC
     </select>
 </mapper>
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 7123c9a..b0129cf 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
@@ -899,7 +899,7 @@
         List<WaylineJobEntity> list = mapper.patrolStatistics(workspaceId, queryTime);
         if (!CollectionUtils.isEmpty(list)) {
             waylineJobCountDTO.setTotalNumber(list.size());
-            long totalTime = list.stream().mapToLong(s -> s.getEndTime() - s.getBeginTime()).sum() / 1000;
+            long totalTime = list.stream().filter(task -> task.getCompletedTime()!= null && task.getExecuteTime()!= null).mapToLong(s -> s.getCompletedTime() - s.getExecuteTime()).sum() / 1000;
             StringBuffer buffer = new StringBuffer();
             long h = totalTime / 3600;
             long m = (totalTime % 3600) / 60;

--
Gitblit v1.9.3