From 87c2f1ec41e244dfdd4722884fcdf285a1fe9b41 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 24 三月 2025 14:41:25 +0800 Subject: [PATCH] 完成音视频协议接口对接 --- ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/DOWNPlaybackMsgStartup.java | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 47 insertions(+), 0 deletions(-) diff --git a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/DOWNPlaybackMsgStartup.java b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/DOWNPlaybackMsgStartup.java index 914d5ce..e37387d 100644 --- a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/DOWNPlaybackMsgStartup.java +++ b/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; + } } -- Gitblit v1.7.1