From c94cc1ffd7395efc127b10ed3436095fbfbd7c18 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 25 Nov 2025 16:13:14 +0800
Subject: [PATCH] 增加环绕飞行控制飞行高度
---
ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java | 21 ++++++++++++++++-----
1 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java b/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java
index 0faafc7..42cd0a1 100644
--- a/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java
+++ b/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java
@@ -6,6 +6,7 @@
import com.ard.work.component.netty.handler.MessageProtocolEncoder;
import com.ard.work.component.netty.cache.TyTcpServerCache;
import com.ard.work.domain.entity.ArdServerInfo;
+import com.ard.work.service.IArdDroneInfoService;
import com.ard.work.service.IArdServerInfoService;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.*;
@@ -32,6 +33,9 @@
@Resource
private IArdServerInfoService ardServerService; // ← 从数据库读取边缘服务器配置
+
+ @Resource
+ private IArdDroneInfoService ardDroneService;
@Resource
private ClientHandler clientHandler;
@@ -76,8 +80,8 @@
Channel channel = f.channel();
channel.attr(AttributeKey.valueOf("serverId")).set(serverId);
TyTcpServerCache.putTcpServerCache(serverId, true);
- // 断开服务器,修改状态为: 0 - 在线
- ardServerService.updateServerStatus(serverId, "1");
+ // 修改状态为: 1 - 在线
+ updateServerAndDroneStatus(serverId, "1");
// 成功后再加入 channels
TyTcpServerCache.putChannel(serverId, channel);
@@ -86,7 +90,7 @@
log.warn("❌ 服务器 [{}] 连接失败", serverId);
TyTcpServerCache.putTcpServerCache(serverId, false);
// 断开服务器,修改状态为: 0 - 离线
- ardServerService.updateServerStatus(serverId, "0");
+ updateServerAndDroneStatus(serverId, "0");
}
});
}
@@ -100,12 +104,19 @@
channel.close();
log.info("断开服务器 [{}] 连接", serverId);
// 断开服务器,修改状态为: 0 - 离线
- ardServerService.updateServerStatus(serverId, "0");
+ updateServerAndDroneStatus(serverId, "0");
TyTcpServerCache.removeChannel(serverId);
}
TyTcpServerCache.removeTcpServerCache(serverId);
}
+ /**
+ * 同步修改服务和无人机状态
+ */
+ private void updateServerAndDroneStatus(String serverId, String status) {
+ ardServerService.updateServerStatus(serverId, status);
+ ardDroneService.updateDroneStatus(serverId, status);
+ }
/**
* 启动时从数据库加载所有边缘服务器并建立 TCP 连接
@@ -113,7 +124,7 @@
@PostConstruct
public void initConnectServers() {
try {
- var serverList = ardServerService.selectArdServerInfoList(new ArdServerInfo()); // ← 从数据库查询所有服务器配置
+ var serverList = ardServerService.selectArdServerInfoList(new ArdServerInfo() {{ setUseDataScope(false); }}); // ← 从数据库查询所有服务器配置
if (serverList == null || serverList.isEmpty()) {
log.warn("未在数据库中找到边缘服务器配置,跳过连接初始化");
return;
--
Gitblit v1.9.3