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 |   37 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 36 insertions(+), 1 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 96f433a..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) {
@@ -153,6 +152,23 @@
         int insertId = mapper.insert(file);
         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) {
@@ -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