From a05b419384e148fc950c77553816a2d05144f4ae Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 19 六月 2025 19:36:22 +0800 Subject: [PATCH] 修改生产环境配置 --- ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPWarnMsgAdptInfo.java | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 154 insertions(+), 25 deletions(-) diff --git a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPWarnMsgAdptInfo.java b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPWarnMsgAdptInfo.java index 26fb63b..4a1a6f5 100644 --- a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPWarnMsgAdptInfo.java +++ b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPWarnMsgAdptInfo.java @@ -70,8 +70,70 @@ /** * 信息ID */ + @Field(type = FieldType.Text) + private String infoId; + /** + * 驾驶员姓名长度 + */ @Field(type = FieldType.Integer) - private int infoId; + private int driverLength; + /** + * 驾驶员姓名 + */ + @Field(type = FieldType.Text) + private String driver; + /** + * 驾驶员驾照号码长度 + */ + @Field(type = FieldType.Integer) + private int driverNoLength; + /** + * 驾驶员驾照号码 + */ + @Field(type = FieldType.Text) + private String driverNo; + /** + * 报警级别 0x001:一级报警,0x002: 二级报警 + */ + @Field(type = FieldType.Integer) + private int level; + /** + * 经度 + */ + @Field(type = FieldType.Integer) + private int longitude; + /** + * 纬度 + */ + @Field(type = FieldType.Integer) + private int latitude; + /** + * 海拔 + */ + @Field(type = FieldType.Integer) + private int altitude; + /** + * 行车速度 + */ + @Field(type = FieldType.Integer) + private int speed; + /** + * 行驶记录速度 + */ + @Field(type = FieldType.Integer) + private int vec2; + /** + * 报警状态 + * 1:报警开始 + * 2:报警结束 + */ + @Field(type = FieldType.Integer) + private int status; + /** + * 方向 + */ + @Field(type = FieldType.Integer) + private int direction; /** * 报警数据长度 */ @@ -96,34 +158,101 @@ */ @Field(type = FieldType.Long) private long pushTime; - + /** + * 抓拍图片 + */ + @Field(type = FieldType.Text) + private String picUrl; + /** * 解析报文 */ - public UPWarnMsgAdptInfo decode(WarnMsg warnMsg) { - byte[] data = warnMsg.getData(); - ByteBuf byteBuf = Unpooled.wrappedBuffer(data); - this.vehicleNo = warnMsg.getVehicleNo(); - this.vehicleColor = warnMsg.getVehicleColor(); - this.dataType = warnMsg.getDataType(); - this.dataLength = warnMsg.getDataLength(); - - //报警信息来源 - this.warnSrc = byteBuf.readByte(); - //报警类型 - this.warnType = byteBuf.readShort(); - byte[] readableBytes = new byte[8]; - byteBuf.readBytes(readableBytes); - String time = ByteArrayUtil.bytes2HexStr(readableBytes); - //报警时间 - this.warnTime = Long.parseLong(time, 16); - //信息ID - this.infoId = byteBuf.readInt(); - //报警数据长度 - this.infoLength = byteBuf.readInt(); - //上报报警信息内容 - this.infoContent = Jtt809Util.readGBKString(byteBuf, this.infoLength); + public UPWarnMsgAdptInfo decode1(WarnMsg warnMsg) { + try { + byte[] data = warnMsg.getData(); + ByteBuf byteBuf = Unpooled.wrappedBuffer(data); + this.vehicleNo = warnMsg.getVehicleNo(); + this.vehicleColor = warnMsg.getVehicleColor(); + this.dataType = warnMsg.getDataType(); + this.dataLength = warnMsg.getDataLength(); + + //报警信息来源 + this.warnSrc = byteBuf.readByte(); + //报警类型 + this.warnType = byteBuf.readShort(); + byte[] readableBytes = new byte[8]; + byteBuf.readBytes(readableBytes); + String time = ByteArrayUtil.bytes2HexStr(readableBytes); + //报警时间 + this.warnTime = Long.parseLong(time, 16); + //信息ID + this.infoId = Integer.valueOf(byteBuf.readInt()).toString(); + //报警数据长度 + this.infoLength = byteBuf.readInt(); + //上报报警信息内容 + this.infoContent = Jtt809Util.readGBKString(byteBuf, this.infoLength); + }catch (Exception e){ + e.printStackTrace(); + } + return this; + } + + /** + * 解析报文(川标) + */ + public UPWarnMsgAdptInfo decode2(WarnMsg warnMsg) { + try { + byte[] data = warnMsg.getData(); + ByteBuf byteBuf = Unpooled.wrappedBuffer(data); + this.vehicleNo = warnMsg.getVehicleNo(); + this.vehicleColor = warnMsg.getVehicleColor(); + this.dataType = warnMsg.getDataType(); + this.dataLength = warnMsg.getDataLength(); + + //报警信息来源 + this.warnSrc = byteBuf.readByte(); + //报警类型 + this.warnType = byteBuf.readShort(); + byte[] readableBytes = new byte[8]; + byteBuf.readBytes(readableBytes); + String time = ByteArrayUtil.bytes2HexStr(readableBytes); + //报警时间 + this.warnTime = Long.parseLong(time, 16); + //团标扩展 + //信息ID + this.infoId = Jtt809Util.readGBKString(byteBuf,32); + //驾驶员姓名长度 + this.driverLength = byteBuf.readByte(); + //驾驶员姓名 + this.driver = Jtt809Util.readGBKString(byteBuf,this.driverLength); + //驾驶员驾照号码长度 + this.driverNoLength = byteBuf.readByte(); + //驾驶员驾照号码 + this.driverNo = Jtt809Util.readGBKString(byteBuf,this.driverNoLength); + //报警级别 + this.level = byteBuf.readByte(); + //经度 + this.longitude = byteBuf.readInt(); + //纬度 + this.latitude = byteBuf.readInt(); + //海拔高度 + this.altitude = byteBuf.readShort(); + //行车速度 + this.speed = byteBuf.readShort(); + //行驶记录速度 + this.vec2 = byteBuf.readShort(); + //报警状态 + this.status = byteBuf.readByte(); + //方向 + this.direction = byteBuf.readShort(); + //报警数据长度 + this.infoLength = byteBuf.readShort(); + //报警信息内容 + this.infoContent = Jtt809Util.readGBKString(byteBuf,this.infoLength); + }catch (Exception e){ + e.printStackTrace(); + } return this; } } -- Gitblit v1.7.1