From 74d1c21ebb6b3b916904d95d13d289df23dcdedd Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Tue, 20 Aug 2024 18:06:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ht-dev' into ht-dev

---
 src/main/java/com/dji/sample/droneairport/controller/RegistController.java |   62 +++++++++++++++++++++---------
 1 files changed, 43 insertions(+), 19 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 f90c8c7..7bec1ad 100644
--- a/src/main/java/com/dji/sample/droneairport/controller/RegistController.java
+++ b/src/main/java/com/dji/sample/droneairport/controller/RegistController.java
@@ -5,12 +5,19 @@
 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.droneairport.utils.SM2.Utils;
+import com.dji.sample.droneairport.utils.SM4Util;
 import com.dji.sample.manage.service.impl.DeviceRedisServiceImpl;
+import org.bouncycastle.crypto.InvalidCipherTextException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.util.Map;
 
 import static com.dji.sample.component.AuthInterceptor.TOKEN_CLAIM;
 
@@ -41,43 +48,60 @@
         return ResponseResult.success(registService.addDrone(workspaceId));
     }
 
-    @GetMapping("/getDroneStatus/{deviceid}")
-    public ResponseResult droneStatus(@PathVariable(name = "deviceid") String deviceid, HttpServletResponse response) throws Exception {
-        return ResponseResult.success(registService.getDroneState(deviceid));
+    @GetMapping("/getDroneStatus")
+    public ResponseResult droneStatus(@RequestParam String deviceid, HttpServletResponse response) throws Exception {
+        Map<String, String> info=registService.getDroneState(deviceid);
+        response.setHeader("x-lc-secret", info.get("serect"));
+        return ResponseResult.success(info.get("text"));
     }
 
     @PostMapping("/AddTask")
-    public ResponseResult AddTask(HttpServletRequest request, @RequestBody String body) throws Exception {
+    public ResponseResult AddTask(HttpServletRequest request, @RequestBody String body,HttpServletResponse response) 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));
+        Map<String, String> info = registService.AddTask(body, headerValue, creator);
+        response.setHeader("x-lc-secret", info.get("serect"));
+        return ResponseResult.success(200, "无人机机场任务添加成功", info.get("traceId"), info.get("jobId"));
     }
 
     @PostMapping("/updateTask")
-    public ResponseResult updateTask(HttpServletRequest request, @RequestBody String body) throws Exception {
+    public ResponseResult updateTask(HttpServletRequest request, @RequestBody String body,HttpServletResponse response) 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());
+        Map<String, String>  info = registService.updateTask(body, headerValue, creator);
+        response.setHeader("x-lc-secret", info.get("serect"));
+        return ResponseResult.success(200, "无人机机场任务更新成功", info.get("traceId"), info.get("jobId"));
+    }
+
+    @GetMapping("/cancelTask")
+    public ResponseResult cancelTask(@RequestParam String taskid) {
+        return ResponseResult.success(registService.cancelTask(taskid));
     }
     @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));
+    @GetMapping("/getResult")
+    public ResponseResult getResult(@RequestParam String taskid,HttpServletResponse response) throws InvalidCipherTextException, IOException {
+        Map<String, String>  info = registService.findDbFilesByTaskId(taskid);
+        response.setHeader("x-lc-secret", info.get("serect"));
+        return ResponseResult.success(200, "无人机成果获取成功!",info.get("data"), info.get("traceId"));
     }
     @PostMapping("/test")
-    public ResponseResult test(@RequestParam String workspaceId) {
-        return ResponseResult.success(registService.getDistinctTaskIdCount(workspaceId));
+    public ResponseResult test(HttpServletRequest request,@RequestBody String param,HttpServletResponse response) throws Exception {
+        String headerValue = request.getHeader("x-lc-secret");
+        headerValue=Utils.convertBase64ToHex(headerValue);
+        headerValue=Utils.decrypt(headerValue, "00D631FD5615416EAB63D33A9E66E801F95DE840567504210080006081DE877AE3");
+        System.out.println(headerValue);
+        String value=SM4Util.decrypt(headerValue,param);
+        System.out.println(value);
+        String sm= SM4Util.generateSM4Key();
+        String values=SM4Util.encrypt(sm,value);
+        String pub=Utils.encrypt(sm,"04225AACF606D800EA3C2C31FCF8FB161B15F7A8D0460DEB91013D4F228C455E76A2ED8D71BC6525B5DC5CC015C155479D8839950344AEE438A3A6305C90F8269F");
+        pub=Utils.hexToBase64(pub);
+        response.setHeader("x-lc-secret", pub);
+        return ResponseResult.success(values);
     }
 }

--
Gitblit v1.9.3