From ec46a32ca330e5c416302eb082e44fa164b37829 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Fri, 22 Sep 2023 17:41:16 +0800
Subject: [PATCH] 配置修改
---
src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java | 47 +++++++++++++++++++++++++++++++++++++++--------
1 files changed, 39 insertions(+), 8 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 5af35a3..918835e 100644
--- a/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
+++ b/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
@@ -3,19 +3,21 @@
import com.dji.sample.common.model.CustomClaim;
import com.dji.sample.common.model.PaginationData;
import com.dji.sample.common.model.ResponseResult;
-import com.dji.sample.component.oss.model.AliyunOSSConfiguration;
-import com.dji.sample.wayline.model.WaylineFileDTO;
-import com.dji.sample.wayline.model.WaylineFileUploadDTO;
-import com.dji.sample.wayline.model.WaylineQueryParam;
+import com.dji.sample.wayline.model.dto.WaylineFileDTO;
+import com.dji.sample.wayline.model.dto.WaylineFileUploadDTO;
+import com.dji.sample.wayline.model.param.WaylineQueryParam;
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;
import java.io.IOException;
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;
@@ -70,12 +72,11 @@
public void getFileUrl(@PathVariable(name = "workspace_id") String workspaceId,
@PathVariable(name = "wayline_id") String waylineId, HttpServletResponse response) {
- WaylineFileDTO wayline = waylineFileService.getWaylineByWaylineId(workspaceId, waylineId);
- URL url = waylineFileService.getObjectUrl(AliyunOSSConfiguration.bucket, wayline.getObjectKey());
-
try {
+ URL url = waylineFileService.getObjectUrl(workspaceId, waylineId);
response.sendRedirect(url.toString());
- } catch (Exception e) {
+
+ } catch (IOException | SQLException e) {
e.printStackTrace();
}
}
@@ -147,4 +148,34 @@
return ResponseResult.success(existNamesList);
}
+
+ /**
+ * Delete the wayline file in the workspace according to the wayline id.
+ * @param workspaceId
+ * @param waylineId
+ * @return
+ */
+ @DeleteMapping("/{workspace_id}/waylines/{wayline_id}")
+ 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.");
+ }
+
+ /**
+ * Import kmz wayline files.
+ * @param file
+ * @return
+ */
+ @PostMapping("/{workspace_id}/waylines/file/upload")
+ public ResponseResult importKmzFile(HttpServletRequest request, MultipartFile file) {
+ if (Objects.isNull(file)) {
+ return ResponseResult.error("No file received.");
+ }
+ CustomClaim customClaim = (CustomClaim)request.getAttribute(TOKEN_CLAIM);
+ String workspaceId = customClaim.getWorkspaceId();
+ String creator = customClaim.getUsername();
+ waylineFileService.importKmzFile(file, workspaceId, creator);
+ return ResponseResult.success();
+ }
}
--
Gitblit v1.9.3