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