From 76b7d06f5f8ff283279fcc8409b3c28f02cbd37c Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Thu, 18 Jul 2024 10:29:27 +0800
Subject: [PATCH] 修复图斑图片信息缺失

---
 src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java  |   10 ++++++++--
 src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java |   11 ++++-------
 src/main/java/com/dji/sample/media/model/MediaFileEntity.java         |    4 ++++
 src/main/java/com/dji/sample/media/service/IFileService.java          |    2 +-
 4 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/dji/sample/media/model/MediaFileEntity.java b/src/main/java/com/dji/sample/media/model/MediaFileEntity.java
index 2a0093b..5364830 100644
--- a/src/main/java/com/dji/sample/media/model/MediaFileEntity.java
+++ b/src/main/java/com/dji/sample/media/model/MediaFileEntity.java
@@ -78,8 +78,12 @@
 
     @TableField("examine")
     private Integer examine;
+
     @TableField("job_name")
     private String jobName;
 
+    @TableField(value = "drone_data", typeHandler = FastjsonTypeHandler.class)
+    private Object droneData;
+
 }
 
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 0226017..66072b2 100644
--- a/src/main/java/com/dji/sample/media/service/IFileService.java
+++ b/src/main/java/com/dji/sample/media/service/IFileService.java
@@ -34,7 +34,7 @@
      * @param file
      * @return
      */
-    Integer saveFile(String workspaceId, FileUploadDTO file);
+    Integer saveFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException;
 
     /**
      * 存储水印图片
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 ab36fe7..ebc2d92 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
@@ -108,10 +108,14 @@
     }
 
     @Override
-    public Integer saveFile(String workspaceId, FileUploadDTO file) {
+    public Integer saveFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException {
         MediaFileEntity fileEntity = this.fileUploadConvertToEntity(file);
         fileEntity.setWorkspaceId(workspaceId);
         fileEntity.setFileId(UUID.randomUUID().toString());
+        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);
     }
 
@@ -185,7 +189,9 @@
         if (entity != null) {
             return entity.get(0).getDronedata();
         } else {
-            return "该图片信息正在加载";
+            List<MediaFileEntity> entitys = mapper.selectList(new LambdaQueryWrapper<MediaFileEntity>()
+                    .eq(MediaFileEntity::getFileName, name));
+            return entitys.get(0).getDroneData();
         }
     }
 
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 cf44939..21f3518 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
@@ -89,7 +89,7 @@
     }
 
     @Override
-    public Integer saveMediaFile(String workspaceId, FileUploadDTO file){
+    public Integer saveMediaFile(String workspaceId, FileUploadDTO file) throws IOException, ImageProcessingException {
         return fileService.saveFile(workspaceId, file);
     }
 
@@ -218,7 +218,7 @@
                 BizCodeEnum.FILE_UPLOAD_CALLBACK.getCode(), mediaFileCount);
     }
 
-    private Boolean parseMediaFile(FileUploadCallback callback, WaylineJobDTO job)  {
+    private Boolean parseMediaFile(FileUploadCallback callback, WaylineJobDTO job) throws ImageProcessingException, IOException, FontFormatException {
         // Set the drone sn that shoots the media
         Optional<DeviceDTO> dockDTO = deviceService.getDeviceBySn(job.getDockSn());
         dockDTO.ifPresent(dock -> callback.getFile().getExt().setSn(dock.getChildDeviceSn()));
@@ -227,11 +227,8 @@
         String objectKey = callback.getFile().getObjectKey();
         callback.getFile().setPath(objectKey.substring(objectKey.indexOf("/") + 1, objectKey.lastIndexOf("/")));
         int count =fileService.saveFile(job.getWorkspaceId(), callback.getFile());
-                try {
-                    fileService.saveMarkFile(job.getWorkspaceId(), callback.getFile());
-                } catch (Exception e) {
-                    throw new RuntimeException(e);
-                }
+        fileService.saveMarkFile(job.getWorkspaceId(), callback.getFile());
+
         return count > 0;
     }
 

--
Gitblit v1.9.3