From 1ad4e77cc910abdb7e95ebea160473526c8ac9ce Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Sun, 08 Oct 2023 17:32:13 +0800
Subject: [PATCH] 添加重复定时和连续执行

---
 src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 46 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java b/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
index 93390e4..b036044 100644
--- a/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
+++ b/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
@@ -9,6 +9,7 @@
 import com.dji.sample.wayline.service.IWaylineFileService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -16,6 +17,7 @@
 import java.net.URL;
 import java.sql.SQLException;
 import java.util.List;
+import java.util.Objects;
 
 import static com.dji.sample.component.AuthInterceptor.TOKEN_CLAIM;
 
@@ -32,10 +34,10 @@
     private IWaylineFileService waylineFileService;
 
     /**
-     * Query the basic data of the wayline file according to the query conditions.
-     * The query condition field in pilot is fixed.
-     * @param orderBy   Sorted fields. Spliced at the end of the sql statement.
-     * @param favorited Whether the wayline file is favorited or not.
+     * 根据查询条件查询航路线文件的基本数据。
+     * pilot中的查询条件字段是固定的。
+     * @param orderBy   排序的字段。在sql语句的末尾拼接。
+     * @param favorited 路径线文件是否为收藏夹。
      * @param page
      * @param pageSize
      * @param templateType
@@ -60,8 +62,8 @@
     }
 
     /**
-     * Query the download address of the file according to the wayline file id,
-     * and redirect to this address directly for download.
+     * 根据wayline文件id查询文件的下载地址;
+     * 和重定向到此地址直接下载。
      * @param workspaceId
      * @param waylineId
      * @param response
@@ -73,14 +75,28 @@
         try {
             URL url = waylineFileService.getObjectUrl(workspaceId, waylineId);
             response.sendRedirect(url.toString());
+
         } catch (IOException | SQLException e) {
             e.printStackTrace();
         }
     }
 
+    @GetMapping("/{workspace_id}/waylines/{wayline_id}/urlData")
+    public ResponseResult getFileUrlData(@PathVariable(name = "workspace_id") String workspaceId,
+                           @PathVariable(name = "wayline_id") String waylineId, HttpServletResponse response) {
+
+        URL url = null;
+        try {
+            url = waylineFileService.getObjectUrl(workspaceId, waylineId);
+        } catch (SQLException e) {
+            throw new RuntimeException(e);
+        }
+        return ResponseResult.success(url);
+    }
+
     /**
-     * When the wayline file is uploaded to the storage server by pilot,
-     * the basic information of the file is reported through this interface.
+     * 当航路线文件被飞行员上传到存储服务器时,
+     * 通过该接口报告文件的基本信息。
      * @param request
      * @param workspaceId
      * @param uploadFile
@@ -104,7 +120,7 @@
     }
 
     /**
-     * Favorite the wayline file according to the wayline file id.
+     * 根据路径线文件id收藏路径线文件。
      * @param workspaceId
      * @param ids   wayline file id
      * @return
@@ -118,7 +134,7 @@
     }
 
     /**
-     * Delete the favorites of this wayline file based on the wayline file id.
+     * 根据航路线文件id删除此航路线文件的收藏夹。
      * @param workspaceId
      * @param ids wayline file id
      * @return
@@ -132,8 +148,8 @@
     }
 
     /**
-     * Checking whether the name already exists according to the wayline name must ensure the uniqueness of the wayline name.
-     * This interface will be called when uploading waylines and must be available.
+     * 根据航路线名称检查名称是否已经存在,必须保证航路线名称的唯一性。
+     * 此接口将在上传航路线时被调用,并且必须可用。
      * @param workspaceId
      * @param names
      * @return
@@ -147,7 +163,7 @@
     }
 
     /**
-     * Delete the wayline file in the workspace according to the wayline id.
+     * 根据航路线id删除工作区中的航路线文件。
      * @param workspaceId
      * @param waylineId
      * @return
@@ -156,6 +172,22 @@
     public ResponseResult deleteWayline(@PathVariable(name = "workspace_id") String workspaceId,
                                         @PathVariable(name = "wayline_id") String waylineId) {
         boolean isDel = waylineFileService.deleteByWaylineId(workspaceId, waylineId);
-        return isDel ? ResponseResult.success() : ResponseResult.error("Failed to delete wayline.");
+        return isDel ? ResponseResult.success() : ResponseResult.error("航线删除失败");
+    }
+
+    /**
+     * 上传kmz航线文件
+     * @param file
+     * @return
+     */
+    @PostMapping("/{workspace_id}/waylines/file/upload")
+    public ResponseResult importKmzFile(@PathVariable(name = "workspace_id") String workspaceId,HttpServletRequest request, MultipartFile file) {
+        if (Objects.isNull(file)) {
+            return ResponseResult.error("未上传文件");
+        }
+        CustomClaim customClaim = (CustomClaim)request.getAttribute(TOKEN_CLAIM);
+        String creator = customClaim.getUsername();
+        waylineFileService.importKmzFile(file, workspaceId, creator);
+        return ResponseResult.success();
     }
 }

--
Gitblit v1.9.3