From 658c288f87b6dae235da3e8caf1d72b63e2cf279 Mon Sep 17 00:00:00 2001 From: lzh Date: Mon, 15 Dec 2025 13:08:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=9C=A8=20processPackageData=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E4=B8=AD=E6=B7=BB=E5=8A=A0=E4=BA=86=20Sessio?= =?UTF-8?q?n=20=E8=87=AA=E5=8A=A8=E7=BB=91=E5=AE=9A=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jt808/service/handler/TCPServerHandler.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/iot/transport/jt808/service/handler/TCPServerHandler.java b/src/main/java/com/iot/transport/jt808/service/handler/TCPServerHandler.java index 1a845fe..77bf85e 100644 --- a/src/main/java/com/iot/transport/jt808/service/handler/TCPServerHandler.java +++ b/src/main/java/com/iot/transport/jt808/service/handler/TCPServerHandler.java @@ -54,8 +54,22 @@ public class TCPServerHandler extends ChannelInboundHandlerAdapter { // (1) PackHead header = packageData.getPackHead(); Integer msgId = header.getId(); + String terminalPhone = header.getTerminalPhone(); - logger.info("消息头部:msgid={}, phone={}, flowid={}", msgId, header.getTerminalPhone(), header.getFlowId()); + logger.info("消息头部:msgid={}, phone={}, flowid={}", msgId, terminalPhone, header.getFlowId()); + + // Update Session with Phone Number if available + if (terminalPhone != null && !terminalPhone.isEmpty()) { + Session session = sessionManager.findBySessionId(Session.buildId(packageData.getChannel())); + if (session != null) { + // Check if phone mapping needs update + if (!terminalPhone.equals(session.getTerminalPhone())) { + session.setTerminalPhone(terminalPhone); + sessionManager.put(session.getId(), session); + logger.info("Bound phone {} to session {}", terminalPhone, session.getId()); + } + } + } // Broadcast to UI if (apiLogService != null) {