Pu Zhibing
2025-03-24 87c2f1ec41e244dfdd4722884fcdf285a1fe9b41
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/DOWNPlaybackMsgStartup.java
@@ -1,5 +1,8 @@
package com.ruoyi.dataInterchange.model;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufUtil;
import io.netty.buffer.Unpooled;
import lombok.Data;
/**
@@ -67,4 +70,48 @@
    * 车辆进入跨域地区后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;
   }
}