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 318aa35..6d779e0 100644 --- a/ntrip_load-main/src/main/java/com/rtklib/TcpRtkServer.java +++ b/ntrip_load-main/src/main/java/com/rtklib/TcpRtkServer.java @@ -288,12 +288,27 @@ public class TcpRtkServer implements CommandLineRunner { // 检查是否需要保存(距离上次保存超过10分钟) if (lastSaveTime == null || - ChronoUnit.MINUTES.between(lastSaveTime, now) >= 1) { + ChronoUnit.MINUTES.between(lastSaveTime, now) >= 10) { - rtkDataRepository.save(currentData); + // 创建新的RtkData对象,复制所有属性 + RtkData newData = new RtkData(); + newData.setTimestamp(currentData.getTimestamp()); + newData.setWeek(currentData.getWeek()); + newData.setTimeOfWeek(currentData.getTimeOfWeek()); + newData.setLatitude(currentData.getLatitude()); + newData.setLongitude(currentData.getLongitude()); + newData.setHeight(currentData.getHeight()); + newData.setZtd(currentData.getZtd()); + newData.setZtdGradientNorth(currentData.getZtdGradientNorth()); + newData.setZtdGradientEast(currentData.getZtdGradientEast()); + newData.setSatelliteInfo(currentData.getSatelliteInfo()); + newData.setPwv(currentData.getPwv()); + newData.setDeviceId(currentData.getDeviceId()); + + rtkDataRepository.save(newData); lastSaveTime = now; logger.info("成功保存RTK数据: 时间={}, ZTD={}, PWV={}", - currentData.getTimestamp(), currentData.getZtd(), currentData.getPwv()); + newData.getTimestamp(), newData.getZtd(), newData.getPwv()); } } catch (Exception e) { logger.error("保存数据过程中发生错误: {}", e.getMessage(), e);