diff --git a/src/main/java/com/ruoyi/device/controller/StaticsController.java b/src/main/java/com/ruoyi/device/controller/StaticsController.java index 1592681..88d70c6 100644 --- a/src/main/java/com/ruoyi/device/controller/StaticsController.java +++ b/src/main/java/com/ruoyi/device/controller/StaticsController.java @@ -127,13 +127,16 @@ public class StaticsController extends BaseController StatisticsVO vo = new StatisticsVO(); // 获取所有机场 - List docks = dockService.selectDockList(new DockDTO()); - vo.setDockCount(docks != null ? docks.size() : 0); - log.info("机场总数: {}", vo.getDockCount()); + List allDocks = dockService.selectDockList(new DockDTO()); + + // 过滤出大疆机场 + List docks = filterDocksByManufacturer(allDocks, "dajiang"); + vo.setDockCount(docks.size()); + log.info("大疆机场总数: {}", vo.getDockCount()); // 批量获取机场详情 - 优化:从N次查询减少到1次批量查询 Map dockDetailsMap = null; - if (docks != null && !docks.isEmpty()) { + if (!docks.isEmpty()) { List dockIds = docks.stream() .map(DockDTO::getDockId) .collect(Collectors.toList()); @@ -178,13 +181,16 @@ public class StaticsController extends BaseController log.info("机场状态统计结果 -> 空闲:{}, 任务中:{}, 调试:{}, 离线:{}", idleCount, workingCount, debuggingCount, offlineCount); // 获取所有无人机 - List aircrafts = aircraftService.selectAircraftList(new AircraftDTO()); - vo.setAircraftCount(aircrafts != null ? aircrafts.size() : 0); - log.info("无人机总数: {}", vo.getAircraftCount()); + List allAircrafts = aircraftService.selectAircraftList(new AircraftDTO()); + + // 过滤出大疆无人机 + List aircrafts = filterAircraftsByManufacturer(allAircrafts, "dajiang"); + vo.setAircraftCount(aircrafts.size()); + log.info("大疆无人机总数: {}", vo.getAircraftCount()); // 批量获取无人机详情 - 优化:从N次查询减少到1次批量查询 Map aircraftDetailsMap = null; - if (aircrafts != null && !aircrafts.isEmpty()) { + if (!aircrafts.isEmpty()) { List aircraftIds = aircrafts.stream() .map(AircraftDTO::getAircraftId) .collect(Collectors.toList());