| | |
| | | package com.ruoyi.dataInterchange.model; |
| | | |
| | | import io.netty.buffer.ByteBuf; |
| | | import io.netty.buffer.ByteBufUtil; |
| | | import io.netty.buffer.Unpooled; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | |
| | | * 车辆进入跨域地区后5min之内的任一位置 |
| | | */ |
| | | private String gnssData; |
| | | |
| | | |
| | | /** |
| | | * 编码回复报文 |
| | | */ |
| | | public byte[] encode() { |
| | | ByteBuf byteBuf = Unpooled.buffer(148); |
| | | byte[] bytes1 = this.getVehicleNo().getBytes(); |
| | | 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()); |
| | | byteBuf.writeChar(this.getChannelId()); |
| | | byteBuf.writeChar(this.getAvttemType()); |
| | | byteBuf.writeChar(this.getStreamType()); |
| | | byteBuf.writeChar(this.getMemType()); |
| | | byteBuf.writeLong(this.getPlaybackStartTime()); |
| | | byteBuf.writeLong(this.getPlaybackEndTime()); |
| | | byte[] bytes2 = this.getAuthorizeCode().getBytes(); |
| | | for (int i = 0; i < 64; i++) { |
| | | if (i < bytes2.length) { |
| | | byteBuf.writeByte(bytes2[i]); |
| | | } else { |
| | | byteBuf.writeByte(0x00); |
| | | } |
| | | } |
| | | byte[] bytes3 = this.getGnssData().getBytes(); |
| | | for (int i = 0; i < 36; i++) { |
| | | if (i < bytes3.length) { |
| | | byteBuf.writeByte(bytes3[i]); |
| | | } else { |
| | | byteBuf.writeByte(0x00); |
| | | } |
| | | } |
| | | byte[] bytes = ByteBufUtil.getBytes(byteBuf); |
| | | byteBuf.release(); |
| | | return bytes; |
| | | } |
| | | } |