From f905f4377db462640a4fdd53dc5daa1adfc8c542 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 14 Oct 2025 18:30:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java |   57 ++++++++++++++-------------------------------------------
 1 files changed, 14 insertions(+), 43 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 e54d009..6858383 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
@@ -3,8 +3,6 @@
 import com.ard.common.utils.ByteUtils;
 import com.ard.work.aspect.annotation.CheckTakeoffAltitude;
 import com.ard.work.aspect.annotation.CheckControlRight;
-import com.ard.work.component.netty.TcpClientSession;
-import com.ard.work.component.netty.TyTcpClientManager;
 import com.ard.work.component.netty.command.BaseCmd;
 import com.ard.work.component.netty.command.camera.*;
 import com.ard.work.component.netty.command.manual.*;
@@ -47,14 +45,13 @@
 import com.ard.work.component.netty.command.real.UavTelemetryDataCmd;
 import com.ard.work.component.netty.handler.ErrorCodeEnum;
 import com.ard.work.component.netty.protobuf.TelemetryDataPB;
-import com.ard.work.service.IArdDroneService;
-import com.ard.work.service.IArdServerService;
+import com.ard.work.service.IArdDroneInfoService;
+import com.ard.work.service.IArdServerInfoService;
 import com.ard.work.service.ITyService;
 import com.ard.work.domain.message.UavControlType;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelFuture;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -78,9 +75,9 @@
 @Service
 public class TyServiceImpl implements ITyService {
     @Resource
-    private IArdServerService ardServerService;
+    private IArdServerInfoService ardServerService;
     @Resource
-    private IArdDroneService ardDroneService;
+    private IArdDroneInfoService ardDroneService;
     @Resource
     private TyClient tyClient;
 
@@ -113,8 +110,7 @@
     @Override
     public BoxStreamUrlReceiver getBoxLiveUrl(String boxSn) {
         ArdDroneInfo ardDroneInfo = ardDroneService.selectArdDroneByboxSn(boxSn);
-        String baseUrl="http://"+ardDroneInfo.getArdServerInfo().getHost()+":"+ardDroneInfo.getArdServerInfo().getHttpPort();
-        TyHttpCommonReceiver<BoxStreamUrlReceiver> boxLiveUrl = tyClient.getBoxLiveUrl(baseUrl,boxSn);
+        TyHttpCommonReceiver<BoxStreamUrlReceiver> boxLiveUrl = tyClient.getBoxLiveUrl(ardDroneInfo.getServerInfoId(),boxSn);
         return boxLiveUrl.getContent();
     }
 
@@ -126,8 +122,8 @@
     @Override
     public List<BoxHistoryReceiver> getBoxHistory(BoxHistoryDTO boxHistoryDTO) {
         ArdDroneInfo ardDroneInfo = ardDroneService.selectArdDroneByboxSn(boxHistoryDTO.getBoxSn());
-        String baseUrl="http://"+ardDroneInfo.getArdServerInfo().getHost()+":"+ardDroneInfo.getArdServerInfo().getHttpPort();
-        TyHttpCommonReceiver<List<BoxHistoryReceiver>> boxHistory = tyClient.getBoxHistory(baseUrl,boxHistoryDTO);
+        TyHttpCommonReceiver<List<BoxHistoryReceiver>> boxHistory = tyClient.getBoxHistory(ardDroneInfo.getServerInfoId(),
+                boxHistoryDTO);
         return boxHistory.getContent();
     }
 
@@ -139,8 +135,7 @@
     @Override
     public List<BoxPhotosReceiver> getBoxPhotos(BoxPhotosDTO boxPhotosDTO) {
         ArdDroneInfo ardDroneInfo = ardDroneService.selectArdDroneByboxSn(boxPhotosDTO.getBoxSn());
-        String baseUrl="http://"+ardDroneInfo.getArdServerInfo().getHost()+":"+ardDroneInfo.getArdServerInfo().getHttpPort();
-        TyHttpCommonReceiver<List<BoxPhotosReceiver>> boxPhotos = tyClient.getBoxPhotos(baseUrl,boxPhotosDTO);
+        TyHttpCommonReceiver<List<BoxPhotosReceiver>> boxPhotos = tyClient.getBoxPhotos(ardDroneInfo.getServerInfoId(),boxPhotosDTO);
         return boxPhotos.getContent();
     }
 
@@ -150,8 +145,7 @@
     @Override
     public Boolean updateBoxSettings(BoxSettingsDTO boxSettingsDTO) {
         ArdDroneInfo ardDroneInfo = ardDroneService.selectArdDroneByboxSn(boxSettingsDTO.getBoxSn());
-        String baseUrl="http://"+ardDroneInfo.getArdServerInfo().getHost()+":"+ardDroneInfo.getArdServerInfo().getHttpPort();
-        TyHttpCommonReceiver<?> result = tyClient.updateBoxSettings(baseUrl,boxSettingsDTO);
+        TyHttpCommonReceiver<?> result = tyClient.updateBoxSettings(ardDroneInfo.getServerInfoId(),boxSettingsDTO);
         return result.getState() == 1;
     }
 
@@ -845,14 +839,12 @@
      */
     @Override
     public List<BoxInfoReceiver> getBoxSnToList(String id) {
-        ArdServerInfo ardServerInfos = ardServerService.selectArdServerManagementById(id);
-        String baseUrl = "http://" + ardServerInfos.getHost() + ":" + ardServerInfos.getHttpPort();
         List<BoxInfoReceiver> lisbox = new ArrayList<>();
         try {
-            lisbox = tyClient.getBoxList(baseUrl).getContent();
+            lisbox = tyClient.getBoxList(id).getContent();
             return lisbox;
         } catch (Exception e) {
-            log.error("获取云盒列表失败: {}", baseUrl, e);
+            log.error("获取云盒列表失败: {}", id, e);
             return lisbox;
         }
     }
@@ -860,12 +852,12 @@
     private List<BoxInfoReceiver> getBoxList(List<ArdServerInfo> ls) {
         return ls.stream()
                 .flatMap(ardServerInfo -> {
-                    String baseUrl = "http://" + ardServerInfo.getHost() + ":" + ardServerInfo.getHttpPort();
+
                     try {
-                        List<BoxInfoReceiver> boxes = tyClient.getBoxList(baseUrl).getContent();
+                        List<BoxInfoReceiver> boxes = tyClient.getBoxList(ardServerInfo.getId()).getContent();
                         return Optional.ofNullable(boxes).orElse(Collections.emptyList()).stream();
                     } catch (Exception e) {
-                        log.error("获取云盒列表失败: {}", baseUrl, e);
+                        log.error("获取云盒列表失败: {}", ardServerInfo.getId(), e);
                         return Stream.empty();
                     }
                 })
@@ -887,27 +879,6 @@
     }
 
 
-    /**
-     * 定时向所有已连接的六合服务器发送心跳
-     */
-    @Scheduled(fixedRate = 5000) // 每5秒执行一次
-    public void sendHeartBeat() {
-        long timestamp = System.currentTimeMillis();
-
-        for (TcpClientSession session : channels.values()) {
-            ChannelFuture future = session.getChannelFuture();
-            if (future == null || !future.channel().isActive()) {
-                log.warn("边缘服务器 [{}] 连接未激活,跳过心跳发送", session.getServerId());
-                continue;
-            }
-
-            HeartbeatCmd heartbeat = new HeartbeatCmd(timestamp);
-            future.channel().writeAndFlush(heartbeat);
-
-            log.info("→ 向边缘服务器 [{}] ({}:{}) 发送心跳,时间戳={}",
-                    session.getServerId(), session.getHost(), session.getPort(), timestamp);
-        }
-    }
     /**
      * 发送消息
      */

--
Gitblit v1.9.3