|
|
|
@ -98,10 +98,10 @@ public class FavoritedDeviceServiceImpl implements FavoritedDeviceService { |
|
|
|
} |
|
|
|
|
|
|
|
// 查询并构建 deviceId -> Data 映射
|
|
|
|
Map<String, DeviceAccumulateData> accumulateDataMap = buildAccumulateDataMap(companyId, accumulateDeviceIds); |
|
|
|
Map<String, DeviceMeasureData> measureDataMap = buildMeasureDataMap(companyId, measureDeviceIds); |
|
|
|
Map<String, DeviceBaStatusData> statusDataMap = buildStatusDataMap(companyId, statusDeviceIds); |
|
|
|
Map<String, DeviceAlarmData> alarmDataMap = buildAlarmDataMap(companyId, languageType, alarmDeviceIds); |
|
|
|
Map<String, DeviceAccumulateData> accumulateDataMap = buildAccumulateDataMap(userId, companyId, accumulateDeviceIds); |
|
|
|
Map<String, DeviceMeasureData> measureDataMap = buildMeasureDataMap(userId, companyId, measureDeviceIds); |
|
|
|
Map<String, DeviceBaStatusData> statusDataMap = buildStatusDataMap(userId, companyId, statusDeviceIds); |
|
|
|
Map<String, DeviceAlarmData> alarmDataMap = buildAlarmDataMap(userId, companyId, languageType, alarmDeviceIds); |
|
|
|
|
|
|
|
// 按收藏顺序生成结果
|
|
|
|
for (FavoritedDeviceVO vo : favoritedDeviceVOList) { |
|
|
|
@ -139,43 +139,47 @@ public class FavoritedDeviceServiceImpl implements FavoritedDeviceService { |
|
|
|
return resultPageInfo; |
|
|
|
} |
|
|
|
|
|
|
|
private Map<String, DeviceAlarmData> buildAlarmDataMap(Long companyId, Integer languageType, List<String> deviceIds) { |
|
|
|
private Map<String, DeviceAlarmData> buildAlarmDataMap(Long userId, Long companyId, Integer languageType, List<String> deviceIds) { |
|
|
|
if (CollectionUtils.isEmpty(deviceIds)) return Collections.emptyMap(); |
|
|
|
|
|
|
|
AlarmDataSearchParam param = new AlarmDataSearchParam(); |
|
|
|
param.setDeviceIdList(deviceIds); |
|
|
|
param.setCompanyIdList(List.of(companyId)); |
|
|
|
param.setSearchType(4); |
|
|
|
param.setBindBuildingIdList(commonOpt.getBindBuildingIdList(userId, param.getCompanyIdList())); |
|
|
|
return deviceDataAlarmService.handleDeviceAlarmData(languageType, param).stream() |
|
|
|
.collect(Collectors.toMap(DeviceAlarmData::getDeviceId, Function.identity(), (existing, replacement) -> replacement)); |
|
|
|
} |
|
|
|
|
|
|
|
private Map<String, DeviceAccumulateData> buildAccumulateDataMap(Long companyId, List<String> deviceIds) { |
|
|
|
private Map<String, DeviceAccumulateData> buildAccumulateDataMap(Long userId, Long companyId, List<String> deviceIds) { |
|
|
|
if (CollectionUtils.isEmpty(deviceIds)) return Collections.emptyMap(); |
|
|
|
|
|
|
|
AccumulateDataSearchParam param = new AccumulateDataSearchParam(); |
|
|
|
param.setDeviceIdList(deviceIds); |
|
|
|
param.setCompanyIdList(List.of(companyId)); |
|
|
|
param.setBindBuildingIdList(commonOpt.getBindBuildingIdList(userId, param.getCompanyIdList())); |
|
|
|
return deviceDataAccumulateService.handleDeviceAccumulateData(param).stream() |
|
|
|
.collect(Collectors.toMap(DeviceAccumulateData::getDeviceId, Function.identity(), (existing, replacement) -> replacement)); |
|
|
|
} |
|
|
|
|
|
|
|
private Map<String, DeviceMeasureData> buildMeasureDataMap(Long companyId, List<String> deviceIds) { |
|
|
|
private Map<String, DeviceMeasureData> buildMeasureDataMap(Long userId, Long companyId, List<String> deviceIds) { |
|
|
|
if (CollectionUtils.isEmpty(deviceIds)) return Collections.emptyMap(); |
|
|
|
|
|
|
|
MeasureDataSearchParam param = new MeasureDataSearchParam(); |
|
|
|
param.setDeviceIdList(deviceIds); |
|
|
|
param.setCompanyIdList(List.of(companyId)); |
|
|
|
param.setBindBuildingIdList(commonOpt.getBindBuildingIdList(userId, param.getCompanyIdList())); |
|
|
|
return deviceDataMeasureService.handleDeviceMeasureData(param).stream() |
|
|
|
.collect(Collectors.toMap(DeviceMeasureData::getDeviceId, Function.identity(), (existing, replacement) -> replacement)); |
|
|
|
} |
|
|
|
|
|
|
|
private Map<String, DeviceBaStatusData> buildStatusDataMap(Long companyId, List<String> deviceIds) { |
|
|
|
private Map<String, DeviceBaStatusData> buildStatusDataMap(Long userId, Long companyId, List<String> deviceIds) { |
|
|
|
if (CollectionUtils.isEmpty(deviceIds)) return Collections.emptyMap(); |
|
|
|
|
|
|
|
BaStatusDataSearchParam param = new BaStatusDataSearchParam(); |
|
|
|
param.setDeviceIdList(deviceIds); |
|
|
|
param.setCompanyIdList(List.of(companyId)); |
|
|
|
param.setBindBuildingIdList(commonOpt.getBindBuildingIdList(userId, param.getCompanyIdList())); |
|
|
|
return deviceDataBaStatusService.handleDeviceBaStatusData(param).stream() |
|
|
|
.collect(Collectors.toMap(DeviceBaStatusData::getDeviceId, Function.identity(), (existing, replacement) -> replacement)); |
|
|
|
} |
|
|
|
|