Browse Source

收藏增加警报设备

zhc
review512jwy@163.com 3 weeks ago
parent
commit
32cd702112
  1. 25
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java

25
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<String> accumulateDeviceIds = new ArrayList<>();
List<String> measureDeviceIds = new ArrayList<>();
List<String> statusDeviceIds = new ArrayList<>();
List<String> 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<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);
// 按收藏顺序生成结果
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<String, DeviceAlarmData> buildAlarmDataMap(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));
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) {
if (CollectionUtils.isEmpty(deviceIds)) return Collections.emptyMap();

Loading…
Cancel
Save