From 5fb4a09cfaa9e8a7731aad90c3dd61c29b27187b Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Fri, 21 Nov 2025 16:56:43 +0800
Subject: [PATCH] 1.代码优化,BUG修改获取权限错误。 2.增加打印日志。

---
 ard-route/src/main/java/com/ard/route/util/InitializationUtils.java                     |   15 +++++++++++++++
 ard-work/src/main/java/com/ard/work/component/netty/handler/MessageProtocolEncoder.java |   20 +++++++++++++++++++-
 ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java                     |    2 ++
 ard-work/src/main/java/com/ard/work/aspect/UavControlAspect.java                        |    7 ++++---
 ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java         |    3 +++
 5 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
index d2e9f34..8b02c8b 100644
--- a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
@@ -253,8 +253,11 @@
         } catch (IOException | ClassNotFoundException e) {
             throw new RuntimeException(e);
         }
+        // 1.2通过minio获取航线信息
+
         // 2.将航线信息转换成对应实体类
         WayLineUploadDTO wayLineUploadDTO = buildWayLineUploadDTO(route);
+        wayLineUploadDTO.setBoxSn(boxSn);
         // 3.调用接口
         tyService.wayLineUpload(wayLineUploadDTO);
         return true;
diff --git a/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java b/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java
index f630224..7a34b79 100644
--- a/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java
+++ b/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java
@@ -249,4 +249,19 @@
 //        ardRouteActions2.setType(1);
 //        ardRouteActions2.setWaitTime(2);
 //    }
+
+    public byte[] testParameters() {
+        String data = "74 79 01 3C 44 42 4D 32 35 30 39 37 34 30 36 35 30 30 38 D1 00 10 08 01 15 00 00 70 41 1D 00 00 00 41 22 4A 09 06 9C E7 80 8B F0 59 40 11 08 98 33 BA 07 1D 3F 40 1D 00 00 F0 41 25 00 00 00 41 2A 09 08 01 15 00 00 20 41 18 02 2A 09 08 03 15 00 00 80 3F 18 02 2A 09 08 04 15 00 00 80 3F 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 55 09 F1 BC 12 50 7A F0 59 40 11 08 98 33 BA 07 1D 3F 40 1D 00 00 20 42 25 00 00 00 41 2A 09 08 09 15 00 00 A0 41 18 02 2A 09 08 06 15 00 00 20 42 18 02 2A 09 08 07 15 00 00 20 42 18 02 2A 09 08 08 15 00 00 20 42 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 3F 09 F1 BC 12 50 7A F0 59 40 11 91 92 E4 DA CC 1C 3F 40 1D 00 00 48 42 25 00 00 00 41 2A 09 08 09 15 00 00 70 41 18 02 2A 09 08 0A 15 00 00 40 40 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 34 09 06 9C E7 80 8B F0 59 40 11 91 92 E4 DA CC 1C 3F 40 1D 00 00 70 42 25 00 00 00 41 2A 09 08 02 15 00 00 80 3F 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 30 32 70 32";
+        String[] hexStrings = data.split(" ");
+        StringBuilder sb = new StringBuilder();
+        sb.append("byte[] encodedBytes = {");
+        for (int i = 0; i < hexStrings.length; i++) {
+            sb.append("(byte) 0x").append(hexStrings[i]);
+            if (i < hexStrings.length - 1) {
+                sb.append(", ");
+            }
+        }
+        sb.append("};");
+        return sb.toString().getBytes();
+    }
 }
diff --git a/ard-work/src/main/java/com/ard/work/aspect/UavControlAspect.java b/ard-work/src/main/java/com/ard/work/aspect/UavControlAspect.java
index 5f1f2fb..f03b555 100644
--- a/ard-work/src/main/java/com/ard/work/aspect/UavControlAspect.java
+++ b/ard-work/src/main/java/com/ard/work/aspect/UavControlAspect.java
@@ -87,7 +87,7 @@
      * 高度检查
      */
     @Before("@annotation(checkTakeoffAltitude)")
