From cf08f4a77150c905c5a578be678259013361b661 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 28 Oct 2025 10:04:12 +0800
Subject: [PATCH] redis增加在线无人机
---
ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java | 31 +++++++++++++++++++++----------
1 files changed, 21 insertions(+), 10 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 b230b18..9dd271b 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;
@@ -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.info(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.info(text);
}
/**
- * 发送消息
+ * 发送tcp消息
*/
private void sendMessage(String key, BaseCmd msg) {
TcpClientUtil.sendMessage(key, msg);
--
Gitblit v1.9.3