From 8d9a2d656e4ae007590c622e5f7c228adacdca49 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Fri, 14 Jun 2024 10:11:36 +0800
Subject: [PATCH] 统一风格

---
 src/main/java/com/dji/sample/manage/service/impl/TopologyServiceImpl.java |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/dji/sample/manage/service/impl/TopologyServiceImpl.java b/src/main/java/com/dji/sample/manage/service/impl/TopologyServiceImpl.java
index aefc059..a255068 100644
--- a/src/main/java/com/dji/sample/manage/service/impl/TopologyServiceImpl.java
+++ b/src/main/java/com/dji/sample/manage/service/impl/TopologyServiceImpl.java
@@ -31,25 +31,32 @@
         List<DeviceDTO> gatewayList = deviceService.getDevicesByParams(
                 DeviceQueryParam.builder()
                         .workspaceId(workspaceId)
-                        .domain(DeviceDomainEnum.GATEWAY.getVal())
+                        .domains(List.of(DeviceDomainEnum.GATEWAY.getVal()))
                         .build());
 
         List<TopologyDTO> topologyList = new ArrayList<>();
 
-        gatewayList.forEach(device -> {
-            List<TopologyDeviceDTO> parents = new ArrayList<>();
-            TopologyDeviceDTO gateway = deviceService.deviceConvertToTopologyDTO(device);
-            parents.add(gateway);
-
-            // Query the topology data of the drone based on the drone sn.
-            Optional<TopologyDeviceDTO> deviceTopo = deviceService.getDeviceTopoForPilot(device.getChildDeviceSn());
-            List<TopologyDeviceDTO> deviceTopoList = new ArrayList<>();
-            deviceTopo.ifPresent(deviceTopoList::add);
-
-            topologyList.add(TopologyDTO.builder().parents(parents).hosts(deviceTopoList).build());
-        });
+        gatewayList.forEach(device -> this.getDeviceTopologyByGatewaySn(device.getDeviceSn())
+                .ifPresent(topologyList::add));
 
         return topologyList;
     }
 
+    public Optional<TopologyDTO> getDeviceTopologyByGatewaySn(String gatewaySn) {
+        Optional<DeviceDTO> dtoOptional = deviceService.getDeviceBySn(gatewaySn);
+        if (dtoOptional.isEmpty()) {
+            return Optional.empty();
+        }
+        List<TopologyDeviceDTO> parents = new ArrayList<>();
+        DeviceDTO device = dtoOptional.get();
+        TopologyDeviceDTO gateway = deviceService.deviceConvertToTopologyDTO(device);
+        parents.add(gateway);
+
+        // Query the topology data of the drone based on the drone sn.
+        Optional<TopologyDeviceDTO> deviceTopo = deviceService.getDeviceTopoForPilot(device.getChildDeviceSn());
+        List<TopologyDeviceDTO> deviceTopoList = new ArrayList<>();
+        deviceTopo.ifPresent(deviceTopoList::add);
+
+        return Optional.ofNullable(TopologyDTO.builder().parents(parents).hosts(deviceTopoList).build());
+    }
 }

--
Gitblit v1.9.3