Browse Source

处理大小写问题

master
review512jwy@163.com 2 weeks ago
parent
commit
fd5d21eeed
  1. 2
      dongjian-dashboard-back-dao/src/main/resources/mappers/ex/FavoritedDeviceMapperExt.xml
  2. 30
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java
  3. 12
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java
  4. 3
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java
  5. 6
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java
  6. 8
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java

2
dongjian-dashboard-back-dao/src/main/resources/mappers/ex/FavoritedDeviceMapperExt.xml

@ -60,7 +60,7 @@
</delete> </delete>
<select id="getFavoritedDeviceIds" resultType="java.lang.String"> <select id="getFavoritedDeviceIds" resultType="java.lang.String">
SELECT device_id SELECT lower(device_id)
FROM favorited_device FROM favorited_device
</select> </select>

30
dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java

@ -466,10 +466,12 @@ public class CommonOpt {
return deviceIds.stream() return deviceIds.stream()
.filter(id -> id.endsWith(SUFFIX_85)) .filter(id -> id.endsWith(SUFFIX_85))
.collect(Collectors.toMap( .collect(Collectors.toMap(
Function.identity(), String::toLowerCase,
id -> id.substring(0, id.length() - SUFFIX_85.length()) + SUFFIX_111, id -> (id.substring(0, id.length() - SUFFIX_85.length()) + SUFFIX_111)
.toLowerCase(),
(a, b) -> b (a, b) -> b
)); ));
} }
public Map<String, DeviceInfo> queryDeviceInfo111Map(List<String> deviceIdList111) { public Map<String, DeviceInfo> queryDeviceInfo111Map(List<String> deviceIdList111) {
@ -484,7 +486,7 @@ public class CommonOpt {
.selectByExampleWithBLOBs(example) .selectByExampleWithBLOBs(example)
.stream() .stream()
.collect(Collectors.toMap( .collect(Collectors.toMap(
DeviceInfo::getDeviceId, d -> d.getDeviceId().toLowerCase(),
Function.identity(), Function.identity(),
(a, b) -> b (a, b) -> b
)); ));
@ -502,12 +504,32 @@ public class CommonOpt {
.selectByExampleWithBLOBs(example) .selectByExampleWithBLOBs(example)
.stream() .stream()
.collect(Collectors.toMap( .collect(Collectors.toMap(
DeviceRawdataRealtime::getDeviceId, r -> r.getDeviceId().toLowerCase(),
Function.identity(), Function.identity(),
(a, b) -> b (a, b) -> b
)); ));
} }
public String buildStatus111(
String deviceId,
Map<String, String> deviceId85To111Map,
Map<String, DeviceInfo> deviceInfo111Map,
Map<String, DeviceRawdataRealtime> realtime111Map,
ObjectMapper objectMapper
) {
String deviceId111 = deviceId85To111Map.get(deviceId);
if (deviceId111 == null) {
return null;
}
DeviceRawdataRealtime realtime111 = realtime111Map.get(deviceId111);
String dataMapping111 = Optional.ofNullable(deviceInfo111Map.get(deviceId111))
.map(DeviceInfo::getDataMapping)
.orElse(null);
return mapStatus111(objectMapper, dataMapping111, realtime111);
}
public String mapStatus111(ObjectMapper mapper, public String mapStatus111(ObjectMapper mapper,
String dataMapping, String dataMapping,
DeviceRawdataRealtime realtime111) { DeviceRawdataRealtime realtime111) {

12
dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java

@ -121,14 +121,14 @@ public class DeviceDataAccumulateServiceImpl implements DeviceDataAccumulateServ
// 批量查询增量数据并构建 Map // 批量查询增量数据并构建 Map
Map<String, DeviceIncrement> todayMap = dashboardRecordAccumulateMapperExt.selectTodayIncrement(deviceIds, today.getYear(), today.getMonthValue(), today.getDayOfMonth()) Map<String, DeviceIncrement> todayMap = dashboardRecordAccumulateMapperExt.selectTodayIncrement(deviceIds, today.getYear(), today.getMonthValue(), today.getDayOfMonth())
.stream().collect(Collectors.toMap(DeviceIncrement::getDeviceId, Function.identity())); .stream().collect(Collectors.toMap(di -> di.getDeviceId().toLowerCase(), Function.identity()));
Map<String, DeviceIncrement> yesterdayMap = dashboardRecordAccumulateMapperExt.selectYesterdayIncrement(deviceIds, yesterday.getYear(), yesterday.getMonthValue(), yesterday.getDayOfMonth(), targetSeconds) Map<String, DeviceIncrement> yesterdayMap = dashboardRecordAccumulateMapperExt.selectYesterdayIncrement(deviceIds, yesterday.getYear(), yesterday.getMonthValue(), yesterday.getDayOfMonth(), targetSeconds)
.stream().collect(Collectors.toMap(DeviceIncrement::getDeviceId, Function.identity())); .stream().collect(Collectors.toMap(di -> di.getDeviceId().toLowerCase(), Function.identity()));
Map<String, DeviceIncrement> lastYearMap = dashboardRecordAccumulateMapperExt.selectLastYearIncrement(deviceIds, lastYear.getYear(), lastYear.getMonthValue(), lastYear.getDayOfMonth(), targetSeconds) Map<String, DeviceIncrement> lastYearMap = dashboardRecordAccumulateMapperExt.selectLastYearIncrement(deviceIds, lastYear.getYear(), lastYear.getMonthValue(), lastYear.getDayOfMonth(), targetSeconds)
.stream().collect(Collectors.toMap(DeviceIncrement::getDeviceId, Function.identity())); .stream().collect(Collectors.toMap(di -> di.getDeviceId().toLowerCase(), Function.identity()));
resultList.forEach(data -> { resultList.forEach(data -> {
String deviceId = data.getDeviceId(); String deviceId = data.getDeviceId().toLowerCase();
// 填充今天/昨天/去年值 // 填充今天/昨天/去年值
data.setCumulativeValue(getIncrement(todayMap.get(deviceId), DeviceIncrement::getTodayIncrement)); data.setCumulativeValue(getIncrement(todayMap.get(deviceId), DeviceIncrement::getTodayIncrement));
@ -136,9 +136,7 @@ public class DeviceDataAccumulateServiceImpl implements DeviceDataAccumulateServ
data.setLastYearValue(getIncrement(lastYearMap.get(deviceId), DeviceIncrement::getLastYearIncrement)); data.setLastYearValue(getIncrement(lastYearMap.get(deviceId), DeviceIncrement::getLastYearIncrement));
//处理111状态映射 //处理111状态映射
DeviceRawdataRealtime realtime111 = realtime111Map.get(deviceId85To111Map.get(deviceId)); data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper));
String dataMapping111 = deviceInfo111Map.get(deviceId85To111Map.get(deviceId)).getDataMapping();
data.setStatus111(commonOpt.mapStatus111(objectMapper, dataMapping111, realtime111));
// favorited 判断 // favorited 判断
data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0); data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0);

3
dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java

@ -99,8 +99,9 @@ public class DeviceDataAlarmServiceImpl implements DeviceDataAlarmService {
// 查询 favorited_device 表中所有设备的 device_id // 查询 favorited_device 表中所有设备的 device_id
List<String> favoritedDeviceIds = favoritedDeviceMapperExt.getFavoritedDeviceIds(); List<String> favoritedDeviceIds = favoritedDeviceMapperExt.getFavoritedDeviceIds();
for (DeviceAlarmData data : resultList){ for (DeviceAlarmData data : resultList){
String deviceId = data.getDeviceId().toLowerCase();
// 判断设备是否在 favorited_device 表中 // 判断设备是否在 favorited_device 表中
if (favoritedDeviceIds.contains(data.getDeviceId())) { if (favoritedDeviceIds.contains(deviceId)) {
data.setCollected(1); data.setCollected(1);
} else { } else {
data.setCollected(0); data.setCollected(0);

6
dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java

@ -108,14 +108,12 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService
// 查询 favorited_device 表中所有设备的 device_id // 查询 favorited_device 表中所有设备的 device_id
List<String> favoritedDeviceIds = favoritedDeviceMapperExt.getFavoritedDeviceIds(); List<String> favoritedDeviceIds = favoritedDeviceMapperExt.getFavoritedDeviceIds();
for (DeviceBaStatusData data : resultList){ for (DeviceBaStatusData data : resultList){
String deviceId = data.getDeviceId(); String deviceId = data.getDeviceId().toLowerCase();
data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(data.getContinuousRunningTime())); data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(data.getContinuousRunningTime()));
//处理111状态映射 //处理111状态映射
DeviceRawdataRealtime realtime111 = realtime111Map.get(deviceId85To111Map.get(deviceId)); data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper));
String dataMapping111 = deviceInfo111Map.get(deviceId85To111Map.get(deviceId)).getDataMapping();
data.setStatus111(commonOpt.mapStatus111(objectMapper, dataMapping111, realtime111));
// 判断设备是否在 favorited_device 表中 // 判断设备是否在 favorited_device 表中
data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0); data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0);

8
dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java

@ -126,10 +126,10 @@ public class DeviceDataMeasureServiceImpl implements DeviceDataMeasureService {
List<DashboardRealtimeMeasure> realtimeList = List<DashboardRealtimeMeasure> realtimeList =
dashboardRealtimeMeasureMapperExt.selectRealtimeMeasureByDevices(deviceIds); dashboardRealtimeMeasureMapperExt.selectRealtimeMeasureByDevices(deviceIds);
Map<String, List<DashboardRealtimeMeasure>> realtimeMap = realtimeList.stream() Map<String, List<DashboardRealtimeMeasure>> realtimeMap = realtimeList.stream()
.collect(Collectors.groupingBy(DashboardRealtimeMeasure::getDeviceId)); .collect(Collectors.groupingBy(m -> m.getDeviceId().toLowerCase()));
for (DeviceMeasureData data : resultList) { for (DeviceMeasureData data : resultList) {
String deviceId = data.getDeviceId(); String deviceId = data.getDeviceId().toLowerCase();
// 默认 measurementValue 从 rawData 提取 // 默认 measurementValue 从 rawData 提取
data.setMeasurementValue(commonOpt.extractValue(objectMapper, data.getCategoryId(), data.getRawData())); data.setMeasurementValue(commonOpt.extractValue(objectMapper, data.getCategoryId(), data.getRawData()));
@ -178,9 +178,7 @@ public class DeviceDataMeasureServiceImpl implements DeviceDataMeasureService {
} }
//处理111状态映射 //处理111状态映射
DeviceRawdataRealtime realtime111 = realtime111Map.get(deviceId85To111Map.get(deviceId)); data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper));
String dataMapping111 = deviceInfo111Map.get(deviceId85To111Map.get(deviceId)).getDataMapping();
data.setStatus111(commonOpt.mapStatus111(objectMapper, dataMapping111, realtime111));
// 收藏状态 // 收藏状态
data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0); data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0);

Loading…
Cancel
Save