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<DeviceAttrInfo> 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);
|
}
|
}
|
}
|