| | |
| | | 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.A5C3CommonReportInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3HeartbeatReportInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3OperationReportInnerFrame; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.enums.C3ChargingEnum; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.enums.C3ChargingReportEnum; |
| | | import com.sandu.ximon.admin.service.C3ChargingService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | |
| | | @Override |
| | | public void process(String productKey, String deviceName, CommonFrame frame) { |
| | | String functionCode = frame.getPayload().substring(2, 4); |
| | | if (C3ChargingReportEnum.HeartBeat_Data.getCode().equals(functionCode)) { |
| | | if (C3ChargingEnum.HEART_BEAT.getCode().equals(functionCode)) { |
| | | log.info("心跳相应——C3充电桩数据" + productKey + " ------- " + deviceName); |
| | | A5C3HeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5C3HeartbeatReportInnerFrame().transformFrame(frame.getPayload()); |
| | | log.info("C3充电桩上报处理_heartbeatReportInnerFrame"); |
| | | log.info(heartbeatReportInnerFrame.toString()); |
| | | |
| | | if (heartbeatReportInnerFrame.isValidate()) { |
| | | SpringContextHolder.getBean(C3ChargingService.class).saveReportData(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage()); |
| | | SpringContextHolder.getBean(C3ChargingService.class).updateReportState(deviceName |
| | | , heartbeatReportInnerFrame.getHeartBeatDataPackage().getC3Mac() |
| | | , heartbeatReportInnerFrame.getHeartBeatDataPackage().getStatusBit() |
| | | , heartbeatReportInnerFrame.getHeartBeatDataPackage().getDeviceTemperature()); |
| | | } |
| | | } else if (C3ChargingEnum.StartCharging.getCode().equals(functionCode)) { |
| | | log.info("心跳响应——C3充电桩开始充电"); |
| | |
| | | // if (operationReportInnerFrame.isValidate()) { |
| | | // SpringContextHolder.getBean(C3ChargingService.class).saveReportData(deviceName, operationReportInnerFrame.getHeartBeatDataPackage()); |
| | | // } |
| | | } else if (C3ChargingEnum.NETWORK_REQUEST.getCode().equals(functionCode)) { |
| | | A5C3CommonReportInnerFrame netRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload()); |
| | | log.info("C3充电桩上报处理_netRequestFrame"); |
| | | log.info(netRequestFrame.toString()); |
| | | |
| | | if (netRequestFrame.isValidate()) { |
| | | boolean b = SpringContextHolder.getBean(C3ChargingService.class).saveReporEquipment(deviceName, netRequestFrame.getMcuUdid(), netRequestFrame.getDestinationAddress()); |
| | | if(!b){ |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |