From 725abac64efc098b9ecb7827429f3c47924a00b9 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Fri, 19 Jul 2024 17:42:20 +0800
Subject: [PATCH] 修改航线录像问题,新增图片压缩下载,修改航线

---
 src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java |   47 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java b/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
index f0809a9..6b52db1 100644
--- a/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
+++ b/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
@@ -112,10 +112,12 @@
         MediaFileEntity fileEntity = this.fileUploadConvertToEntity(file);
         fileEntity.setWorkspaceId(workspaceId);
         fileEntity.setFileId(UUID.randomUUID().toString());
+        if (!file.getObjectKey().endsWith(".mp4")){
         String url = pojo.getEndpoint() + "/" + pojo.getBucket() + file.getObjectKey();
         File file1 = TbFjServiceImpl.downloadFile(url);
         Object data = ImgUtil.getInfo(file1);
         fileEntity.setDroneData(data);
+        }
         return mapper.insert(fileEntity);
     }
 
@@ -787,8 +789,8 @@
             e.printStackTrace();
         }
     }
-
-    public PaginationData<MediaFileEntity> getJobId( int pageNum, int pageSize,String workspaceId) {
+    @Override
+    public PaginationData<MediaFileEntity> getJobId(int pageNum, int pageSize, String workspaceId) {
         // 分页查询
         Page<MediaFileEntity> page = new Page<>(pageNum, pageSize);
         Page<MediaFileEntity> resultPage = mapper.selectPage(page, new LambdaQueryWrapper<MediaFileEntity>()
@@ -810,14 +812,26 @@
 
         List<MediaFileEntity> uniqueFiles = new ArrayList<>(uniqueFilesMap.values());
 
-        // 使用分页对象构造 Pagination
-        Pagination pagination = new Pagination(resultPage);
-        return new PaginationData<>(uniqueFiles, pagination);
+        // 使用去重后的列表重新计算总数
+        int uniqueTotal = uniqueFiles.size();
+
+        // 创建新的分页对象,使用去重后的总数
+        Page<MediaFileEntity> uniquePage = new Page<>(pageNum, pageSize, uniqueTotal);
+
+        // 截取当前页的数据
+        int fromIndex = Math.min((pageNum - 1) * pageSize, uniqueTotal);
+        int toIndex = Math.min(fromIndex + pageSize, uniqueTotal);
+        List<MediaFileEntity> pagedUniqueFiles = uniqueFiles.subList(fromIndex, toIndex);
+
+        // 使用新的分页对象构造 Pagination
+        Pagination pagination = new Pagination(uniquePage);
+
+        return new PaginationData<>(pagedUniqueFiles, pagination);
     }
 
 
     @Override
-    public PaginationData<MediaFileEntity> getPhotoByJobId(int pageNum,int pageSize,String workspaceId, String jobId) {
+    public PaginationData<MediaFileEntity> getPhotoByJobId(int pageNum, int pageSize, String workspaceId, String jobId) {
 
         // 分页查询
         Page<MediaFileEntity> page = new Page<>(pageNum, pageSize);
@@ -837,13 +851,28 @@
 
         List<MediaFileEntity> uniqueFiles = new ArrayList<>(uniqueFilesMap.values());
 
-        // 使用分页对象构造 Pagination
-        Pagination pagination = new Pagination(resultPage);
-        return new PaginationData<>(uniqueFiles, pagination);
+        // 使用去重后的列表重新计算总数
+        int uniqueTotal = uniqueFiles.size();
 
+        // 创建新的分页对象,使用去重后的总数
+        Page<MediaFileEntity> uniquePage = new Page<>(pageNum, pageSize, uniqueTotal);
+
+        // 截取当前页的数据
+        int fromIndex = Math.min((pageNum - 1) * pageSize, uniqueTotal);
+        int toIndex = Math.min(fromIndex + pageSize, uniqueTotal);
+        List<MediaFileEntity> pagedUniqueFiles = uniqueFiles.subList(fromIndex, toIndex);
+
+        // 使用新的分页对象构造 Pagination
+        Pagination pagination = new Pagination(uniquePage);
+
+        return new PaginationData<>(pagedUniqueFiles, pagination);
     }
 
 
+
+    public List<MediaFileEntity> getMedia(String jobId){
+      return   mapper.selectList(new LambdaQueryWrapper<MediaFileEntity>().eq(MediaFileEntity::getJobId,jobId));
+    }
     public void updateById(Integer id, MediaFileMarkEntity entity) {
         entity.setIsadd(1);
         UpdateWrapper<MediaFileMarkEntity> updateWrapper = new UpdateWrapper<>();

--
Gitblit v1.9.3