From 1bfbc52da47b22f00a1c1f5f670c30f70d999873 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Mon, 02 Feb 2026 18:18:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseZoneServiceImpl.java | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseZoneServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseZoneServiceImpl.java
index ee824b0..6a8c3b1 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseZoneServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseZoneServiceImpl.java
@@ -23,6 +23,7 @@
import org.sxkj.fw.area.entity.FwAreaDivideEntity;
import org.sxkj.fw.area.entity.FwDefenseSceneEntity;
import org.sxkj.fw.area.entity.FwDefenseZoneEntity;
+import org.sxkj.fw.area.vo.FwAreaDivideVO;
import org.sxkj.fw.area.vo.FwDefenseZoneVO;
import org.sxkj.fw.area.excel.FwDefenseZoneExcel;
import org.sxkj.fw.area.mapper.FwDefenseZoneMapper;
@@ -74,10 +75,28 @@
return detail;
}
+ @Override
+ public List<FwAreaDivideVO> selectFwAreaDivideListByZoneId(Long zoneId) {
+ if (zoneId == null) {
+ return Collections.emptyList();
+ }
+ // 防区不存在时直接返回空结果
+ Integer exists = baseMapper.selectDefenseZoneExists(zoneId);
+ if (exists == null || exists == 0) {
+ return null;
+ }
+ List<FwAreaDivideVO> areaList = baseMapper.selectFwAreaDivideListByZoneId(zoneId);
+ if (areaList == null) {
+ return Collections.emptyList();
+ }
+ return areaList;
+ }
+
private void fillDefenseZoneStatistics(List<FwDefenseZoneVO> records) {
if (records == null || records.isEmpty()) {
return;
}
+ // 组装防区-场景-区域-设备的统计链路
Set<Long> sceneIdSet = new HashSet<>();
Map<Long, List<Long>> zoneSceneMap = new HashMap<>();
for (FwDefenseZoneVO record : records) {
@@ -110,6 +129,7 @@
}
Map<Long, List<Long>> areaDeviceMap = new HashMap<>();
if (!sceneAreaIdSet.isEmpty()) {
+ // 预加载区域关联的设备ID集合
List<FwAreaDivideEntity> areaList = fwAreaDivideService.listByIds(sceneAreaIdSet);
for (FwAreaDivideEntity area : areaList) {
if (area == null || area.getId() == null) {
--
Gitblit v1.9.3