Sfoglia il codice sorgente

feate : 存储预警消息

jackzhou 6 mesi fa
parent
commit
8527f62563

+ 1 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/alarm/service/messagepush/SensorAlarmMessagePushService.java

@@ -43,7 +43,7 @@ public class SensorAlarmMessagePushService {
         for (String openid : openids) {
             // 判断该用户对该设备和告警类型的推送是否超过限制
             if (hasExceededPushLimit(openid, deviceID, alarmType)) {
-                log.info("用户 {} 对设备 {} 的告警类型 {} 在过去{}小时内推送次数超过限制,跳过推送", openid, deviceID, alarmType, JfcloudColdChainConstants.MESS_PUSH_TIME_WINDOW / 60 / 60 / 1000);
+                log.info("用户 {} 对设备 {} 的告警类型 {} \n在过去{}小时内推送次数超过限制,跳过推送", openid, deviceID, alarmType, JfcloudColdChainConstants.MESS_PUSH_TIME_WINDOW / 60 / 60 / 1000);
                 continue; // 跳过该用户
             }
             // 遍历每个接收人和通知渠道,发送告警信息

+ 0 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/renke/listener/JfcloudColdChainRenKeDefaultDataListener.java

@@ -46,7 +46,6 @@ public class JfcloudColdChainRenKeDefaultDataListener implements IDataListener {
     public void receiveStoreData(StoreData data) {
         log.info("======================== 设备ID: {} ========================================", data.getDeviceId());
         log.info("接收到存储数据: 设备ID = {}", data.getDeviceId());
-
         data.getNodeList().forEach(nodeData -> log.info("记录ID: {}, 记录时间: {}, 温度: {}, 湿度: {}", nodeData.getNodeId(), nodeData.getRecordTime(), nodeData.getTem(), nodeData.getHum()));
         log.info("*************************************************************************");
         RenKeColdChainMessageData renKeColdChainMessageData = new RenKeColdChainMessageData();

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

@@ -69,7 +69,7 @@ public abstract class AbsRenkeMonitorDataProcessor implements MonitorDataProcess
         this.modelName = renKeColdChainMessageData.getModelName();
         // Step 3: 进行数据前处理
         preProcess(renKeColdChainMessageData);
-        final String deviceId = String.valueOf(realTimeData.getDeviceId());
+        final String deviceId = String.valueOf(renKeColdChainMessageData.getDeviceId());
         // Step 4: 处理实时数据
         if (isValidRealTimeData(realTimeData)) {
             List<SensorData> realTimeSensorData = transRealTimeData2SensorDatas(realTimeData);
@@ -93,7 +93,6 @@ public abstract class AbsRenkeMonitorDataProcessor implements MonitorDataProcess
         // Step 7: 输出处理结果日志,并在保存成功后进行后置处理
         if (result) {
             postProcess(sensorDataList);
-            log.info("设备ID: {}, 型号: {} 的数据处理成功", deviceId, modelName);
         } else {
             log.error("设备ID: {}, 型号: {} 的数据处理失败", deviceId, modelName);
         }
@@ -121,7 +120,7 @@ public abstract class AbsRenkeMonitorDataProcessor implements MonitorDataProcess
     protected List<SensorData> transStoreData2SensorDatas(StoreData storeData) {
         List<SensorData> rlts = new ArrayList<>();
         int deviceId = storeData.getDeviceId();
-        if (deviceId == 0 || Objects.isNull(storeData) || storeData.getNodeList() == null || storeData.getNodeList().size() == 0) {
+        if (deviceId == 0 || storeData.getNodeList() == null || storeData.getNodeList().size() == 0) {
             return null;
         }
         List<NodeData> nodeList = storeData.getNodeList();
@@ -136,6 +135,7 @@ public abstract class AbsRenkeMonitorDataProcessor implements MonitorDataProcess
                 sensorData.setCreateTime(DateFormatter.now(recordTime));
                 sensorData.setTemperature(floatValue(nodeData.getTem()));
                 sensorData.setHumidity(floatValue(nodeData.getHum()));
+                sensorData.setTime(recordTime.toInstant());
                 rlts.add(sensorData);
             }
         }

+ 2 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/core/service/dataprocess/handler/impl/RenKeColdChainDataHandler.java

@@ -31,12 +31,14 @@ public class RenKeColdChainDataHandler extends AbstractColdChainDataHandler<RenK
     @Override
     public boolean handleRealTimeData(RenKeColdChainMessageData renKeColdChainMessageData) {
         RealTimeData data = renKeColdChainMessageData.getRealTimeData();
+        renKeColdChainMessageData.setDeviceId(data.getDeviceId());
         return handleData(data.getDeviceId(), renKeColdChainMessageData);
     }
 
     @Override
     public boolean handleStoreData(RenKeColdChainMessageData renKeColdChainMessageData) {
         StoreData data = renKeColdChainMessageData.getStoreData();
+        renKeColdChainMessageData.setDeviceId(data.getDeviceId());
         return handleData(data.getDeviceId(), renKeColdChainMessageData);
     }