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>
<select id="getFavoritedDeviceIds" resultType="java.lang.String">
SELECT device_id
SELECT lower(device_id)
FROM favorited_device
</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()
.filter(id -> id.endsWith(SUFFIX_85))
.collect(Collectors.toMap(
Function.identity(),
id -> id.substring(0, id.length() - SUFFIX_85.length()) + SUFFIX_111,
String::toLowerCase,
id -> (id.substring(0, id.length() - SUFFIX_85.length()) + SUFFIX_111)
.toLowerCase(),
(a, b) -> b
));
}
public Map<String, DeviceInfo> queryDeviceInfo111Map(List<String> deviceIdList111) {
@ -484,7 +486,7 @@ public class CommonOpt {
.selectByExampleWithBLOBs(example)
.stream()
.collect(Collectors.toMap(
DeviceInfo::getDeviceId,
d -> d.getDeviceId().toLowerCase(),
Function.identity(),
(a, b) -> b
));
@ -502,12 +504,32 @@ public class CommonOpt {
.selectByExampleWithBLOBs(example)
.stream()
.collect(Collectors.toMap(
DeviceRawdataRealtime::getDeviceId,
r -> r.getDeviceId().toLowerCase(),
Function.identity(),
(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,
String dataMapping,
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<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)
.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)
.stream().collect(Collectors.toMap(DeviceIncrement::getDeviceId, Function.identity()));
.stream().collect(Collectors.toMap(di -> di.getDeviceId().toLowerCase(), Function.identity()));
resultList.forEach(data -> {
String deviceId = data.getDeviceId();
String deviceId = data.getDeviceId().toLowerCase();
// 填充今天/昨天/去年值
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));
//处理111状态映射
DeviceRawdataRealtime realtime111 = realtime111Map.get(deviceId85To111Map.get(deviceId));
String dataMapping111 = deviceInfo111Map.get(deviceId85To111Map.get(deviceId)).getDataMapping();
data.setStatus111(commonOpt.mapStatus111(objectMapper, dataMapping111, realtime111));
data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper));
// favorited 判断
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
List<String> favoritedDeviceIds = favoritedDeviceMapperExt.getFavoritedDeviceIds();
for (DeviceAlarmData data : resultList){
String deviceId = data.getDeviceId().toLowerCase();
// 判断设备是否在 favorited_device 表中
if (favoritedDeviceIds.contains(data.getDeviceId())) {
if (favoritedDeviceIds.contains(deviceId)) {
data.setCollected(1);
} else {
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
List<String> favoritedDeviceIds = favoritedDeviceMapperExt.getFavoritedDeviceIds();
for (DeviceBaStatusData data : resultList){
String deviceId = data.getDeviceId();
String deviceId = data.getDeviceId().toLowerCase();
data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(data.getContinuousRunningTime()));
//处理111状态映射
DeviceRawdataRealtime realtime111 = realtime111Map.get(deviceId85To111Map.get(deviceId));
String dataMapping111 = deviceInfo111Map.get(deviceId85To111Map.get(deviceId)).getDataMapping();
data.setStatus111(commonOpt.mapStatus111(objectMapper, dataMapping111, realtime111));
data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper));
// 判断设备是否在 favorited_device 表中
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 =
dashboardRealtimeMeasureMapperExt.selectRealtimeMeasureByDevices(deviceIds);
Map<String, List<DashboardRealtimeMeasure>> realtimeMap = realtimeList.stream()
.collect(Collectors.groupingBy(DashboardRealtimeMeasure::getDeviceId));
.collect(Collectors.groupingBy(m -> m.getDeviceId().toLowerCase()));
for (DeviceMeasureData data : resultList) {
String deviceId = data.getDeviceId();
String deviceId = data.getDeviceId().toLowerCase();
// 默认 measurementValue 从 rawData 提取
data.setMeasurementValue(commonOpt.extractValue(objectMapper, data.getCategoryId(), data.getRawData()));
@ -178,9 +178,7 @@ public class DeviceDataMeasureServiceImpl implements DeviceDataMeasureService {
}
//处理111状态映射
DeviceRawdataRealtime realtime111 = realtime111Map.get(deviceId85To111Map.get(deviceId));
String dataMapping111 = deviceInfo111Map.get(deviceId85To111Map.get(deviceId)).getDataMapping();
data.setStatus111(commonOpt.mapStatus111(objectMapper, dataMapping111, realtime111));
data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper));
// 收藏状态
data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0);

Loading…
Cancel
Save