From 608dea1f05bb2e33df4df050380fa49602b6c3ff Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Sat, 17 Aug 2024 14:47:15 +0800
Subject: [PATCH] 图斑历史成果导出,媒体文件上传修改

---
 src/main/java/com/dji/sample/control/service/impl/ControlServiceImpl.java |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/dji/sample/control/service/impl/ControlServiceImpl.java b/src/main/java/com/dji/sample/control/service/impl/ControlServiceImpl.java
index 3e36a3b..322dc99 100644
--- a/src/main/java/com/dji/sample/control/service/impl/ControlServiceImpl.java
+++ b/src/main/java/com/dji/sample/control/service/impl/ControlServiceImpl.java
@@ -33,6 +33,7 @@
 import org.springframework.integration.annotation.ServiceActivator;
 import org.springframework.messaging.MessageHeaders;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.util.*;
 
@@ -336,8 +337,9 @@
     @Override
     public ResponseResult takeoffToPoint(String sn, TakeoffToPointParam param) {
         checkTakeoffCondition(sn);
-
-        param.setFlightId(UUID.randomUUID().toString());
+        if (!StringUtils.hasText(param.getFlightId())){
+            param.setFlightId(UUID.randomUUID().toString());
+        }
         ServiceReply reply = messageSenderService.publishServicesTopic(sn, DroneControlMethodEnum.TAKE_OFF_TO_POINT.getMethod(), param, param.getFlightId());
         return ResponseResult.CODE_SUCCESS != reply.getResult() ?
                 ResponseResult.error("无人机起飞失败 " + reply.getResult())
@@ -415,6 +417,24 @@
     }
 
     @Override
+    public ResponseResult payloadCommands(PayloadCommandsParam param, String bid) throws Exception {
+        param.getCmd().getClazz()
+                .getDeclaredConstructor(DronePayloadParam.class)
+                .newInstance(param.getData())
+                .checkCondition(param.getSn());
+
+        Long timestamp = System.currentTimeMillis();
+
+        //拍照事件存redis
+        RedisOpsUtils.hashSet(RedisConst.COMMANDS_PREFIX + param.getSn() + RedisConst.DELIMITER + bid,bid,timestamp);
+
+        ServiceReply serviceReply = messageSenderService.publishServicesTopic(param.getSn(), param.getCmd().getCmd(), param.getData(),bid,timestamp);
+        return ResponseResult.CODE_SUCCESS != serviceReply.getResult() ?
+                ResponseResult.error(serviceReply.getResult(), "错误码:" + serviceReply.getResult())
+                : ResponseResult.success(bid);
+    }
+
+    @Override
     public ResponseResult requestsConfig(String sn, String method, RequestsParam param) {
         ServiceReply serviceReply = messageSenderService.publishRequestsTopic(sn, method, param);
         return ResponseResult.CODE_SUCCESS != serviceReply.getResult() ?

--
Gitblit v1.9.3