package com.ruoyi.dataInterchange.model;
|
|
import com.ruoyi.dataInterchange.pojo.BaseModel;
|
import com.ruoyi.dataInterchange.util.jtt809.common.Jtt809Util;
|
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.Unpooled;
|
import lombok.Data;
|
import org.springframework.data.elasticsearch.annotations.Document;
|
import org.springframework.data.elasticsearch.annotations.Field;
|
import org.springframework.data.elasticsearch.annotations.FieldType;
|
|
/**
|
* 上传车辆注册信息
|
*
|
* @author zhibing.pu
|
* @Date 2025/2/24 11:47
|
*/
|
@Data
|
@Document(indexName = "up_exg_msg_register")
|
public class UPExgMsgRegister extends BaseModel {
|
/**
|
* 车牌号
|
*/
|
@Field(type = FieldType.Text)
|
private String vehicleNo;
|
/**
|
* 车牌颜色
|
*/
|
@Field(type = FieldType.Integer)
|
private int vehicleColor;
|
/**
|
* 子业务类型标识
|
*/
|
@Field(type = FieldType.Integer)
|
private int dataType;
|
/**
|
* 后续数据长度
|
*/
|
@Field(type = FieldType.Integer)
|
private Integer dataLength;
|
/**
|
* 平台唯一编号,由平台所在地行政区划代码和平台编号组成
|
*/
|
@Field(type = FieldType.Text)
|
private String platformId;
|
/**
|
* 车载终端厂商唯一编码,由车载终端厂商所在地行政区划代码和厂商ID组成
|
*/
|
@Field(type = FieldType.Text)
|
private String producerId;
|
/**
|
* 车载终端型号
|
*/
|
@Field(type = FieldType.Text)
|
private String terminalModelType;
|
/**
|
* 车载终端编号
|
*/
|
@Field(type = FieldType.Text)
|
private String terminalId;
|
/**
|
* 车载终端SIM卡电话号码
|
*/
|
@Field(type = FieldType.Text)
|
private String terminalSIMCode;
|
|
|
/**
|
* 解析报文
|
*/
|
public UPExgMsgRegister decode(UPExgMsg exgMsg) {
|
byte[] data = exgMsg.getData();
|
ByteBuf byteBuf = Unpooled.wrappedBuffer(data);
|
this.vehicleNo = exgMsg.getVehicleNo();
|
this.vehicleColor = exgMsg.getVehicleColor();
|
this.dataType = exgMsg.getDataType();
|
this.dataLength = exgMsg.getDataLength();
|
|
//平台唯一编码
|
this.platformId = Jtt809Util.readGBKString(byteBuf, 11);
|
//车载终端厂商唯一编码
|
this.producerId = Jtt809Util.readGBKString(byteBuf, 11);
|
//车载终端型号
|
this.terminalModelType = Jtt809Util.readGBKString(byteBuf, 8);
|
//车载终端编号
|
this.terminalId = Jtt809Util.readGBKString(byteBuf, 7);
|
//车载终端SIM卡电话号码
|
this.terminalSIMCode = Jtt809Util.readGBKString(byteBuf, 12);
|
return this;
|
}
|
}
|