1078-添加通道信息

This commit is contained in:
648540858
2024-06-06 00:23:16 +08:00
parent 0de2bb54cd
commit 5c826ef449
41 changed files with 795 additions and 530 deletions

View File

@@ -53,10 +53,10 @@ public class Jt808Decoder extends ByteToMessageDecoder {
header.setVersion(buf.readUnsignedByte());
String devId = ByteBufUtil.hexDump(buf.readSlice(10));
header.setTerminalId(devId.replaceFirst("^0*", ""));
header.setTerminalPhoneNumber(devId.replaceFirst("^0*", ""));
} else {
header.setTerminalId(ByteBufUtil.hexDump(buf.readSlice(6)).replaceFirst("^0*", ""));
header.setTerminalPhoneNumber(ByteBufUtil.hexDump(buf.readSlice(6)).replaceFirst("^0*", ""));
}
header.setSn(buf.readUnsignedShort());
if (isSubpackage) {

View File

@@ -1,7 +1,6 @@
package com.genersoft.iot.vmp.jt1078.codec.decode;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufUtil;
import io.netty.buffer.Unpooled;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -25,7 +24,7 @@ public enum MultiPacketManager {
* 增加待合并的分包,如果分包接受完毕会返回完整的数据包
*/
public ByteBuf add(MultiPacket packet) {
String key = packet.getHeader().getMsgId() + "/" + packet.getHeader().getTerminalId();
String key = packet.getHeader().getMsgId() + "/" + packet.getHeader().getTerminalPhoneNumber();
logger.debug("分包消息: \n{}", packet);
List<MultiPacket> multiPackets = packetMap.computeIfAbsent(key, k -> new ArrayList<>(packet.getCount()));
multiPackets.add(packet);

View File

@@ -94,12 +94,12 @@ public class Jt808EncoderCmd extends MessageToByteEncoder<Cmd> {
byteBuf.writeByte(header.getVersion());
// 终端手机号
byteBuf.writeBytes(ByteBufUtil.decodeHexDump(Bin.strHexPaddingLeft(header.getTerminalId(), 20)));
byteBuf.writeBytes(ByteBufUtil.decodeHexDump(Bin.strHexPaddingLeft(header.getTerminalPhoneNumber(), 20)));
} else {
// 消息体属性
byteBuf.writeShort(encode.readableBytes());
byteBuf.writeBytes(ByteBufUtil.decodeHexDump(Bin.strHexPaddingLeft(header.getTerminalId(), 12)));
byteBuf.writeBytes(ByteBufUtil.decodeHexDump(Bin.strHexPaddingLeft(header.getTerminalPhoneNumber(), 12)));
}
// 消息体流水号