From b0da63410a7aaf64b11183c95b3da38013a6457b Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 28 Oct 2025 15:05:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java |   37 ++++++++++++++++++++++++-------------
 1 files changed, 24 insertions(+), 13 deletions(-)

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 f872a47..ef5925e 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
@@ -23,6 +23,7 @@
 import com.ard.work.component.netty.command.wayline.*;
 import com.ard.work.component.netty.handler.ErrorCodeEnum;
 import com.ard.work.component.netty.protobuf.TelemetryDataPB;
+import com.ard.work.component.websocket.utils.WebSocketUtil;
 import com.ard.work.domain.cache.UavSignalInfoCache;
 import com.ard.work.domain.cache.UavStateCache;
 import com.ard.work.domain.cache.UavTelemetryDataCache;
@@ -45,6 +46,8 @@
 import com.ard.work.domain.dto.wayline.*;
 import com.ard.work.domain.entity.ArdDroneInfo;
 import com.ard.work.domain.entity.ArdServerInfo;
+import com.ard.work.domain.message.BaseMessage;
+import com.ard.work.domain.message.ServerReplyMessage;
 import com.ard.work.domain.message.UavControlType;
 import com.ard.work.domain.receiver.*;
 import com.ard.work.service.IArdDroneInfoService;
@@ -103,7 +106,7 @@
     @Override
     public List<BoxInfoReceiver> getBoxList(String serverId) {
         TyHttpCommonReceiver<List<BoxInfoReceiver>> boxList = tyClient.getBoxList(serverId);
-        return boxList.getContent();
+        return boxList == null ? null : boxList.getContent();
     }
 
     /**
@@ -133,7 +136,7 @@
         ArdDroneInfo ardDroneInfo = ardDroneService.selectArdDroneByboxSn(boxHistoryDTO.getBoxSn());
         TyHttpCommonReceiver<List<BoxHistoryReceiver>> boxHistory = tyClient.getBoxHistory(ardDroneInfo.getServerId(),
                 boxHistoryDTO);
-        return boxHistory.getContent();
+        return boxHistory == null ? null : boxHistory.getContent();
     }
 
     /**
@@ -146,7 +149,7 @@
         ArdDroneInfo ardDroneInfo = ardDroneService.selectArdDroneByboxSn(boxPhotosDTO.getBoxSn());
         TyHttpCommonReceiver<List<BoxPhotosReceiver>> boxPhotos = tyClient.getBoxPhotos(ardDroneInfo.getServerId(),
                 boxPhotosDTO);
-        return boxPhotos.getContent();
+        return boxPhotos == null ? null : boxPhotos.getContent();
     }
 
     /**
@@ -481,7 +484,7 @@
      */
     @Override
     public UavState getUavState(String boxSn) {
-        return UavStateCache.getUavState(boxSn);
+        return UavStateCache.get(boxSn);
     }
 
     /**
@@ -489,7 +492,7 @@
      */
     @Override
     public TelemetryData getUavTelemetryData(String boxSn) {
-        return UavTelemetryDataCache.getUavTelemetryData(boxSn);
+        return UavTelemetryDataCache.get(boxSn);
     }
 
     /**
@@ -497,7 +500,7 @@
      */
     @Override
     public SignalInfo getSignalInfo(String boxSn) {
-        return UavSignalInfoCache.getUavSignalInfo(boxSn);
+        return UavSignalInfoCache.get(boxSn);
     }
 
     /**
@@ -700,14 +703,14 @@
             case (byte) 0xA8:
                 // 处理无人机状态消息
                 UavStateCmd uavStateCmd = (UavStateCmd) tyCommand;
-                UavStateCache.putUavState(uavStateCmd.getUavState());
+                UavStateCache.put(uavStateCmd.getUavState());
                 //logPrint("无人机状态", uavStateCmd.getUavState().getBoxSn());
                 // WebSocketUtil.sendMessageAll(uavStateCmd.getUavState());
                 break;
             case (byte) 0xA9:
                 // 处理无人机遥测消息
                 UavTelemetryDataCmd uavTelemetryDataCmd = (UavTelemetryDataCmd) tyCommand;
-                UavTelemetryDataCache.putUavTelemetryData(uavTelemetryDataCmd.getTelemetryData());
+                UavTelemetryDataCache.put(uavTelemetryDataCmd.getTelemetryData());
                 //logPrint("无人机遥测", uavTelemetryDataCmd.getTelemetryData().getBoxSn());
                 //WebSocketUtil.sendMessageAll(uavTelemetryDataCmd.getTelemetryData());
                 break;
@@ -715,7 +718,7 @@
             case (byte) 0x0C:
                 // 处理无人机信道质量数据
                 SignalInfoCmd signalInfoCmd = (SignalInfoCmd) tyCommand;
-                UavSignalInfoCache.putUavSignalInfoCache(signalInfoCmd.getSignalInfo());
+                UavSignalInfoCache.put(signalInfoCmd.getSignalInfo());
                 //logPrint("无人机信道质量", signalInfoCmd.getSignalInfo().getBoxSn());
                 break;
             case (byte) 0xD1:
@@ -901,21 +904,29 @@
 
     //公共日志打印
     private void logPrint(String message, Object obj) {
-        log.debug("收到{}回复{}", message, obj);
+        String text = String.format("收到%s回复%s", message, obj);
+        ServerReplyMessage serverReplyMessage = ServerReplyMessage.builder().message(text).build();
+        WebSocketUtil.sendMessage("reply", serverReplyMessage);
+        log.debug(text);
     }
 
     //公共日志打印
     private void logPrint(String message, byte result, Integer errorCode) {
-        log.info("收到{}回复:{} 错误码:{}【{}】",
+        String text = String.format(
+                "收到%s回复:%s 错误码:%d【%s】",
                 message,
                 ByteUtils.byteToHex(result),
                 errorCode,
-                ErrorCodeEnum.getDescByCode(errorCode));
+                ErrorCodeEnum.getDescByCode(errorCode)
+        );
+        ServerReplyMessage serverReplyMessage = ServerReplyMessage.builder().message(text).build();
+        WebSocketUtil.sendMessage("reply", serverReplyMessage);
+        log.debug(text);
     }
 
 
     /**
-     * 发送消息
+     * 发送tcp消息
      */
     private void sendMessage(String key, BaseCmd msg) {
         TcpClientUtil.sendMessage(key, msg);

--
Gitblit v1.9.3