package com.sandu.ximon.admin.manager.iot.frame.inner.request; import com.sandu.ximon.admin.manager.iot.frame.inner.IRequestInnerFrame; import com.sandu.ximon.admin.manager.iot.rrpc.enums.AtmoFunctionCode; import com.sandu.ximon.admin.manager.iot.rrpc.enums.MQTTConnectTypeEnum; import com.sandu.ximon.admin.manager.iot.rrpc.util.CRC32Utils; /** * 大气设备修正数据 * * @author ZZQ * @date 2022/7/29 10:32 */ public class AtmosphereModifiedDataReqInnerFrame implements IRequestInnerFrame { //TODO private String functionCode; public AtmosphereModifiedDataReqInnerFrame(String functionType, Double valueOfReal, Double valueOfStandard) { switch (functionType) { //设置数据修正值-温度 case "温度": functionCode = AtmoFunctionCode.Setting_Data_Correction_temperature.getCode(); break; //设置数据修正值-湿度 case "湿度": functionCode = AtmoFunctionCode.Setting_Data_Correction_humidity.getCode(); break; //设置数据修正值-风速 case "风速": functionCode = AtmoFunctionCode.Setting_Data_Correction_windSpeed.getCode(); break; //设置数据修正值-风向 case "风向": functionCode = AtmoFunctionCode.Setting_Data_Correction_windDirection.getCode(); break; //设置数据修正值-气压 case "气压": functionCode = AtmoFunctionCode.Setting_Data_Correction_airPressure.getCode(); break; //设置数据修正值-光强 case "光强": functionCode = AtmoFunctionCode.Setting_Data_Correction_lightIntensity.getCode(); break; //设置数据修正值-噪音 case "噪音": functionCode = AtmoFunctionCode.Setting_Data_Correction_noise.getCode(); break; //设置数据修正值-PM2.5 case "PM2.5": functionCode = AtmoFunctionCode.Setting_Data_Correction_PM2_5.getCode(); break; //设置数据修正值-PM10 case "PM10": functionCode = AtmoFunctionCode.Setting_Data_Correction_PM10.getCode(); break; //设置数据修正值-雨量 case "雨量": functionCode = AtmoFunctionCode.Setting_Data_Correction_rainfall.getCode(); break; //设置数据修正值-SO2二氧化硫 case "二氧化硫": functionCode = AtmoFunctionCode.Setting_Data_Correction_SO2.getCode(); break; //设置数据修正值-NO2二氧化氮 case "二氧化氮": functionCode = AtmoFunctionCode.Setting_Data_Correction_NO2.getCode(); break; //设置数据修正值-CO一氧化碳 case "一氧化碳": functionCode = AtmoFunctionCode.Setting_Data_Correction_CO.getCode(); break; //设置数据修正值-O3臭氧 case "臭氧": functionCode = AtmoFunctionCode.Setting_Data_Correction_O3.getCode(); break; //设置数据修正值-F氟化物 case "氟化物": functionCode = AtmoFunctionCode.Setting_Data_Correction_F.getCode(); break; default: } } @Override public String getEncodeFrame() { String payloadLength = "0004"; String payload = "FFFF"; String frame = functionCode + payloadLength + payload; return MQTTConnectTypeEnum.SYNCHRONIZATION.getCode() + frame.toUpperCase() + CRC32Utils.getCRC32(frame.toUpperCase()); } }