From 39e8bb722006c55fb986a7394bfb4747d482b8c4 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 14 Oct 2025 14:28:48 +0800
Subject: [PATCH] 修改forest动态服务请求

---
 ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java |   64 +++++++++++++++++++------------
 1 files changed, 39 insertions(+), 25 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 4e5904d..cc586d0 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
@@ -59,6 +59,7 @@
 
 import javax.annotation.Resource;
 import java.net.InetSocketAddress;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
@@ -90,7 +91,6 @@
      */
     @Override
     public AccessTokenReceiver getAccessToken(String serverId) {
-
         return ardServerService.getAccessToken(serverId);
     }
 
@@ -102,21 +102,8 @@
     @Override
     public List<BoxInfoReceiver> getBoxList() {
         List<ArdServerInfo> ardServerInfos = ardServerService.selectArdServerManagementList(new ArdServerInfo());
-
-        return ardServerInfos.stream()
-                .flatMap(ardServerInfo -> {
-                    String baseUrl = "http://" + ardServerInfo.getHost() + ":" + ardServerInfo.getHttpPort();
-                    try {
-                        List<BoxInfoReceiver> boxes = tyClient.getBoxList(baseUrl).getContent();
-                        return Optional.ofNullable(boxes).orElse(Collections.emptyList()).stream();
-                    } catch (Exception e) {
-                        log.error("获取云盒列表失败: {}", baseUrl, e);
-                        return Stream.empty();
-                    }
-                })
-                .collect(Collectors.toList());
+        return getBoxList(ardServerInfos);
     }
-
 
     /**
      * 获取直播地址
@@ -125,10 +112,8 @@
      */
     @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();
     }
 
@@ -140,8 +125,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();
     }
 
@@ -153,8 +138,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();
     }
 
@@ -164,8 +148,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;
     }
 
@@ -853,6 +836,37 @@
         }
     }
 
+    /**
+     * 根据boxSn获取六合盒子列表
+     * @return List<BoxInfoReceiver>
+     */
+    @Override
+    public List<BoxInfoReceiver> getBoxSnToList(String id) {
+        List<BoxInfoReceiver> lisbox = new ArrayList<>();
+        try {
+            lisbox = tyClient.getBoxList(id).getContent();
+            return lisbox;
+        } catch (Exception e) {
+            log.error("获取云盒列表失败: {}", id, e);
+            return lisbox;
+        }
+    }
+
+    private List<BoxInfoReceiver> getBoxList(List<ArdServerInfo> ls) {
+        return ls.stream()
+                .flatMap(ardServerInfo -> {
+
+                    try {
+                        List<BoxInfoReceiver> boxes = tyClient.getBoxList(ardServerInfo.getId()).getContent();
+                        return Optional.ofNullable(boxes).orElse(Collections.emptyList()).stream();
+                    } catch (Exception e) {
+                        log.error("获取云盒列表失败: {}", ardServerInfo.getId(), e);
+                        return Stream.empty();
+                    }
+                })
+                .collect(Collectors.toList());
+    }
+
     //公共日志打印
     private void logPrint(String message, Object obj) {
         log.debug("收到{}回复{}", message, obj);
@@ -869,7 +883,7 @@
 
 
     /**
-     * 定时向所有已连接的天宇服务器发送心跳
+     * 定时向所有已连接的六合服务器发送心跳
      */
     @Scheduled(fixedRate = 5000) // 每5秒执行一次
     public void sendHeartBeat() {

--
Gitblit v1.9.3