From a7aaeabc7873a0eafb4a7ecad7f65b018b7a9bc9 Mon Sep 17 00:00:00 2001
From: sean.zhou <sean.zhou@dji.com>
Date: Fri, 24 Feb 2023 19:31:23 +0800
Subject: [PATCH] What's new? 1. Add license for dock. 2. Modify the logic corresponding to the firmware file and device type. 3. Add multiple mqtt clients options. 4. Modify the structure of the interface for obtaining the device list. 5. Fixed some issues.
---
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