diff --git a/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java b/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java index 35b49241..daec5399 100644 --- a/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java +++ b/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java @@ -251,26 +251,31 @@ public class NodeMessageServiceImpl extends TextWebSocketHandler implements Node Map lowSpeedValueMap = new HashMap<>(); //数据入redis - Iterator keysHigh = values.fieldNames(); - while (keysHigh.hasNext()) { - String fieldName = keysHigh.next(); - String key = String.format("RT:%s:%s", deviceId, fieldName.toLowerCase()); - keyValueMap.put(key, values.get(fieldName)); - } - log.info("values解析成功"); - Iterator archiveKeys = archiveValues.fieldNames(); - while (archiveKeys.hasNext()) { - String fieldName = archiveKeys.next(); - String key = String.format("RT:%s:%s", deviceId, fieldName.toLowerCase()); - keyValueMap.put(key, values.get(fieldName)); - if (highKey.contains(fieldName)) { - highSpeedValueMap.put(fieldName, values.get(fieldName)); - } - if (lowKey.contains(fieldName)) { - lowSpeedValueMap.put(fieldName, values.get(fieldName)); + if (values != null){ + Iterator keysHigh = values.fieldNames(); + while (keysHigh.hasNext()) { + String fieldName = keysHigh.next(); + String key = String.format("RT:%s:%s", deviceId, fieldName.toLowerCase()); + keyValueMap.put(key, values.get(fieldName)); } + log.info("values解析成功"); + } + + if (archiveValues != null){ + Iterator archiveKeys = archiveValues.fieldNames(); + while (archiveKeys.hasNext()) { + String fieldName = archiveKeys.next(); + String key = String.format("RT:%s:%s", deviceId, fieldName.toLowerCase()); + keyValueMap.put(key, archiveValues.get(fieldName)); + if (highKey.contains(fieldName)) { + highSpeedValueMap.put(fieldName, archiveValues.get(fieldName)); + } + if (lowKey.contains(fieldName)) { + lowSpeedValueMap.put(fieldName, archiveValues.get(fieldName)); + } + } + log.info("archive解析成功"); } - log.info("archive解析成功"); //更新td if (!highSpeedValueMap.isEmpty()) { List highSpeedData = new ArrayList<>();