From 86d4f663db324121b3685e7f3b792756561f881a Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Thu, 25 Jul 2024 19:54:00 +0800
Subject: [PATCH] 修改人工拍照图片保存

---
 src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java  |   34 ++++++++++++++++------------------
 src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java |    1 +
 src/main/java/com/dji/sample/media/service/IFileService.java          |    2 +-
 src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java |    4 ++--
 4 files changed, 20 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/dji/sample/media/service/IFileService.java b/src/main/java/com/dji/sample/media/service/IFileService.java
index 9505970..1dbcaf7 100644
--- a/src/main/java/com/dji/sample/media/service/IFileService.java
+++ b/src/main/java/com/dji/sample/media/service/IFileService.java
@@ -37,7 +37,7 @@
      * @return
      */
     Integer saveFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException;
-
+    void saveNailFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException;
     void updateMarkMediaFileNames(String jobId);
     PaginationData<MediaFileEntity> getJobId( int pageNum, int pageSize,String workspaceId);
     PaginationData<MediaFileEntity> getPhotoByJobId(int page,int pageSize ,String workspaceId,String jobId);
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 8233451..9bd4a8c 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,27 +112,14 @@
     }
 
     @Override
-    public Integer saveFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException {
+    public Integer saveFile(String workspaceId, FileUploadDTO file) {
         MediaFileEntity fileEntity = this.fileUploadConvertToEntity(file);
         fileEntity.setWorkspaceId(workspaceId);
         fileEntity.setFileId(UUID.randomUUID().toString());
-        int count = mapper.insert(fileEntity);
-            String url = pojo.getEndpoint() + "/" + pojo.getBucket() + file.getObjectKey();
-            if (file.getObjectKey().endsWith(".jpeg")) {
-                File file1 = TbFjServiceImpl.downloadFile(url);
-                Object data = ImgUtil.getInfo(file1);
-                fileEntity.setDroneData(data);
-                saveNailFile(workspaceId, file, file1,data);
-                count = mapper.insert(fileEntity);
-                file1.delete();
-            }
-            if (file.getObjectKey().endsWith(".mp4")) {
-                saveNailFile(workspaceId, file, null,null);
-            }
-            return count;
+        return mapper.insert(fileEntity);
     }
 
-    public void saveNailFile(String workspaceId, FileUploadDTO file, File file1,Object data) throws IOException {
+    public void saveNailFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException {
         updateStatue(file.getName());
         boolean endsWith = file.getObjectKey().endsWith(".mp4");
         if (endsWith) {
@@ -141,8 +128,11 @@
             nailEntity.setFileId(UUID.randomUUID().toString());
             nailMapper.insert(nailEntity);
         } else {
+            String url = pojo.getEndpoint() + "/" + pojo.getBucket() + file.getObjectKey();
+            File file1 = TbFjServiceImpl.downloadFile(url);
             File nailFile = new File(ImgZipUtil.compressImage(file1, 50).toURI());
             MediaFileNailEntity nailEntity = this.fileUploadConvertToNailEntity(file);
+            Object data = ImgUtil.getInfo(file1);
             nailEntity.setIsOriginal(false);
             nailEntity.setDronedata(data);
             nailEntity.setWorkspaceId(workspaceId);
@@ -195,11 +185,19 @@
                     return markEntity.getDronedata();
                 }
             }
+        } else {
+            List<MediaFileNailEntity> entities = nailMapper.selectList(new LambdaQueryWrapper<MediaFileNailEntity>()
+                    .eq(MediaFileNailEntity::getFileName, name));
+            if (entities != null && !entities.isEmpty()) {
+                for (MediaFileNailEntity NailEntity : entities) {
+                    if (NailEntity.getDronedata() != null) {
+                        return NailEntity.getDronedata();
+                    }
+                }
+            }
         }
-
         return "null";
     }
-
 
     @Override
     public List<MediaFileDTO> getAllFilesByWorkspaceId(String workspaceId) {
diff --git a/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java b/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java
index 468e6b9..ca01914 100644
--- a/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java
+++ b/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java
@@ -226,6 +226,7 @@
         // set path
         String objectKey = callback.getFile().getObjectKey();
         callback.getFile().setPath(objectKey.substring(objectKey.indexOf("/") + 1, objectKey.lastIndexOf("/")));
+        fileService.saveNailFile(job.getWorkspaceId(), callback.getFile());
         return fileService.saveFile(job.getWorkspaceId(), callback.getFile()) > 0;
     }
 
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 1f1d401..5a51059 100644
--- a/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
+++ b/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
@@ -1,10 +1,12 @@
 package com.dji.sample.wayline.service;
 
 import com.dji.sample.common.model.PaginationData;
+import com.dji.sample.common.model.ResponseResult;
 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.param.WaylineQueryParam;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.net.URL;
@@ -28,8 +30,6 @@
     PaginationData<WaylineFileDTO> getWaylinesByParam(String workspaceId, WaylineQueryParam param);
 
     PaginationData<WaylineFileDTO> getShowWaylinesByParam(String workspaceId, WaylineQueryParam param);
-
-
 
     String getPatchesId(String waylineId);
     /**

--
Gitblit v1.9.3