| | |
| | | |
| | | 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.A5AtmosphereNewHeartbeatReportInnerFrame; |
| | | 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.service.AirDataNongGengService; |
| | | import com.sandu.ximon.admin.service.AirDataService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | |
| | | |
| | | @Override |
| | | public void process(String productKey, String deviceName, CommonFrame frame) { |
| | | /** |
| | | * connectType用于判断主动上报的数据是属于旧大气设备还是农耕大气设备 |
| | | * 农耕心跳包主动上报系统地址(MQTT请求方式):01 功能码:03 |
| | | */ |
| | | String connectType = frame.getPayload().substring(0, 2); |
| | | String functionCode = frame.getPayload().substring(2, 4); |
| | | if (A5AtmosphereReportEnum.HeartBeat_Data.getCode().equals(functionCode)) { |
| | | log.info("心跳相应——大气数据"); |
| | | A5AtmosphereHeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5AtmosphereHeartbeatReportInnerFrame().transformFrame(frame.getPayload()); |
| | | log.info(heartbeatReportInnerFrame.toString()); |
| | | if (heartbeatReportInnerFrame != null) { |
| | | log.info(heartbeatReportInnerFrame.toString()); |
| | | SpringContextHolder.getBean(AirDataService.class).saveReportData(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage()); |
| | | } |
| | | } else if (A5AtmosphereReportEnum.HeartBeat_Data_Nong_Geng.getCode().equals(functionCode) && "01".equals(connectType)) { |
| | | log.info("心跳相应——大气数据(农耕)"); |
| | | A5AtmosphereNewHeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5AtmosphereNewHeartbeatReportInnerFrame().transformFrame(frame.getPayload()); |
| | | if (heartbeatReportInnerFrame != null && heartbeatReportInnerFrame.isValidate()) { |
| | | log.info(heartbeatReportInnerFrame.toString()); |
| | | SpringContextHolder.getBean(AirDataNongGengService.class).saveReportData(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage()); |
| | | } else { |
| | | System.out.println("数据校验异常!"); |
| | | } |
| | | |
| | | SpringContextHolder.getBean(AirDataService.class).saveReportData(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage()); |
| | | |
| | | // SpringContextHolder.getBean(LightService.class).saveLight(deviceName,heartbeatReportInnerFrame.getHeartBeatDataPackage()); |
| | | |
| | | } |
| | | } |