From 3125dc946e3a97e48a73ca717a50acd5438f89d6 Mon Sep 17 00:00:00 2001 From: fengyarnom Date: Mon, 19 May 2025 17:20:20 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E8=A7=A3=E6=9E=90=E8=AE=BE?= =?UTF-8?q?=E5=A4=87ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/rtklib/TcpRtkServer.java | 29 +++++++++++++++++++ .../main/java/com/rtklib/entity/RtkData.java | 3 ++ 2 files changed, 32 insertions(+) diff --git a/ntrip_load-main/src/main/java/com/rtklib/TcpRtkServer.java b/ntrip_load-main/src/main/java/com/rtklib/TcpRtkServer.java index 5b8d6ee..4f0d3ce 100644 --- a/ntrip_load-main/src/main/java/com/rtklib/TcpRtkServer.java +++ b/ntrip_load-main/src/main/java/com/rtklib/TcpRtkServer.java @@ -97,6 +97,13 @@ public class TcpRtkServer implements CommandLineRunner { rtkData.setLatitude(Double.parseDouble(parts[4])); rtkData.setLongitude(Double.parseDouble(parts[5])); rtkData.setHeight(Double.parseDouble(parts[6])); + + // 获取设备ID (最后一个字段) + if (parts.length > 10) { + rtkData.setDeviceId(parts[parts.length - 1]); + logger.debug("设置设备ID: {}", parts[parts.length - 1]); + } + latestData.set(rtkData); logger.debug("Parsed $POS data: {}", rtkData); } catch (Exception e) { @@ -110,6 +117,13 @@ public class TcpRtkServer implements CommandLineRunner { if (rtkData != null) { String[] parts = message.split(","); rtkData.setZtd(Double.parseDouble(parts[5])); + + // 获取设备ID (最后一个字段) + if (parts.length > 6) { + rtkData.setDeviceId(parts[parts.length - 1]); + logger.debug("设置设备ID: {}", parts[parts.length - 1]); + } + latestData.set(rtkData); logger.debug("Updated $TROP data: ZTD={}", parts[5]); } @@ -134,6 +148,13 @@ public class TcpRtkServer implements CommandLineRunner { rtkData.setZtdGradientNorth(north); rtkData.setZtdGradientEast(east); + + // 获取设备ID (最后一个字段) + if (parts.length > 7) { + rtkData.setDeviceId(parts[parts.length - 1]); + logger.debug("设置设备ID: {}", parts[parts.length - 1]); + } + latestData.set(rtkData); logger.info("成功解析$TRPG数据: North={}, East={}", north, east); } catch (NumberFormatException e) { @@ -169,6 +190,14 @@ public class TcpRtkServer implements CommandLineRunner { RtkData rtkData = latestData.get(); if (rtkData != null) { rtkData.setSatelliteInfo(message); + + // 获取设备ID (最后一个字段) + String[] parts = message.split(","); + if (parts.length > 1) { + rtkData.setDeviceId(parts[parts.length - 1]); + logger.debug("设置设备ID: {}", parts[parts.length - 1]); + } + latestData.set(rtkData); logger.debug("Updated $SATE data"); } diff --git a/ntrip_load-main/src/main/java/com/rtklib/entity/RtkData.java b/ntrip_load-main/src/main/java/com/rtklib/entity/RtkData.java index 48601ab..ee8c1fe 100644 --- a/ntrip_load-main/src/main/java/com/rtklib/entity/RtkData.java +++ b/ntrip_load-main/src/main/java/com/rtklib/entity/RtkData.java @@ -45,6 +45,9 @@ public class RtkData { @Column(name = "pwv") private Double pwv; + @Column(name = "device_id") + private String deviceId; + @Transient // 不存入数据库的临时字段 private Double surfacePressure;