From a0196be7cc866778d14c04da454d65d02173b70d Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Mon, 13 Nov 2023 10:44:06 +0800
Subject: [PATCH] 无人机 -巡航统计查询新增时间查询条件

---
 src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.java              |    4 ++++
 src/main/java/com/dji/sample/wayline/controller/WaylineJobController.java    |    4 ++--
 src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.xml               |   14 ++++++++++++++
 src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java |    4 ++--
 src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java         |    2 +-
 5 files changed, 23 insertions(+), 5 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 0ec0776..d362661 100644
--- a/src/main/java/com/dji/sample/wayline/controller/WaylineJobController.java
+++ b/src/main/java/com/dji/sample/wayline/controller/WaylineJobController.java
@@ -146,9 +146,9 @@
      * 统计飞行次数
      */
     @PostMapping("/{workspace_id}/patrol_statistics")
-    public ResponseResult<WaylineJobCountDTO> patrolStatistics(@PathVariable(name = "workspace_id") String workspaceId){
+    public ResponseResult<WaylineJobCountDTO> patrolStatistics(@PathVariable(name = "workspace_id") String workspaceId,String queryTime){
 
-        WaylineJobCountDTO waylineJobCountDTO = waylineJobService.patrolStatistics(workspaceId);
+        WaylineJobCountDTO waylineJobCountDTO = waylineJobService.patrolStatistics(workspaceId,queryTime);
 
         return ResponseResult.success(waylineJobCountDTO);
     }
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 af971b5..912af1c 100644
--- a/src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.java
+++ b/src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.java
@@ -6,6 +6,8 @@
 import com.dji.sample.wayline.model.param.WaylineJobQueryParam;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * @author sean
  * @version 1.1
@@ -16,4 +18,6 @@
     Page<WaylineJobEntity> getPage(Page<WaylineJobEntity> waylineJobEntityPage, @Param("queryParam") WaylineJobQueryParam param, @Param("workspaceId") String workspaceId);
 
     WaylineJobEntity getLatest(@Param("workspaceId")String workspaceId,@Param("queryParam") WaylineJobQueryParam waylineJobQueryParam);
+
+    List<WaylineJobEntity> patrolStatistics(@Param("workspaceId") String workspaceId, @Param("queryTime") String queryTime);
 }
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 a74ea38..571caa1 100644
--- a/src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.xml
+++ b/src/main/java/com/dji/sample/wayline/dao/IWaylineJobMapper.xml
@@ -54,4 +54,18 @@
 
 
     </select>
+    <select id="patrolStatistics" resultType="com.dji.sample.wayline.model.entity.WaylineJobEntity">
+        SELECT
+            *
+        FROM
+            wayline_job
+        WHERE 1=1
+          and status = 3
+        <if test="queryTime != null and queryTime != ''">
+           and ( FROM_UNIXTIME( execute_time / 1000, '%Y' ) = #{queryTime} OR FROM_UNIXTIME( execute_time / 1000, '%Y-%m' ) = #{queryTime} )
+        </if>
+        <if test="workspaceId != null and workspaceId != ''">
+            and workspace_id = #{workspaceId}
+        </if>
+    </select>
 </mapper>
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 14be7c9..bcbae53 100644
--- a/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
+++ b/src/main/java/com/dji/sample/wayline/service/IWaylineJobService.java
@@ -164,7 +164,7 @@
      */
     WaylineJobEntity getLatestJob(String workspaceId, WaylineJobQueryParam waylineJobQueryParam);
 
-    WaylineJobCountDTO patrolStatistics(String workspaceId);
+    WaylineJobCountDTO patrolStatistics(String workspaceId,String queryTime);
 
     void updateJobCollect(WaylineJobEntity waylineJob);
 
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 a07e9b7..f5b1854 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
@@ -1005,9 +1005,9 @@
 
 
     @Override
-    public WaylineJobCountDTO patrolStatistics(String workspaceId) {
+    public WaylineJobCountDTO patrolStatistics(String workspaceId,String queryTime) {
         WaylineJobCountDTO waylineJobCountDTO = new WaylineJobCountDTO();
-        List<WaylineJobEntity> list = new LambdaQueryChainWrapper<>(mapper).eq(WaylineJobEntity::getStatus, 3).list();
+        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;

--
Gitblit v1.9.3