-    public void takeoffAltitudeCheck(JoinPoint joinPoint, CheckTakeoffAltitude checkTakeoffAltitude) {
+    public void takeoffAltitudeCheck(JoinPoint joinPoint, CheckTakeoffAltitude checkTakeoffAltitude){
         // 获取最小高度
         double minAltitude = checkTakeoffAltitude.minAltitude();
         // 获取方法参数
@@ -125,8 +125,9 @@
             }
             // 检查在线状态
             if (checkDroneStatus.checkOnline()) {
-                Boolean online = redisCache.getCacheObject(CacheConstants.UAV_ONLINE_KEY + boxSn);
-                if (online == null || !online) {
+                // 3️⃣ 检查在线状态
+                BoxInfoReceiver obj = redisCache.getCacheObject(CacheConstants.UAV_ONLINE_KEY + boxSn);
+                if (obj == null || !obj.getOnLine().equals(1)) {
                     throw new ControlException("无人机离线,无法执行操作!boxSn: " + boxSn);
                 }
             }
diff --git a/ard-work/src/main/java/com/ard/work/component/netty/handler/MessageProtocolEncoder.java b/ard-work/src/main/java/com/ard/work/component/netty/handler/MessageProtocolEncoder.java
index 2ab6411..7c71749 100644
--- a/ard-work/src/main/java/com/ard/work/component/netty/handler/MessageProtocolEncoder.java
+++ b/ard-work/src/main/java/com/ard/work/component/netty/handler/MessageProtocolEncoder.java
@@ -7,6 +7,8 @@
 import io.netty.handler.codec.MessageToByteEncoder;
 import lombok.extern.slf4j.Slf4j;
 
+import java.util.Arrays;
+
 @Slf4j
 public class MessageProtocolEncoder extends MessageToByteEncoder<BaseCmd> {
     @Override
@@ -24,9 +26,25 @@
         // 打印编码后的字节数组
         byte[] encodedBytes = new byte[out.readableBytes()]; // 创建字节数组,大小为可读字节数
         out.getBytes(out.readerIndex(), encodedBytes); // 读取ByteBuf中的字节到字节数组中
-        // log.warn("Encoded message bytes: {}", Arrays.toString(encodedBytes));
+        log.warn("encodedBytes message bytes: {}------", encodedBytes);
+         log.warn("Encoded message bytes: {}------", Arrays.toString(encodedBytes));
         // 将字节数组转换为十六进制格式
         String hexString = ByteUtils.bytesToHexWithSpaces(encodedBytes);
         log.warn("Encoded message in hex: {}", hexString);
     }
+
+    public byte[] testParameters() {
+        String data = "74 79 01 3C 44 42 4D 32 35 30 39 37 34 30 36 35 30 30 38 D1 00 10 08 01 15 00 00 70 41 1D 00 00 00 41 22 4A 09 06 9C E7 80 8B F0 59 40 11 08 98 33 BA 07 1D 3F 40 1D 00 00 F0 41 25 00 00 00 41 2A 09 08 01 15 00 00 20 41 18 02 2A 09 08 03 15 00 00 80 3F 18 02 2A 09 08 04 15 00 00 80 3F 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 55 09 F1 BC 12 50 7A F0 59 40 11 08 98 33 BA 07 1D 3F 40 1D 00 00 20 42 25 00 00 00 41 2A 09 08 09 15 00 00 A0 41 18 02 2A 09 08 06 15 00 00 20 42 18 02 2A 09 08 07 15 00 00 20 42 18 02 2A 09 08 08 15 00 00 20 42 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 3F 09 F1 BC 12 50 7A F0 59 40 11 91 92 E4 DA CC 1C 3F 40 1D 00 00 48 42 25 00 00 00 41 2A 09 08 09 15 00 00 70 41 18 02 2A 09 08 0A 15 00 00 40 40 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 34 09 06 9C E7 80 8B F0 59 40 11 91 92 E4 DA CC 1C 3F 40 1D 00 00 70 42 25 00 00 00 41 2A 09 08 02 15 00 00 80 3F 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 30 32 70 32";
+        String[] hexStrings = data.split(" ");
+        StringBuilder sb = new StringBuilder();
+        sb.append("byte[] encodedBytes = {");
+        for (int i = 0; i < hexStrings.length; i++) {
+            sb.append("(byte) 0x").append(hexStrings[i]);
+            if (i < hexStrings.length - 1) {
+                sb.append(", ");
+            }
+        }
+        sb.append("};");
+        return sb.toString().getBytes();
+    }
 }
diff --git a/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java b/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
index 22b68f0..5908682 100644
--- a/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
+++ b/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
@@ -750,7 +750,9 @@
             throw new ControlException("未找到对应的飞行器信息,boxSn:{}" + boxSn);
         }
         //wayLineUploadDTO.setWayLineData(this.CreatePlanLineData());//设置航线数据
+        System.out.println("wayLineUploadDTO:-----------------" + wayLineUploadDTO);
         WayLineUploadCmd wayLineUploadCmd = new WayLineUploadCmd(wayLineUploadDTO);
+        System.out.println("wayLineUploadCmd:-----------------" + wayLineUploadCmd);
         this.sendMessage(ardDroneInfo.getServerId(), wayLineUploadCmd);
         return true;
     }

--
Gitblit v1.9.3