package com.ruoyi.dataInterchange.model;
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBufUtil;
|
import io.netty.buffer.Unpooled;
|
import lombok.Data;
|
|
import java.io.UnsupportedEncodingException;
|
|
/**
|
* 补报车辆静态信息请求
|
*
|
* @author zhibing.pu
|
* @Date 2025/3/3 17:24
|
*/
|
@Data
|
public class DOWNBaseMsgVehicleAdded {
|
/**
|
* 车牌号码
|
*/
|
@JsonProperty("VEHICLE_NO")
|
private String vehicleNo;
|
/**
|
* 车牌颜色
|
*/
|
@JsonProperty("VEHICLE_COLOR")
|
private int vehicleColor;
|
/**
|
* 子业务类型标识
|
*/
|
@JsonProperty("DATA_TYPE")
|
private int dataType;
|
/**
|
* 后续数据长度
|
*/
|
@JsonProperty("DATA_LENGTH")
|
private int dataLength;
|
|
|
/**
|
* 编码报文
|
*/
|
public byte[] encode() {
|
ByteBuf byteBuf = Unpooled.buffer(28);
|
byte[] bytes1 = new byte[0];
|
try {
|
bytes1 = this.getVehicleNo().getBytes("GBK");
|
} catch (UnsupportedEncodingException e) {
|
throw new RuntimeException(e);
|
}
|
for (int i = 0; i < 21; i++) {
|
if (i < bytes1.length) {
|
byteBuf.writeByte(bytes1[i]);
|
} else {
|
byteBuf.writeByte(0x00);
|
}
|
}
|
byteBuf.writeByte(this.getVehicleColor());
|
byteBuf.writeShort(this.getDataType());
|
byteBuf.writeInt(this.getDataLength());
|
byte[] bytes = ByteBufUtil.getBytes(byteBuf);
|
byteBuf.release();
|
return bytes;
|
}
|
}
|