From b0dd7ca693fcd13e539316cfc8c63150182a0315 Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Tue, 20 Aug 2024 15:18:12 +0800
Subject: [PATCH] 红外设置

---
 src/main/java/com/dji/sample/control/controller/DockController.java |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 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 1fea75a..6f1ecf8 100644
--- a/src/main/java/com/dji/sample/control/controller/DockController.java
+++ b/src/main/java/com/dji/sample/control/controller/DockController.java
@@ -25,7 +25,9 @@
 import javax.validation.Valid;
 import java.util.List;
 import java.util.Objects;
-import java.util.Optional;
+import java.util.UUID;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
 
 /**
  * @author sean
@@ -94,6 +96,8 @@
     @SysLogAnnotation(operModul = "云台拍照录像控制", operType = "控制指令", operDesc = "云台拍照录像控制")
     public ResponseResult photoAndVideoCmd(@PathVariable String sn, @PathVariable String type) throws Exception {
 
+        String bid = UUID.randomUUID().toString();
+
         List<DeviceDTO> list = deviceService.getDevicesByParams(DeviceQueryParam.builder().deviceSn(sn).build());
 
         if (list.isEmpty()) {
@@ -126,6 +130,7 @@
         param.setSn(sn);
         DronePayloadParam data = new DronePayloadParam();
         data.setPayloadIndex(cameraDTO.getPayloadIndex());
+
         //拍照
         switch (type) {
             case "photo":
@@ -133,13 +138,12 @@
                     //切换模式
                     ResponseResult swResult = switchingMode(sn, CameraModeEnum.PHOTO, cameraDTO);
                     log.info("摄像头切换状态:{}", swResult);
-
                 }
                 param.setCmd(PayloadCommandsEnum.CAMERA_PHOTO_TAKE);
                 param.setData(data);
                 break;
             case "video_start": {//开始录像
-                if (Objects.equals(cameraDTO.getCameraMode().getMode(), CameraModeEnum.PHOTO.getMode())) {
+                if (!Objects.equals(cameraDTO.getCameraMode().getMode(), CameraModeEnum.VIDEO.getMode())) {
                     //切换模式
                     ResponseResult swResult = switchingMode(sn, CameraModeEnum.VIDEO, cameraDTO);
                     log.info("摄像头切换状态:{}", swResult);
@@ -149,7 +153,7 @@
                 break;
             }
             case "video_stop": {//结束录像
-                if (Objects.equals(cameraDTO.getCameraMode().getMode(), CameraModeEnum.PHOTO.getMode())) {
+                if (!Objects.equals(cameraDTO.getCameraMode().getMode(), CameraModeEnum.VIDEO.getMode())) {
                     //切换模式
                     ResponseResult swResult = switchingMode(sn, CameraModeEnum.VIDEO, cameraDTO);
                     log.info("摄像头切换状态:{}", swResult);
@@ -162,7 +166,10 @@
                 return ResponseResult.error(-1, "未知类型!");
         }
 
-        return controlService.payloadCommands(param);
+
+        Thread.sleep(2000); // 延迟2000毫秒(2秒)
+
+        return controlService.payloadCommands(param,bid);
     }
 
     /**

--
Gitblit v1.9.3