修改数据库保存覆盖问题

This commit is contained in:
fengyarnom 2025-05-20 12:18:02 +08:00
parent 872f1d21ec
commit b60181c147

View File

@ -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);