From 6c321434d8f0bc78ae86640653eccbf4cfc2c1d3 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Tue, 11 Jun 2024 09:10:13 +0800
Subject: [PATCH] SM3加密,媒体文件存储

---
 src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java |   66 +++++++++++++++++---------------
 1 files changed, 35 insertions(+), 31 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 284894f..4ed3b88 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
@@ -90,48 +90,52 @@
     }
 
     public void saveMarkFile(String workspaceId, FileUploadDTO file) throws IOException, FontFormatException, ImageProcessingException {
-        String name = TimerUtil.getDkbh(file.getName());
-        List<LotInfo> lotInfos = patchesMapper.selectList(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getDkbh, name));
-        if (!lotInfos.isEmpty()) {
-            LambdaUpdateWrapper<LotInfo> updateWrapper = new LambdaUpdateWrapper<>();
-            updateWrapper.eq(LotInfo::getDkbh, name)
-                    .eq(LotInfo::getInvestigate, 0)
-                    .set(LotInfo::getInvestigate, 1);
-            patchesMapper.update(null, updateWrapper);
-        }
-
         boolean endsWith = file.getObjectKey().endsWith(".mp4");
         if (endsWith) {
             MediaFileMarkEntity mediaFileMarkEntity = this.fileUploadConvertToMarkEntity(file);
             mediaFileMarkEntity.setWorkspaceId(workspaceId);
             mediaFileMarkEntity.setFileId(UUID.randomUUID().toString());
             markMapper.insert(mediaFileMarkEntity);
+        } else {
+            boolean contains = file.getName().contains("~");
+            if (contains) {
+                String name = TimerUtil.getDkbh(file.getName());
+                List<LotInfo> lotInfos = patchesMapper.selectList(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getDkbh, name));
+                if (!lotInfos.isEmpty()) {
+                    LambdaUpdateWrapper<LotInfo> updateWrapper = new LambdaUpdateWrapper<>();
+                    updateWrapper.eq(LotInfo::getDkbh, name)
+                            .eq(LotInfo::getInvestigate, 0)
+                            .set(LotInfo::getInvestigate, 1);
+                    patchesMapper.update(null, updateWrapper);
+                }
+            }
+
+            MediaFileMarkEntity mediaFileMarkEntity = this.fileUploadConvertToMarkEntity(file);
+            String url = "http://dev.jxpskj.com:9000/cloud-bucket" + file.getObjectKey();
+            File file1 = TbFjServiceImpl.downloadFile(url);
+            long timestamp = convertToTimestamp(file.getMetadata().getCreatedTime());
+            File file2 = new File(WaterMarkUtil.addWatermark(file1, timestamp, file.getMetadata().getShootPosition().getLat(),
+                    file.getMetadata().getShootPosition().getLng(), file.getMetadata().getGimbalYawDegree()).toURI());
+            Object data = ImgUtil.getInfo(file1);
+            mediaFileMarkEntity.setDronedata(data);
+            mediaFileMarkEntity.setWorkspaceId(workspaceId);
+            mediaFileMarkEntity.setFileId(UUID.randomUUID().toString());
+            mediaFileMarkEntity.setObjectKey("/mark" + file.getPath() + "/" + file.getName());
+            mediaFileMarkEntity.setFileName("mark" + file.getName());
+            mediaFileMarkEntity.setFilePath("mark" + file.getPath());
+            String endpoint = "http://dev.jxpskj.com:9000";
+            String accessKey = "pskj";
+            String secretKey = "pskj@2021";
+            String bucketName = "cloud-bucket";
+            String objectName = mediaFileMarkEntity.getObjectKey(); // 例如 "folder/file.txt"
+            uploadFile(endpoint, accessKey, secretKey, bucketName, objectName, file2);
+            markMapper.insert(mediaFileMarkEntity);
         }
-        MediaFileMarkEntity mediaFileMarkEntity = this.fileUploadConvertToMarkEntity(file);
-        String url = "http://dev.jxpskj.com:9000/cloud-bucket" + file.getObjectKey();
-        File file1 = TbFjServiceImpl.downloadFile(url);
-        long timestamp = convertToTimestamp(file.getMetadata().getCreatedTime());
-        File file2 = new File(WaterMarkUtil.addWatermark(file1, timestamp, file.getMetadata().getShootPosition().getLat(),
-                file.getMetadata().getShootPosition().getLng(), file.getMetadata().getGimbalYawDegree()).toURI());
-        Object data = ImgUtil.getInfo(file1);
-        mediaFileMarkEntity.setDronedata(data);
-        mediaFileMarkEntity.setWorkspaceId(workspaceId);
-        mediaFileMarkEntity.setFileId(UUID.randomUUID().toString());
-        mediaFileMarkEntity.setObjectKey("/mark" + file.getPath() + "/" + file.getName());
-        mediaFileMarkEntity.setFileName("mark" + file.getName());
-        mediaFileMarkEntity.setFilePath("mark" + file.getPath());
-        String endpoint = "http://dev.jxpskj.com:9000";
-        String accessKey = "pskj";
-        String secretKey = "pskj@2021";
-        String bucketName = "cloud-bucket";
-        String objectName = mediaFileMarkEntity.getObjectKey(); // 例如 "folder/file.txt"
-        uploadFile(endpoint, accessKey, secretKey, bucketName, objectName, file2);
-        markMapper.insert(mediaFileMarkEntity);
     }
 
     @Override
     public Object mediaInfo(String filename) {
-        String name= "mark"+filename;
+        String name = "mark" + filename;
         MediaFileMarkEntity entity = markMapper.selectOne(new LambdaQueryWrapper<MediaFileMarkEntity>()
                 .eq(MediaFileMarkEntity::getFileName, name));
 

--
Gitblit v1.9.3