From 75e6eea8cd3fac9cc888e2ffc9cdb126fab8429d Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Wed, 14 Aug 2024 15:45:55 +0800
Subject: [PATCH] 任务下发、更新、取消,优化图斑逻辑
---
src/main/java/com/dji/sample/control/service/impl/ControlServiceImpl.java | 22 ++++++++++++++++++++--
1 files changed, 20 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..8207d79 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,22 @@
}
@Override
+ public ResponseResult payloadCommands(PayloadCommandsParam param, String bid) throws Exception {
+ param.getCmd().getClazz()
+ .getDeclaredConstructor(DronePayloadParam.class)
+ .newInstance(param.getData())
+ .checkCondition(param.getSn());
+
+ ResponseResult result = ResponseResult.success();
+ result.setTraceid(bid);
+
+ ServiceReply serviceReply = messageSenderService.publishServicesTopic(param.getSn(), param.getCmd().getCmd(), param.getData(),bid);
+ return ResponseResult.CODE_SUCCESS != serviceReply.getResult() ?
+ ResponseResult.error(serviceReply.getResult(), "错误码:" + serviceReply.getResult())
+ : result;
+ }
+
+ @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