Pu Zhibing
2025-03-07 297512bc22b179b7038d96a1ff033eceaed38c4b
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgRealLocation.java
@@ -1,38 +1,60 @@
package com.ruoyi.dataInterchange.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.dataInterchange.pojo.BaseModel;
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:53
 */
@Data
public class UPExgMsgRealLocation {
@Document(indexName = "up_exg_msg_real_location")
public class UPExgMsgRealLocation extends BaseModel {
   /**
    * 车牌号
    */
   @JsonProperty("VEHICLE_NO")
   @Field(type = FieldType.Text)
   private String vehicleNo;
   /**
    * 车牌颜色
    */
   @JsonProperty("VEHICLE_COLOR")
   private String vehicleColor;
   @Field(type = FieldType.Integer)
   private int vehicleColor;
   /**
    * 子业务类型标识
    */
   @JsonProperty("DATA_TYPE")
   private String dataType;
   @Field(type = FieldType.Integer)
   private int dataType;
   /**
    * 后续数据长度
    */
   @JsonProperty("DATA_LENGTH")
   private Integer dataLength;
   @Field(type = FieldType.Integer)
   private int dataLength;
   /**
    * 车辆定位信息
    * 定位数据
    */
   @JsonProperty("GNSS_DATA")
   @Field(type = FieldType.Object)
   private GnssData gnssData;
   /**
    * 解析报文
    */
   public UPExgMsgRealLocation 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.gnssData = new GnssData().decode(byteBuf);
      return this;
   }
}