diff --git a/src/main/java/com/hua/transport/jt808/service/handler/TCPServerHandler.java b/src/main/java/com/hua/transport/jt808/service/handler/TCPServerHandler.java index 3d4ca54..c5616c0 100644 --- a/src/main/java/com/hua/transport/jt808/service/handler/TCPServerHandler.java +++ b/src/main/java/com/hua/transport/jt808/service/handler/TCPServerHandler.java @@ -20,6 +20,9 @@ import com.hua.transport.jt808.service.ApiLogService; import java.util.HashMap; import java.util.Map; +import com.hua.transport.jt808.common.Consts; +import com.hua.transport.jt808.entity.request.LocationPack; + public class TCPServerHandler extends ChannelInboundHandlerAdapter { // (1) private final Logger logger = LoggerFactory.getLogger(getClass()); @@ -58,8 +61,19 @@ public class TCPServerHandler extends ChannelInboundHandlerAdapter { // (1) logMap.put("phone", header.getTerminalPhone()); logMap.put("flowId", header.getFlowId()); logMap.put("summary", "TCP Message Received"); - // Add raw object if needed, or string representation - logMap.put("details", packageData.toString()); + + // Special handling for Location Upload (0x0200) to show parsed details including Bluetooth + if (msgId == Consts.MSGID_LOCATION_UPLOAD) { + try { + LocationPack locPack = this.decoder.toLocationInfoUploadMsg(packageData); + logMap.put("details", locPack.toString()); + } catch (Exception e) { + logMap.put("details", packageData.toString() + " (Parse Error: " + e.getMessage() + ")"); + } + } else { + logMap.put("details", packageData.toString()); + } + apiLogService.broadcastLog("TCP", logMap); }