From 046d73ebaf9c69f735d12255b7c3cdf991b19d36 Mon Sep 17 00:00:00 2001 From: weidong Date: Sat, 30 Dec 2023 18:26:10 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=A2=9E=E5=8A=A0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=9A=84=E4=BD=BF=E7=94=A8=E7=8A=B6=E6=80=81=E5=88=A4=E6=96=AD?= =?UTF-8?q?=EF=BC=8C=E5=A6=82=E6=9E=9C=E4=B8=8D=E6=98=AF=E6=AD=A3=E5=B8=B8?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=EF=BC=8C=E5=B0=B1=E4=B8=8D=E5=A4=84=E7=90=86?= =?UTF-8?q?=E8=BF=99=E5=8F=B0=E8=AE=BE=E5=A4=87=E7=9A=84d331=EF=BC=8C?= =?UTF-8?q?=E4=B9=9F=E4=B8=8D=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sec-api/src/main/java/com/imdroid/secapi/dto/GnssDevice.java | 4 ++++ .../imdroid/sideslope/executor/D331RtcmMessageExecutor.java | 4 +++- .../java/com/imdroid/sideslope/sal/DbDeviceServiceImpl.java | 2 ++ .../src/main/java/com/imdroid/sideslope/sal/Device.java | 1 + 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/sec-api/src/main/java/com/imdroid/secapi/dto/GnssDevice.java b/sec-api/src/main/java/com/imdroid/secapi/dto/GnssDevice.java index 33301bfa..d127d578 100644 --- a/sec-api/src/main/java/com/imdroid/secapi/dto/GnssDevice.java +++ b/sec-api/src/main/java/com/imdroid/secapi/dto/GnssDevice.java @@ -18,6 +18,10 @@ public class GnssDevice { public static final short TYPE_ROVER = 0; public static final short TYPE_REFERENCE_STATION = 1; + public static final short OP_MODE_USE = 0; + public static final short OP_MODE_CHECK = 1; + public static final short OP_MODE_UNUSE = 2; + @TableId(value = "id", type = IdType.AUTO) private Long id; private Integer tenantid; 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 1c201174..84b68235 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 @@ -1,5 +1,6 @@ package com.imdroid.sideslope.executor; +import com.imdroid.secapi.dto.GnssDevice; import com.imdroid.sideslope.message.D331RtcmMessage; import com.imdroid.sideslope.sal.Device; import com.imdroid.sideslope.sal.DeviceService; @@ -32,7 +33,7 @@ public class D331RtcmMessageExecutor implements Executor } // 补齐tenantId Device device1 = deviceService.findByDeviceId(message.getId()); - if(device1 == null) return null; + if(device1 == null || device1.getOpMode()!= GnssDevice.OP_MODE_USE) return null; message.setTenantId(device1.getTenantId()); device1.updateD331Bytes(message.getLen()); @@ -41,6 +42,7 @@ public class D331RtcmMessageExecutor implements Executor // 要求快速转发,因此用缓存,不要每次都查数据库 List deviceList = deviceService.findByParentId(id); for (Device device : deviceList) { + if(device.getOpMode()!=GnssDevice.OP_MODE_USE) continue; String deviceId = device.getDeviceId(); OnlineChannels.INSTANCE.get(deviceId).ifPresent(deviceChannel -> { if (logger.isDebugEnabled()) { diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/DbDeviceServiceImpl.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/DbDeviceServiceImpl.java index 39082c28..767ee01a 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/DbDeviceServiceImpl.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/DbDeviceServiceImpl.java @@ -34,6 +34,7 @@ public class DbDeviceServiceImpl implements DeviceService { device.setName(gnssDevice.getName()); device.setProjectId(gnssDevice.getProject_id()); device.setCalcGroupId(gnssDevice.getCalc_group_id()); + device.setOpMode(gnssDevice.getOpmode()); return device; } @@ -51,6 +52,7 @@ public class DbDeviceServiceImpl implements DeviceService { device.setName(gnssDevice.getName()); device.setProjectId(gnssDevice.getProject_id()); device.setCalcGroupId(gnssDevice.getCalc_group_id()); + device.setOpMode(gnssDevice.getOpmode()); deviceList.add(device); } return deviceList; diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/Device.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/Device.java index c14f0f70..66848ef8 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/Device.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/sal/Device.java @@ -32,6 +32,7 @@ public class Device { private Integer deviceType; private Integer calcGroupId; + private Short opMode; int d3xxbytes = 0; int b562bytes = 0;