From 2b35b23f53cde5e76a9cc7d0c6a027335bd59f9a Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Sat, 11 Nov 2023 16:31:11 +0800
Subject: [PATCH] 无人机 - 媒体库列表新增查询条件航线库ID

---
 src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java    |    7 +++++++
 src/main/java/com/dji/sample/media/dao/IFileMapper.xml                        |    4 ++++
 src/main/java/com/dji/sample/wayline/model/dto/WaylineListDTO.java            |   15 +++++++++++++++
 src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java |   10 ++++++++++
 src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java         |    3 +++
 5 files changed, 39 insertions(+), 0 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 eda2ff1..5528d10 100644
--- a/src/main/java/com/dji/sample/media/dao/IFileMapper.xml
+++ b/src/main/java/com/dji/sample/media/dao/IFileMapper.xml
@@ -43,6 +43,7 @@
         FROM
             media_file m LEFT JOIN wayline_job j ON m.job_id = j.job_id
         LEFT JOIN (SELECT CONCAT("https://dev.jxpskj.com:8026/cloud-bucket",object_key) as url,job_id from media_file WHERE file_name LIKE '%.jpeg') t ON t.job_id = m.job_id
+        LEFT JOIN wayline_file w ON w.wayline_id = j.file_id
         where 1=1
         <if test="workspaceId != null and workspaceId != ''">
             and j.workspace_id = #{workspaceId}
@@ -63,6 +64,9 @@
         <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
     </select>
     <select id="mediaDetail" resultType="com.dji.sample.media.model.MediaJobDTO">
diff --git a/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java b/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
index a241604..0544e71 100644
--- a/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
+++ b/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
@@ -6,6 +6,7 @@
 import com.dji.sample.log.aspect.SysLogAnnotation;
 import com.dji.sample.wayline.model.dto.WaylineFileDTO;
 import com.dji.sample.wayline.model.dto.WaylineFileUploadDTO;
+import com.dji.sample.wayline.model.dto.WaylineListDTO;
 import com.dji.sample.wayline.model.param.WaylineQueryParam;
 import com.dji.sample.wayline.service.IWaylineFileService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -200,4 +201,10 @@
         waylineFileService.importKmzFile(file, workspaceId, creator);
         return ResponseResult.success();
     }
+
+    @GetMapping("/{workspace_id}/waylines_list")
+    @SysLogAnnotation(operModul = "航线库", operType = "查询", operDesc = "查询当前工作区航线库列表")
+    public ResponseResult<List<WaylineListDTO>> waylineList(@PathVariable(name = "workspace_id") String workspaceId) {
+        return ResponseResult.success(waylineFileService.waylineList(workspaceId)) ;
+    }
 }
diff --git a/src/main/java/com/dji/sample/wayline/model/dto/WaylineListDTO.java b/src/main/java/com/dji/sample/wayline/model/dto/WaylineListDTO.java
new file mode 100644
index 0000000..492a3c4
--- /dev/null
+++ b/src/main/java/com/dji/sample/wayline/model/dto/WaylineListDTO.java
@@ -0,0 +1,15 @@
+package com.dji.sample.wayline.model.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class WaylineListDTO {
+    private String name;
+    private String waylineFileId;
+}
diff --git a/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java b/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
index 4a722c8..8a8715c 100644
--- a/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
+++ b/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
@@ -2,6 +2,7 @@
 
 import com.dji.sample.common.model.PaginationData;
 import com.dji.sample.wayline.model.dto.WaylineFileDTO;
+import com.dji.sample.wayline.model.dto.WaylineListDTO;
 import com.dji.sample.wayline.model.param.WaylineQueryParam;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -81,4 +82,6 @@
      * @return
      */
     void importKmzFile(MultipartFile file, String workspaceId, String creator);
+
+    List<WaylineListDTO> waylineList(String workspaceId);
 }
diff --git a/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java b/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
index 8267a90..14fa513 100644
--- a/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
+++ b/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dji.sample.common.model.Pagination;
 import com.dji.sample.common.model.PaginationData;
@@ -11,6 +12,7 @@
 import com.dji.sample.wayline.dao.IWaylineFileMapper;
 import com.dji.sample.wayline.model.dto.KmzFileProperties;
 import com.dji.sample.wayline.model.dto.WaylineFileDTO;
+import com.dji.sample.wayline.model.dto.WaylineListDTO;
 import com.dji.sample.wayline.model.entity.WaylineFileEntity;
 import com.dji.sample.wayline.model.enums.WaylineTemplateTypeEnum;
 import com.dji.sample.wayline.model.param.WaylineQueryParam;
@@ -179,6 +181,14 @@
         }
     }
 
+    @Override
+    public List<WaylineListDTO> waylineList(String workspaceId) {
+        return new LambdaQueryChainWrapper<>(mapper).eq(WaylineFileEntity::getWorkspaceId, workspaceId)
+                .list().stream().map(r -> WaylineListDTO.builder().waylineFileId(r.getWaylineId()).name(r.getName()).build())
+                .collect(Collectors.toList());
+
+    }
+
     private Optional<WaylineFileDTO> validKmzFile(MultipartFile file) {
         String filename = file.getOriginalFilename();
         if (Objects.nonNull(filename) && !filename.endsWith(WAYLINE_FILE_SUFFIX)) {

--
Gitblit v1.9.3