package com.tievd.jyz.mqtt;
|
|
import com.tievd.jyz.cache.CameraFactoryCache;
|
import com.tievd.jyz.constants.SystemConstant;
|
import com.tievd.jyz.entity.Camera;
|
import com.tievd.jyz.entity.Device;
|
import com.tievd.jyz.entity.OilPosition;
|
import com.tievd.jyz.mqtt.dto.CameraDTO;
|
import com.tievd.jyz.mqtt.dto.InitConfigDTO;
|
import com.tievd.jyz.mqtt.dto.OilPositionDTO;
|
import com.tievd.jyz.mqtt.dto.RegisterDTO;
|
import com.tievd.jyz.util.BeanUtil;
|
import com.tievd.jyz.util.S3Util;
|
import org.apache.commons.lang3.StringUtils;
|
|
import java.sql.Timestamp;
|
import java.util.Date;
|
|
/**
|
* 传输数据对象转换器
|
* @author timi
|
*/
|
public class PojoDataConverter {
|
|
/**
|
* 网关状态转换
|
* @param deviceSN
|
* @param registerDTO
|
* @return
|
*/
|
public static Device deviceConvert(String deviceSN,RegisterDTO registerDTO){
|
Device device = new Device();
|
device.setDeviceIp(registerDTO.getIp());
|
device.setHeartTime(new Date());
|
device.setSn(deviceSN);
|
device.setStatus(SystemConstant.DEVICE_ONLINE);
|
device.setPort(Integer.parseInt(registerDTO.getPort()));
|
device.setDeviceVersion(registerDTO.getVersion());
|
return device;
|
}
|
|
/**
|
* 初始化配置转换
|
* @param s3Util
|
* @param heartbeatTime
|
* @return
|
*/
|
public static InitConfigDTO InitConfigConvert(S3Util s3Util,Integer heartbeatTime){
|
InitConfigDTO initConfigDTO = new InitConfigDTO();
|
initConfigDTO.setS3(s3Util.deviceServiceEndpoint,s3Util.accessKey,s3Util.secretKey,s3Util.bucketName);
|
initConfigDTO.setHeartbeat(String.valueOf(heartbeatTime));
|
return initConfigDTO;
|
}
|
|
/**
|
* 终端转换
|
* @param camera
|
* @return
|
*/
|
public static CameraDTO cameraDTOConvert(Camera camera){
|
CameraDTO cameraDTO = new CameraDTO();
|
BeanUtil.copyPropertiesIgnoreNull(camera,cameraDTO);
|
cameraDTO.setIp(camera.getIpAddress());
|
cameraDTO.setRtsp(camera.getStreamAddress());
|
cameraDTO.setUsername(camera.getUserName());
|
return cameraDTO;
|
}
|
|
/**
|
* 终端转换
|
* @param cameraDTO
|
* @return
|
*/
|
public static Camera cameraConvert(CameraDTO cameraDTO){
|
Camera camera = new Camera();
|
BeanUtil.copyPropertiesIgnoreNull(cameraDTO,camera);
|
camera.setIpAddress(cameraDTO.getIp());
|
camera.setStreamAddress(cameraDTO.getRtsp());
|
camera.setUserName(cameraDTO.getUsername());
|
try {
|
String factoryId = CameraFactoryCache.getFactoryId(cameraDTO.getFactory());
|
if(StringUtils.isNotEmpty(factoryId)){
|
camera.setFactory(Byte.valueOf(factoryId));
|
}
|
}catch (Exception ex){
|
ex.printStackTrace();
|
}
|
camera.setUpdateTime(new Date(Long.parseLong(cameraDTO.getUpdateTime())));
|
return camera;
|
}
|
|
/**
|
* 加油位数据转换
|
* @param oilPosition
|
* @return
|
*/
|
public static OilPositionDTO oilPositionDTOConvert(OilPosition oilPosition){
|
OilPositionDTO oilPositionDTO = new OilPositionDTO();
|
oilPositionDTO.setCode(oilPosition.getPositionCode());
|
oilPositionDTO.setName(oilPosition.getOilPosition());
|
oilPositionDTO.setUpdateTime(String.valueOf(oilPosition.getCreateTime().getTime()));
|
return oilPositionDTO;
|
}
|
|
/**
|
* 加油位数据转换
|
* @param oilPositionDTO
|
* @return
|
*/
|
public static OilPosition oilPositionConvert(OilPositionDTO oilPositionDTO){
|
OilPosition oilPosition = new OilPosition();
|
oilPosition.setPositionCode(oilPositionDTO.getCode());
|
oilPosition.setOilPosition(oilPositionDTO.getName());
|
oilPosition.setCreateTime(new Timestamp(Long.parseLong(oilPositionDTO.getUpdateTime())));
|
return oilPosition;
|
}
|
|
}
|