package com.ld.igds.protocol.iot.height.analysis; import com.ld.igds.constant.RedisConst; import com.ld.igds.grain.dto.GrainData; import com.ld.igds.models.DeviceIot; import com.ld.igds.models.DeviceSer; import com.ld.igds.protocol.iot.height.analysis.message.DeviceAttr; import com.ld.igds.protocol.iot.height.analysis.message.DeviceAttrInfo; import com.ld.igds.util.RedisUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.Date; import java.util.List; /** * 协议解析入口 * * @author vince */ @Slf4j @Component(AnalysisHeightService.BEAN_ID) public class AnalysisHeightService { public static final String BEAN_ID = "iot.analysisHeightService"; @Autowired private RedisUtil redisUtil; /** * @param deviceAttr * @param ser */ public void analysis(DeviceAttr deviceAttr , DeviceSer ser ,DeviceIot deviceIot) { try{ List deviceAttrInfos = deviceAttr.getTerminalAttrInfoList(); String herght =(deviceAttrInfos.get(2).getValue()); GrainData data = new GrainData(); data.setOilHeight(herght); data.setReceiveDate(new Date()); data.setDepotId(deviceIot.getDepotId()); data.setCompanyId(ser.getCompanyId()); redisUtil.set(RedisConst.buildKey(ser.getCompanyId(),RedisConst.KEY_DEPOT_HEIGHT,deviceIot.getDepotId()),data); log.info("高度解析完成:" + data.toString()); }catch (Exception e){ log.error(e.getMessage(),e); } } }