From b7c05407dcf01cd7c01fde0efdf2a6a0283d4016 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Sat, 03 Aug 2024 17:50:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ht-dev' into ht-dev

---
 src/main/java/com/dji/sample/control/controller/DockController.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 48 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/dji/sample/control/controller/DockController.java b/src/main/java/com/dji/sample/control/controller/DockController.java
index 8b05ff8..458f026 100644
--- a/src/main/java/com/dji/sample/control/controller/DockController.java
+++ b/src/main/java/com/dji/sample/control/controller/DockController.java
@@ -1,13 +1,15 @@
 package com.dji.sample.control.controller;
 
 import com.dji.sample.common.model.ResponseResult;
+import com.dji.sample.control.model.enums.DroneAuthorityEnum;
+import com.dji.sample.control.model.param.*;
 import com.dji.sample.control.service.IControlService;
+import com.dji.sample.log.aspect.SysLogAnnotation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
 
 /**
  * @author sean
@@ -23,8 +25,48 @@
     private IControlService controlService;
 
     @PostMapping("/{sn}/jobs/{service_identifier}")
+    @SysLogAnnotation(operModul = "机场控制", operType = "控制指令", operDesc = "控制指令")
     public ResponseResult createControlJob(@PathVariable String sn,
-                                           @PathVariable("service_identifier") String serviceIdentifier) {
-        return controlService.controlDock(sn, serviceIdentifier);
+                                           @PathVariable("service_identifier") String serviceIdentifier,
+                                           @RequestBody(required = false) RemoteDebugParam param) {
+        return controlService.controlDockDebug(sn, serviceIdentifier, param);
     }
+
+    @PostMapping("/{sn}/jobs/fly-to-point")
+    @SysLogAnnotation(operModul = "机场控制", operType = "控制指令", operDesc = "起飞")
+    public ResponseResult flyToPoint(@PathVariable String sn, @Valid @RequestBody FlyToPointParam param) {
+        return controlService.flyToPoint(sn, param);
+    }
+
+    @DeleteMapping("/{sn}/jobs/fly-to-point")
+    @SysLogAnnotation(operModul = "机场控制", operType = "控制指令", operDesc = "停止起飞")
+    public ResponseResult flyToPointStop(@PathVariable String sn) {
+        return controlService.flyToPointStop(sn);
+    }
+
+    @PostMapping("/{sn}/jobs/takeoff-to-point")
+    @SysLogAnnotation(operModul = "机场控制", operType = "控制指令", operDesc = "一键起飞")
+    public ResponseResult takeoffToPoint(@PathVariable String sn, @Valid @RequestBody TakeoffToPointParam param) {
+        return controlService.takeoffToPoint(sn, param);
+    }
+
+    @PostMapping("/{sn}/authority/flight")
+    public ResponseResult seizeFlightAuthority(@PathVariable String sn) {
+        return controlService.seizeAuthority(sn, DroneAuthorityEnum.FLIGHT, null);
+    }
+
+    @PostMapping("/{sn}/authority/payload")
+    @SysLogAnnotation(operModul = "机场控制", operType = "控制指令", operDesc = "负载控制")
+    public ResponseResult seizePayloadAuthority(@PathVariable String sn, @Valid @RequestBody DronePayloadParam param) {
+        return controlService.seizeAuthority(sn, DroneAuthorityEnum.PAYLOAD, param);
+    }
+
+    @PostMapping("/{sn}/payload/commands")
+    @SysLogAnnotation(operModul = "机场控制", operType = "控制指令", operDesc = "相机模式开关")
+    public ResponseResult payloadCommands(@PathVariable String sn, @Valid @RequestBody PayloadCommandsParam param) throws Exception {
+        param.setSn(sn);
+        return controlService.payloadCommands(param);
+    }
+
+
 }

--
Gitblit v1.9.3