From 3430a3dd889ba51d06cbdb77014aa63d0a070e48 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Fri, 16 Aug 2024 16:38:08 +0800
Subject: [PATCH] 优化国土对接接口

---
 src/main/java/com/dji/sample/droneairport/controller/RegistController.java |   84 +++++++++++++++++++++++++++++++----------
 1 files changed, 63 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/dji/sample/droneairport/controller/RegistController.java b/src/main/java/com/dji/sample/droneairport/controller/RegistController.java
index 5d9640f..f4dbad9 100644
--- a/src/main/java/com/dji/sample/droneairport/controller/RegistController.java
+++ b/src/main/java/com/dji/sample/droneairport/controller/RegistController.java
@@ -1,41 +1,83 @@
 package com.dji.sample.droneairport.controller;
 
+import com.dji.sample.common.model.CustomClaim;
 import com.dji.sample.common.model.ResponseResult;
-import com.dji.sample.droneairport.model.param.AddDeviceParam;
-import com.dji.sample.droneairport.model.param.RegistParam;
+import com.dji.sample.droneairport.dao.DeviceExpanSionMapper;
+import com.dji.sample.droneairport.model.param.ReturnTaskParam;
 import com.dji.sample.droneairport.service.RegistService;
+import com.dji.sample.manage.service.impl.DeviceRedisServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import static com.dji.sample.component.AuthInterceptor.TOKEN_CLAIM;
 
 @RequestMapping("/droneAirport")
 @RestController
 public class RegistController {
     @Autowired
     private RegistService registService;
+    @Autowired
+    private DeviceExpanSionMapper expanSionDao;
 
-    @PostMapping("/RegistService")
-    public ResponseResult resgitePort(@RequestBody RegistParam param) {
-        return ResponseResult.success(registService.registPort(param));
+    @Autowired
+    private DeviceRedisServiceImpl deviceRedisService;
+
+    //    @PostMapping("/RegistService")
+//    public ResponseResult resgitePort(@RequestBody RegistDto param) {
+//        return ResponseResult.success(registService.registPort(param));
+//    }
+//    @PostMapping("/authorization")
+//    public ResponseResult checkDeviceOnline(@RequestBody String body, HttpServletRequest request) throws Exception {
+//        String headerValue = request.getHeader("x-lc-secret");
+//        return registService.authorization(body, headerValue);
+//
+//    }
+
+    @PostMapping("/addDevice/{workspace_id}")
+    public ResponseResult registeDrone(@PathVariable(name = "workspace_id") String workspaceId) {
+        return ResponseResult.success(registService.addDrone(workspaceId));
     }
 
-    @PostMapping("/addDevice")
-    public ResponseResult registeDrone(@RequestBody AddDeviceParam param) {
-        param.setBrand("大疆");
-        param.setDeviceid("1581F6QAD241500BDZ3J");
-        param.setModel("M3D");
-        param.setHeight(15);
-        param.setLatitude(25.8917271933111);
-        param.setLongitude(116.02094292569765);
-        param.setRadius(7000);
-        param.setRegioncode("360781");
-        return ResponseResult.success(registService.addDrone(param));
+    @GetMapping("/getDroneStatus/{deviceid}")
+    public ResponseResult droneStatus(@PathVariable(name = "deviceid") String deviceid, HttpServletResponse response) throws Exception {
+        return ResponseResult.success(registService.getDroneState(deviceid));
+    }
+
+    @PostMapping("/AddTask")
+    public ResponseResult AddTask(HttpServletRequest request, @RequestBody String body) throws Exception {
+        String headerValue = request.getHeader("x-lc-secret");
+        CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM);
+        String creator = customClaim.getUsername();
+        ReturnTaskParam param = registService.AddTask(body, headerValue, creator);
+        return ResponseResult.success(200, "无人机机场任务添加成功", param.getTraceId(), param.getJobId());
+    }
+
+    @GetMapping("/cancelTask/{taskId}")
+    public ResponseResult cancelTask(@PathVariable(name = "taskId") String taskId) {
+        return ResponseResult.success(registService.cancelTask(taskId));
+    }
+
+    @PostMapping("/updateTask")
+    public ResponseResult updateTask(HttpServletRequest request, @RequestBody String body) throws Exception {
+        String headerValue = request.getHeader("x-lc-secret");
+        CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM);
+        String creator = customClaim.getUsername();
+        ReturnTaskParam param = registService.updateTask(body, headerValue, creator);
+        return ResponseResult.success(200, "无人机机场任务添加成功", param.getTraceId(), param.getJobId());
+    }
+    @PostMapping("/queryTaskStatus")
+    public ResponseResult queryTaskStatus(HttpServletRequest request, @RequestParam String taskid) throws Exception {
+        return registService.queryTaskStatus(taskid);
+    }
+    @GetMapping("/getResult/{taskId}")
+    public ResponseResult getResult(@PathVariable(name = "taskId") String taskId) {
+        return ResponseResult.success(200, "无人机成果获取成功!",registService.findDbFilesByTaskId(taskId));
     }
     @PostMapping("/test")
-    public ResponseResult test(@RequestBody AddDeviceParam param) {
+    public ResponseResult test(@RequestBody String param) {
         return ResponseResult.success(param);
-    }
-    @GetMapping("/getDroneStatus")
-    public ResponseResult droneStatus(@RequestParam String deviceid){
-        return ResponseResult.success(registService.getDroneState(deviceid));
     }
 }

--
Gitblit v1.9.3