From 4e9c4113657ec709e8376d37ea2b1f3e291c9d67 Mon Sep 17 00:00:00 2001 From: weidong Date: Tue, 30 Jul 2024 17:49:49 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E5=9F=BA=E7=AB=99?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=8E=E5=90=8C=E6=AD=A5=E4=B8=8D=E5=88=B0?= =?UTF-8?q?rtcm=E7=BC=93=E5=AD=98=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/imdroid/secapi/client/RtcmClient.java | 2 +- .../imdroid/sideslope/executor/D331RtcmMessageExecutor.java | 2 +- .../com/imdroid/sideslope/sal/LocalDeviceServiceImpl.java | 5 ++++- .../main/java/com/imdroid/sideslope/web/ApiController.java | 4 ++-- .../com/imdroid/beidou/controller/GnssDeviceController.java | 5 +++-- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/sec-api/src/main/java/com/imdroid/secapi/client/RtcmClient.java b/sec-api/src/main/java/com/imdroid/secapi/client/RtcmClient.java index 04152067..7212ee59 100644 --- a/sec-api/src/main/java/com/imdroid/secapi/client/RtcmClient.java +++ b/sec-api/src/main/java/com/imdroid/secapi/client/RtcmClient.java @@ -10,7 +10,7 @@ public interface RtcmClient { HttpResp config(@RequestParam(name = "deviceId") String deviceId, @RequestParam(name = "configuration") String configData); @PostMapping("/device_param_changed") - HttpResp deviceParamChanged(@RequestParam(name = "deviceId") String deviceId); + HttpResp deviceParamChanged(@RequestParam(name = "deviceId") String deviceId,@RequestParam(name = "oldParentId") String oldParentId); @PostMapping("/group_param_changed") HttpResp groupParamChanged(); diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D331RtcmMessageExecutor.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D331RtcmMessageExecutor.java index 9268fee8..b9003706 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D331RtcmMessageExecutor.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D331RtcmMessageExecutor.java @@ -48,7 +48,7 @@ public class D331RtcmMessageExecutor implements Executor byte[] forwardBytes = message.getSrcData(); // 要求快速转发,因此用缓存,不要每次都查数据库 List deviceList = deviceService.findByParentId(id); - logger.debug("base station {} has {} rovers: ", message.getId(),deviceList.size()); + //logger.debug("base station {} has {} rovers: ", message.getId(),deviceList.size()); for (Device device : deviceList) { if (device.getOpMode() != GnssDevice.OP_MODE_USE) continue; String deviceId = device.getDeviceId(); diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/LocalDeviceServiceImpl.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/LocalDeviceServiceImpl.java index 88dd42de..43693fb0 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/LocalDeviceServiceImpl.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/LocalDeviceServiceImpl.java @@ -57,11 +57,14 @@ public class LocalDeviceServiceImpl implements DeviceService { return device; } - public void refresh(String deviceId){ + public void refresh(String deviceId, String oldParentId){ Device device = deviceCache.getIfPresent(deviceId); if (device != null) { if(device.getParentId()!=null) { subDeviceCache.invalidate(device.getParentId()); + if(oldParentId!=null && !oldParentId.equals(device.getParentId())){ + subDeviceCache.invalidate(oldParentId); + } } deviceCache.invalidate(deviceId); } diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/web/ApiController.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/web/ApiController.java index 637b8008..544bbc0b 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/web/ApiController.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/web/ApiController.java @@ -71,9 +71,9 @@ public class ApiController { } @PostMapping("/device_param_changed") - public HttpResp deviceParamChanged(String deviceId) { + public HttpResp deviceParamChanged(String deviceId, String oldParentId) { // 更新设备缓存 - localDeviceService.refresh(deviceId); + localDeviceService.refresh(deviceId, oldParentId); calcService.refreshDeviceCalc(deviceId); HttpResp resp = new HttpResp(); diff --git a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java index ef713be8..602902f8 100644 --- a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java +++ b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java @@ -200,7 +200,8 @@ public class GnssDeviceController extends BasicController{ } else { // 更新组参数的关联个数 updateBasicGroupAssociatedNum(device,old_device); - rtcmClient.deviceParamChanged(device.getDeviceid()); + rtcmClient.deviceParamChanged(device.getDeviceid(), + old_device==null?null:old_device.getParentid()); return HttpResult.ok(); } } @@ -293,7 +294,7 @@ public class GnssDeviceController extends BasicController{ if (num == 0) { return HttpResult.failed(); } else{ - rtcmClient.deviceParamChanged(del_id); + rtcmClient.deviceParamChanged(del_id, null); return HttpResult.ok(); } }