|
@@ -1,13 +1,15 @@
|
|
-package vip.xiaonuo.coldchain.core.event.alarm.service;
|
|
|
|
|
|
+package vip.xiaonuo.coldchain.core.alarm.service.check;
|
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.context.ApplicationEventPublisher;
|
|
import org.springframework.context.ApplicationEventPublisher;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
+import vip.xiaonuo.coldchain.core.alarm.bean.SensorAlarm;
|
|
|
|
+import vip.xiaonuo.coldchain.core.alarm.bean.SensorThreshold;
|
|
|
|
+import vip.xiaonuo.coldchain.core.alarm.config.ColdChainAlarmMessageProperties;
|
|
|
|
+import vip.xiaonuo.coldchain.core.alarm.service.threshold.SensorThresholdService;
|
|
import vip.xiaonuo.coldchain.core.bean.influxdb.SensorData;
|
|
import vip.xiaonuo.coldchain.core.bean.influxdb.SensorData;
|
|
import vip.xiaonuo.coldchain.core.event.SensorAlarmEvent;
|
|
import vip.xiaonuo.coldchain.core.event.SensorAlarmEvent;
|
|
-import vip.xiaonuo.coldchain.core.event.alarm.bean.SensorThreshold;
|
|
|
|
-import vip.xiaonuo.coldchain.core.event.alarm.config.ColdChainAlarmMessageProperties;
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
@@ -16,13 +18,12 @@ import java.util.Date;
|
|
@RequiredArgsConstructor
|
|
@RequiredArgsConstructor
|
|
@Slf4j
|
|
@Slf4j
|
|
public class DefaultSensorAlarmChecker implements SensorAlarmChecker {
|
|
public class DefaultSensorAlarmChecker implements SensorAlarmChecker {
|
|
|
|
+ // 定义一个日期格式化器,用于将时间格式化成可读的字符串
|
|
|
|
+ private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
private final SensorThresholdService thresholdService;
|
|
private final SensorThresholdService thresholdService;
|
|
private final ColdChainAlarmMessageProperties alarmMessageProperties;
|
|
private final ColdChainAlarmMessageProperties alarmMessageProperties;
|
|
private final ApplicationEventPublisher applicationEventPublisher;
|
|
private final ApplicationEventPublisher applicationEventPublisher;
|
|
|
|
|
|
- // 定义一个日期格式化器,用于将时间格式化成可读的字符串
|
|
|
|
- private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
-
|
|
|
|
@Override
|
|
@Override
|
|
public boolean checkAlarm(SensorData sensorData) {
|
|
public boolean checkAlarm(SensorData sensorData) {
|
|
if (sensorData == null) {
|
|
if (sensorData == null) {
|
|
@@ -89,8 +90,10 @@ public class DefaultSensorAlarmChecker implements SensorAlarmChecker {
|
|
private void publishAlarm(String alarmType, Float value, String unit, String deviceName, String time) {
|
|
private void publishAlarm(String alarmType, Float value, String unit, String deviceName, String time) {
|
|
// 获取对应的报警消息模板
|
|
// 获取对应的报警消息模板
|
|
String alarmMessage = getAlarmMessage(alarmType, value, unit, deviceName, time);
|
|
String alarmMessage = getAlarmMessage(alarmType, value, unit, deviceName, time);
|
|
|
|
+ SensorAlarm sensorAlarm = new SensorAlarm();
|
|
|
|
+ sensorAlarm.setAlarmType(alarmType);
|
|
// 发布报警事件(可以替换成实际的报警处理逻辑)
|
|
// 发布报警事件(可以替换成实际的报警处理逻辑)
|
|
- applicationEventPublisher.publishEvent(new SensorAlarmEvent(this, alarmMessage));
|
|
|
|
|
|
+ applicationEventPublisher.publishEvent(new SensorAlarmEvent(this, sensorAlarm));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|