Pu Zhibing
2025-04-07 4109495b9c51a4bbd8b0a7c3c69093909d2e33e1
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPWarnMsgAdptInfo.java
@@ -1,7 +1,7 @@
package com.ruoyi.dataInterchange.model;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.dataInterchange.pojo.BaseModel;
import com.ruoyi.dataInterchange.util.jtt809.common.ByteArrayUtil;
import com.ruoyi.dataInterchange.util.jtt809.common.Jtt809Util;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
@@ -9,8 +9,6 @@
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import java.text.ParseException;
/**
 * 上报报警信息
@@ -52,6 +50,15 @@
   private int warnSrc;
   /**
    * 报警类型
    * 0x0001: 超速报警
    * 0x0002: 疲劳驾驶报警
    * 0x0003: 紧急报警
    * 0x0004: 进入指定区域报警
    * 0x0005: 离开指定区域报警
    * 0x0006: 路段堵塞报警
    * 0x0007: 危险路段报警
    * 0x0008: 越界报警
    * 0x0009: 盗警
    */
   @Field(type = FieldType.Integer)
   private int warnType;
@@ -76,6 +83,21 @@
   @Field(type = FieldType.Text)
   private String infoContent;
   /**
    * 速度
    */
   @Field(type = FieldType.Integer)
   private Integer speed;
   /**
    * 经度
    */
   @Field(type = FieldType.Integer)
   private Integer longitude;
   /**
    * 纬度
    */
   @Field(type = FieldType.Integer)
   private Integer latitude;
   /**
    * 报警处理结果
    * 0x00:处理中
    * 0x01:已处理完毕
@@ -84,6 +106,11 @@
    */
   @Field(type = FieldType.Integer)
   private int result;
   /**
    * 报警督办发起时间
    */
   @Field(type = FieldType.Long)
   private long pushTime;
   
   
   /**
@@ -101,16 +128,11 @@
      this.warnSrc = byteBuf.readByte();
      //报警类型
      this.warnType = byteBuf.readShort();
      String date = byteBuf.readByte() + "-" + byteBuf.readByte() + "-" + byteBuf.readShort() + " " +
            byteBuf.readByte() + ":" + byteBuf.readByte() + ":" + byteBuf.readByte();
      long time = 0;
      try {
         time = DateUtils.parseDate(date, "dd-MM-yyyy HH:mm:ss").getTime();
      } catch (ParseException e) {
         e.printStackTrace();
      }
      byte[] readableBytes = new byte[8];
      byteBuf.readBytes(readableBytes);
      String time = ByteArrayUtil.bytes2HexStr(readableBytes);
      //报警时间
      this.warnTime = time;
      this.warnTime = Long.parseLong(time, 16);
      //信息ID
      this.infoId = byteBuf.readInt();
      //报警数据长度