From 402ffa0b1e6b0453338a57469e00903564ac53f5 Mon Sep 17 00:00:00 2001 From: linshunhua <my_lv@163.com> Date: 星期二, 06 八月 2024 16:52:22 +0800 Subject: [PATCH] 修复在ORACLE,达梦等数据库下的用户查询BUG --- src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java b/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java index 0b672d3..afdbb49 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java @@ -39,10 +39,10 @@ private final Map<String, SipProviderImpl> tcpSipProviderMap = new ConcurrentHashMap<>(); private final Map<String, SipProviderImpl> udpSipProviderMap = new ConcurrentHashMap<>(); + private final List<String> monitorIps = new ArrayList<>(); @Override public void run(String... args) { - List<String> monitorIps = new ArrayList<>(); if (ObjectUtils.isEmpty(sipConfig.getIp())) { try { // 鑾峰緱鏈満鐨勬墍鏈夌綉缁滄帴鍙� @@ -82,7 +82,9 @@ monitorIps.add(sipConfig.getIp()); } } - sipConfig.setShowIp(String.join(",", monitorIps)); + if (ObjectUtils.isEmpty(sipConfig.getShowIp())){ + sipConfig.setShowIp(String.join(",", monitorIps)); + } SipFactory.getInstance().setPathName("gov.nist"); if (monitorIps.size() > 0) { for (String monitorIp : monitorIps) { @@ -139,11 +141,11 @@ } public SipProviderImpl getUdpSipProvider(String ip) { - if (ObjectUtils.isEmpty(ip)) { - return null; - } if (udpSipProviderMap.size() == 1) { return udpSipProviderMap.values().stream().findFirst().get(); + } + if (ObjectUtils.isEmpty(ip)) { + return null; } return udpSipProviderMap.get(ip); } @@ -163,16 +165,19 @@ } public SipProviderImpl getTcpSipProvider(String ip) { - if (ObjectUtils.isEmpty(ip)) { - return null; - } if (tcpSipProviderMap.size() == 1) { return tcpSipProviderMap.values().stream().findFirst().get(); + } + if (ObjectUtils.isEmpty(ip)) { + return null; } return tcpSipProviderMap.get(ip); } public String getLocalIp(String deviceLocalIp) { + if (monitorIps.size() == 1) { + return monitorIps.get(0); + } if (!ObjectUtils.isEmpty(deviceLocalIp)) { return deviceLocalIp; } -- Gitblit v1.8.0