From d4447ca99df2cfe978ca51790dd2891e9df0d492 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Thu, 25 Jul 2024 16:19:05 +0800
Subject: [PATCH] 修改人工拍照图片保存,新增面状航线保存、修改接口,图斑文件上传格式修改
---
src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++++++----
1 files changed, 39 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java b/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
index 29a93f8..e5d31c4 100644
--- a/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
+++ b/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
@@ -138,7 +138,6 @@
WaylineFileEntity file = this.dtoConvertToEntity(metadata);
file.setWaylineId(UUID.randomUUID().toString());
file.setWorkspaceId(workspaceId);
-
if (!StringUtils.hasText(file.getSign())) {
try (InputStream object = ossService.getObject(OssConfiguration.bucket, metadata.getObjectKey())) {
if (object.available() == 0) {
@@ -154,8 +153,25 @@
return insertId > 0 ? file.getId() : insertId;
}
+ public Integer updateWaylineFile(String workspaceId, String newName, String id) {
+ String objectKey = "/" + newName;
+ LambdaUpdateWrapper<WaylineFileEntity> updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.eq(WaylineFileEntity::getWaylineId, id)
+ .eq(WaylineFileEntity::getWorkspaceId, workspaceId)
+ .set(WaylineFileEntity::getObjectKey, objectKey);
+
+ // 使用 mapper 执行更新操作
+ boolean updated = mapper.update(null, updateWrapper) > 0;
+ if (!updated) {
+ throw new RuntimeException("更新 objectKey 失败");
+ }
+
+ return updated ? 1 : 0; // 返回更新结果
+ }
+
+
@Override
- public Integer saveWaylineFiles(String workspaceId, WaylineFileDTO metadata, String patchesId, String isTemp) {
+ public Integer saveWaylineFiles(String workspaceId, WaylineFileDTO metadata, String patchesId,String isTemp) {
metadata.setPatchesId(patchesId);
WaylineFileEntity file = this.dtoConvertToEntity(metadata);
file.setWaylineId(UUID.randomUUID().toString());
@@ -219,7 +235,7 @@
}
@Override
- public String importKmzFile(MultipartFile file, String workspaceId, String creator, String patchesId, String isTemp) {
+ public String importKmzFile(MultipartFile file, String workspaceId, String creator, String patchesId,String isTemp) {
Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
if (waylineFileOpt.isEmpty()) {
throw new RuntimeException("文件格式错误");
@@ -232,7 +248,7 @@
waylineFile.setIsTemp(isTemp);
back = ossService.putObject(OssConfiguration.bucket, waylineFile.getObjectKey(), file.getInputStream());
if (back == null) {
- this.saveWaylineFiles(workspaceId, waylineFile, patchesId, isTemp);
+ this.saveWaylineFiles(workspaceId, waylineFile, patchesId,isTemp);
}
} catch (IOException e) {
e.printStackTrace();
@@ -261,6 +277,25 @@
}
return waylineFile;
}
+ @Override
+ public WaylineFileDTO importPlaneKmzFile(MultipartFile file, String workspaceId, String creator,String newName,String id) {
+ WaylineFileDTO waylineFile = null;
+ Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
+ if (waylineFileOpt.isEmpty()) {
+ throw new RuntimeException("文件格式错误");
+ }
+
+ try {
+ waylineFile = waylineFileOpt.get();
+ waylineFile.setWaylineId(workspaceId);
+ waylineFile.setUsername(creator);
+ ossService.putObject(OssConfiguration.bucket, waylineFile.getObjectKey(), file.getInputStream());
+ this.updateWaylineFile(workspaceId,newName,id);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return waylineFile;
+ }
@Override
public WaylineFileEntity selectByName(String name) {
--
Gitblit v1.9.3