From 32cd70211217c9556088c774b2dfa3f99537b7a9 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Wed, 4 Feb 2026 18:41:14 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=94=B6=E8=97=8F=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=AD=A6=E6=8A=A5=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/FavoritedDeviceServiceImpl.java | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java index c8612a6..babdb75 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java @@ -7,16 +7,15 @@ import com.dongjian.dashboard.back.common.response.ResponseCode; import com.dongjian.dashboard.back.common.response.SimpleDataResponse; import com.dongjian.dashboard.back.dao.ex.FavoritedDeviceMapperExt; import com.dongjian.dashboard.back.dto.data.AccumulateDataSearchParam; +import com.dongjian.dashboard.back.dto.data.AlarmDataSearchParam; import com.dongjian.dashboard.back.dto.data.BaStatusDataSearchParam; import com.dongjian.dashboard.back.dto.data.MeasureDataSearchParam; import com.dongjian.dashboard.back.dto.device.FavoritedDeviceSearchParams; import com.dongjian.dashboard.back.dto.device.OptFavoritedDeviceParams; -import com.dongjian.dashboard.back.service.DeviceDataAccumulateService; -import com.dongjian.dashboard.back.service.DeviceDataBaStatusService; -import com.dongjian.dashboard.back.service.DeviceDataMeasureService; -import com.dongjian.dashboard.back.service.FavoritedDeviceService; +import com.dongjian.dashboard.back.service.*; import com.dongjian.dashboard.back.service.common.CommonOpt; import com.dongjian.dashboard.back.vo.data.DeviceAccumulateData; +import com.dongjian.dashboard.back.vo.data.DeviceAlarmData; import com.dongjian.dashboard.back.vo.data.DeviceBaStatusData; import com.dongjian.dashboard.back.vo.data.DeviceMeasureData; import com.dongjian.dashboard.back.vo.device.FavoritedDeviceVO; @@ -52,6 +51,8 @@ public class FavoritedDeviceServiceImpl implements FavoritedDeviceService { DeviceDataBaStatusService deviceDataBaStatusService; @Autowired DeviceDataMeasureService deviceDataMeasureService; + @Autowired + DeviceDataAlarmService deviceDataAlarmService; @Override @@ -77,6 +78,7 @@ public class FavoritedDeviceServiceImpl implements FavoritedDeviceService { List accumulateDeviceIds = new ArrayList<>(); List measureDeviceIds = new ArrayList<>(); List statusDeviceIds = new ArrayList<>(); + List alarmDeviceIds = new ArrayList<>(); for (FavoritedDeviceVO vo : favoritedDeviceVOList) { Long categoryId = vo.getCategoryId(); @@ -86,6 +88,8 @@ public class FavoritedDeviceServiceImpl implements FavoritedDeviceService { measureDeviceIds.add(vo.getDeviceId()); } else if (Constants.CATEGORY_MAP.get(Constants.CATEGORY_STATUS).contains(categoryId)) { statusDeviceIds.add(vo.getDeviceId()); + } else if (Constants.CATEGORY_MAP.get(Constants.CATEGORY_ALARM).contains(categoryId)) { + alarmDeviceIds.add(vo.getDeviceId()); } } @@ -93,6 +97,7 @@ public class FavoritedDeviceServiceImpl implements FavoritedDeviceService { Map accumulateDataMap = buildAccumulateDataMap(companyId, accumulateDeviceIds); Map measureDataMap = buildMeasureDataMap(companyId, measureDeviceIds); Map statusDataMap = buildStatusDataMap(companyId, statusDeviceIds); + Map alarmDataMap = buildAlarmDataMap(companyId, languageType, alarmDeviceIds); // 按收藏顺序生成结果 for (FavoritedDeviceVO vo : favoritedDeviceVOList) { @@ -106,6 +111,8 @@ public class FavoritedDeviceServiceImpl implements FavoritedDeviceService { data = measureDataMap.get(deviceId); } else if (Constants.CATEGORY_MAP.get(Constants.CATEGORY_STATUS).contains(categoryId)) { data = statusDataMap.get(deviceId); + } else if (Constants.CATEGORY_MAP.get(Constants.CATEGORY_ALARM).contains(categoryId)) { + data = alarmDataMap.get(deviceId); } if (data != null) { @@ -116,6 +123,16 @@ public class FavoritedDeviceServiceImpl implements FavoritedDeviceService { return new PageInfo<>(resultList); } + private Map buildAlarmDataMap(Long companyId, Integer languageType, List deviceIds) { + if (CollectionUtils.isEmpty(deviceIds)) return Collections.emptyMap(); + + AlarmDataSearchParam param = new AlarmDataSearchParam(); + param.setDeviceIdList(deviceIds); + param.setCompanyIdList(List.of(companyId)); + return deviceDataAlarmService.handleDeviceAlarmData(languageType, param).stream() + .collect(Collectors.toMap(DeviceAlarmData::getDeviceId, Function.identity(), (existing, replacement) -> replacement)); + } + private Map buildAccumulateDataMap(Long companyId, List deviceIds) { if (CollectionUtils.isEmpty(deviceIds)) return Collections.emptyMap(); From 8130e97089c29c127379fc239b9e5a6f16f590d6 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Wed, 4 Feb 2026 18:44:24 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=94=B6=E8=97=8F=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=AD=A6=E6=8A=A5=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dashboard/back/service/impl/FavoritedDeviceServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java index babdb75..55ffb20 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java @@ -129,6 +129,7 @@ public class FavoritedDeviceServiceImpl implements FavoritedDeviceService { AlarmDataSearchParam param = new AlarmDataSearchParam(); param.setDeviceIdList(deviceIds); param.setCompanyIdList(List.of(companyId)); + param.setSearchType(4); return deviceDataAlarmService.handleDeviceAlarmData(languageType, param).stream() .collect(Collectors.toMap(DeviceAlarmData::getDeviceId, Function.identity(), (existing, replacement) -> replacement)); } From 0760418b5fdf6883d16949113956baa17e9fedda Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Wed, 4 Feb 2026 18:45:07 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=94=B6=E8=97=8F=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=AD=A6=E6=8A=A5=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dongjian/dashboard/back/dto/data/AlarmDataSearchParam.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/data/AlarmDataSearchParam.java b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/data/AlarmDataSearchParam.java index 372d34a..712aa5c 100644 --- a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/data/AlarmDataSearchParam.java +++ b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/data/AlarmDataSearchParam.java @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; @Data public class AlarmDataSearchParam extends DataSearchParam { - @Schema(description = "查询类型:1-告警一览,2-告警历史,3-未确认告警",example = "1") + @Schema(description = "查询类型:1-告警一览,2-告警历史,3-未确认告警,4-只查告警类型设备(不是历史)",example = "1") private Integer searchType; }