Browse Source

fix: 修复数据问题

jackzhou 6 months ago
parent
commit
fb3637b4f3

+ 10 - 7
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/service/dataprocess/dataclean/impl/AbsRenkeMonitorDataProcessor.java

@@ -89,13 +89,16 @@ public abstract class AbsRenkeMonitorDataProcessor implements MonitorDataProcess
                 log.warn("设备ID: {} 的缓存数据中没有有效的传感器数据", deviceId);
             }
         }
-        // Step 6: 保存传感器数据(实时数据 + 缓存数据)
-        boolean result = writeSensorDatas(sensorDataList);
-        // Step 7: 输出处理结果日志,并在保存成功后进行后置处理
-        if (result) {
-            postProcess(sensorDataList);
-        } else {
-            log.error("设备ID: {}, 型号: {} 的数据处理失败", deviceId, modelName);
+        boolean result = false;
+        if (!sensorDataList.isEmpty()) {
+            // Step 6: 保存传感器数据(实时数据 + 缓存数据)
+            result = writeSensorDatas(sensorDataList);
+            // Step 7: 输出处理结果日志,并在保存成功后进行后置处理
+            if (result) {
+                postProcess(sensorDataList);
+            } else {
+                log.error("设备ID: {}, 型号: {} 的数据处理失败", deviceId, modelName);
+            }
         }
         return result;
     }

+ 3 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/service/dataprocess/dataclean/impl/WifiLowTempRecorderProcessor1.java

@@ -32,6 +32,9 @@ public class WifiLowTempRecorderProcessor1 extends AbsRenkeMonitorDataProcessor
     List<SensorData> transRealTimeData2SensorDatas(@NotNull RealTimeData data) {
         List<NodeData> nodeList = data.getNodeList();
         final int numNodes = nodeList.size();
+        if (numNodes == 0) {
+            return Lists.newArrayList();
+        }
         NodeData nodeData = nodeList.get(0);
         // 最后一路的温度的值0=电源供电  100 电池供电
         final String plugInStatus = nodeList.get(numNodes - 1).getTem() < 1 ? PowerEnum.AC.getCode() : PowerEnum.DC.getCode();