From 347f962a7642c453b22faa2cca57a84cd23950b1 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Tue, 30 Jul 2024 19:23:51 +0800
Subject: [PATCH] 文件压缩下载

---
 src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java |   50 +++++++++++++++-----------------------------------
 1 files changed, 15 insertions(+), 35 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 757a713..f50a47f 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
@@ -130,6 +130,10 @@
             nailEntity.setWorkspaceId(workspaceId);
             nailEntity.setFileId(UUID.randomUUID().toString());
             nailMapper.insert(nailEntity);
+            MediaFileZipEntity zipEntity = this.fileUploadConvertToZipEntity((file));
+            zipEntity.setWorkspaceId(workspaceId);
+            zipEntity.setFileId(UUID.randomUUID().toString());
+            zipMapper.insert(zipEntity);
         } else {
             String url = pojo.getEndpoint() + "/" + pojo.getBucket() + file.getObjectKey();
             File file1 = TbFjServiceImpl.downloadFile(url);
@@ -145,6 +149,7 @@
             nailEntity.setFilePath("nail" + file.getPath());
             String nailName = nailEntity.getObjectKey();
             nailEntity.setFileId(UUID.randomUUID().toString());
+            uploadFile("http://139.196.74.78:9000", "sxkj", "sxkj2024", "cloud-bucket", file.getObjectKey(), file1, "image/jpeg");
             uploadFile(pojo.getEndpoint(), pojo.getAccessKey(), pojo.getSecretKey(), pojo.getBucket(), nailName, nailFile, "image/jpeg");
             uploadFile("http://139.196.74.78:9000", "sxkj", "sxkj2024", "cloud-bucket", nailName, nailFile, "image/jpeg");
             nailMapper.insert(nailEntity);
@@ -155,10 +160,10 @@
         updateStatue(file.getName());
         boolean endsWith = file.getObjectKey().endsWith(".mp4");
         if (endsWith) {
-            MediaFileZipEntity nailEntity = this.fileUploadConvertToZipEntity((file));
-            nailEntity.setWorkspaceId(workspaceId);
-            nailEntity.setFileId(UUID.randomUUID().toString());
-            zipMapper.insert(nailEntity);
+            MediaFileZipEntity zipEntity = this.fileUploadConvertToZipEntity((file));
+            zipEntity.setWorkspaceId(workspaceId);
+            zipEntity.setFileId(UUID.randomUUID().toString());
+            zipMapper.insert(zipEntity);
         } else {
             String url = pojo.getEndpoint() + "/" + pojo.getBucket() + file.getObjectKey();
             File file1 = TbFjServiceImpl.downloadFile(url);
@@ -450,18 +455,19 @@
 
     @Override
     public ResponseResult downloadImages(List<String> jobIds) {
+        String localSaveDir = "/home/drone/web/zip";
+        String downPath="https://wrj.shuixiongit.com/downloadZip/";
+        String filepath=TimerUtil.getNowDay()+".zip";
         try {
-            String bucketPath = "/data/software/minio-data/cloud-bucket/";
+            String bucketPath = "/data/software/minio-data/cloud-bucket";
             List<String> prefixes = getUniqueFilePaths(jobIds);
             MinioFileDownloader downloader = new MinioFileDownloader(bucketPath);
-            // 下载并压缩文件到本地目录
-            String localSaveDir = "/data/software/minio-data/zip-bucket/"; // 修改为你想保存的本地目录
-            downloader.downloadAndZipFolders(prefixes, localSaveDir);
+            downloader.downloadAndZipFolders(prefixes, localSaveDir,filepath);
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseResult.error("下载失败" + e.getMessage());
         }
-        return ResponseResult.success("下载成功");
+        return ResponseResult.success(downPath+filepath);
     }
 
     @Override
@@ -512,32 +518,6 @@
             builder.fileName(file.getName())
                     .filePath(file.getPath())
                     .examine(0)
-                    .fingerprint(file.getFingerprint())
-                    .objectKey(file.getObjectKey())
-                    .subFileType(file.getSubFileType())
-                    .isOriginal(file.getExt().getIsOriginal())
-                    .jobId(file.getExt().getFlightId())
-                    .drone(file.getExt().getSn()).metadata(file.getMetadata())
-                    .tinnyFingerprint(file.getExt().getTinnyFingerprint());
-
-            // domain-type-subType
-            int[] payloadModel = Arrays.stream(file.getExt().getPayloadModelKey().split("-"))
-                    .map(Integer::valueOf)
-                    .mapToInt(Integer::intValue)
-                    .toArray();
-            Optional<DeviceDictionaryDTO> payloadDict = deviceDictionaryService
-                    .getOneDictionaryInfoByTypeSubType(DeviceDomainEnum.PAYLOAD.getVal(), payloadModel[1], payloadModel[2]);
-            payloadDict.ifPresent(payload -> builder.payload(payload.getDeviceName()));
-        }
-        return builder.build();
-    }
-
-    private MediaFileMarkEntity fileUploadConvertToMarkEntity(FileUploadDTO file) {
-        MediaFileMarkEntity.MediaFileMarkEntityBuilder builder = MediaFileMarkEntity.builder();
-
-        if (file != null) {
-            builder.fileName(file.getName())
-                    .filePath(file.getPath())
                     .fingerprint(file.getFingerprint())
                     .objectKey(file.getObjectKey())
                     .subFileType(file.getSubFileType())

--
Gitblit v1.9.3