package com.sandu.ximon.admin.manager.iot.amqp.processor;
|
|
import com.sandu.common.util.SpringContextHolder;
|
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereHeartbeatReportInnerFrame;
|
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5LightPoleHeelingHeartbeatReportInnerFrame;
|
import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
|
import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5AtmosphereReportEnum;
|
import com.sandu.ximon.admin.manager.iot.rrpc.enums.LightPoleHeelingEnum;
|
import com.sandu.ximon.admin.service.AirDataService;
|
import com.sandu.ximon.admin.service.LightPoleHeelingService;
|
import lombok.extern.slf4j.Slf4j;
|
|
/**
|
* @author ZZQ
|
* @date 2022/3/24 9:45
|
*/
|
@Slf4j
|
public class PoleMonitorDataProcessor implements IMessageProcessor {
|
public PoleMonitorDataProcessor() {
|
|
}
|
|
public static PoleMonitorDataProcessor getInstance() {
|
return PoleMonitorDataProcessorHolder.INSTANCE;
|
}
|
|
private static class PoleMonitorDataProcessorHolder {
|
|
private static final PoleMonitorDataProcessor INSTANCE = new PoleMonitorDataProcessor();
|
}
|
|
@Override
|
public void process(String productKey, String deviceName, CommonFrame frame) {
|
String functionCode = frame.getPayload().substring(2, 4);
|
if (LightPoleHeelingEnum.TheHeartbeatPackage.getCode().equals(functionCode)) {
|
log.info("心跳相应——灯杆倾斜");
|
A5LightPoleHeelingHeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5LightPoleHeelingHeartbeatReportInnerFrame().transformFrame(frame.getPayload());
|
log.info(heartbeatReportInnerFrame.toString());
|
|
SpringContextHolder.getBean(LightPoleHeelingService.class).saveLightPoleHeelingHeartbeat(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage());
|
|
// SpringContextHolder.getBean(LightService.class).saveLight(deviceName,heartbeatReportInnerFrame.getHeartBeatDataPackage());
|
|
}
|
}
|
}
|