diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/devicewarinningrecord/WarningTrendPointRespDTO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/devicewarinningrecord/WarningTrendPointRespDTO.java index e83a2d5..78eaa14 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/devicewarinningrecord/WarningTrendPointRespDTO.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/devicewarinningrecord/WarningTrendPointRespDTO.java @@ -6,5 +6,5 @@ import lombok.Data; @Data public class WarningTrendPointRespDTO { private String timeKey; - private Long count; + private Long cnt; } diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/devicewarinningrecord/DeviceWarinningRecordServiceImpl.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/devicewarinningrecord/DeviceWarinningRecordServiceImpl.java index 574316a..4750412 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/devicewarinningrecord/DeviceWarinningRecordServiceImpl.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/devicewarinningrecord/DeviceWarinningRecordServiceImpl.java @@ -287,8 +287,9 @@ public class DeviceWarinningRecordServiceImpl implements DeviceWarinningRecordSe List rows = iotDeviceMapper.selectWarningTrendByHour(start, end); for (WarningTrendPointRespDTO row : rows) { - if (bucket.containsKey(row.getTimeKey())) { - bucket.put(row.getTimeKey(), row.getCount() == null ? 0L : row.getCount()); + String key = normalizeHourKey(row.getTimeKey()); // 按小时分支 + if (bucket.containsKey(key)) { + bucket.put(key, row.getCnt() == null ? 0L : row.getCnt()); } } } else { @@ -303,8 +304,9 @@ public class DeviceWarinningRecordServiceImpl implements DeviceWarinningRecordSe List rows = iotDeviceMapper.selectWarningTrendByDay(start, end); for (WarningTrendPointRespDTO row : rows) { - if (bucket.containsKey(row.getTimeKey())) { - bucket.put(row.getTimeKey(), row.getCount() == null ? 0L : row.getCount()); + String key = normalizeDayKey(row.getTimeKey()); // 按天分支 + if (bucket.containsKey(key)) { + bucket.put(key, row.getCnt() == null ? 0L : row.getCnt()); } } } @@ -315,6 +317,23 @@ public class DeviceWarinningRecordServiceImpl implements DeviceWarinningRecordSe return resp; } + private String normalizeHourKey(String raw) { + if (raw == null) return null; + String s = raw.trim().replace('T', ' '); + if (s.length() >= 16) { // yyyy-MM-dd HH:mm... + return s.substring(0, 13) + ":00"; + } + return s; + } + + private String normalizeDayKey(String raw) { + if (raw == null) return null; + String s = raw.trim().replace('T', ' '); + if (s.length() >= 10) { // yyyy-MM-dd... + return s.substring(0, 10); + } + return s; + } } \ No newline at end of file