From e3be796314346bcdcd94d819b2a1438d76dcf2d7 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 14 三月 2023 16:49:54 +0800
Subject: [PATCH] Merge pull request #778 from xiaoQQya/wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/gb28181/task/SipRunner.java | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/task/SipRunner.java b/src/main/java/com/genersoft/iot/vmp/gb28181/task/SipRunner.java
index 451c589..cdba445 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/task/SipRunner.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/task/SipRunner.java
@@ -28,7 +28,7 @@
* @author lin
*/
@Component
-@Order(value=4)
+@Order(value=14)
public class SipRunner implements CommandLineRunner {
@Autowired
@@ -69,6 +69,26 @@
// 閲嶇疆cseq璁℃暟
redisCatchStorage.resetAllCSEQ();
// 娓呯悊redis
+ // 娓呯悊鏁版嵁搴撲笉瀛樺湪浣嗘槸redis涓瓨鍦ㄧ殑鏁版嵁
+ List<Device> devicesInDb = deviceService.getAll();
+ if (devicesInDb.size() == 0) {
+ redisCatchStorage.removeAllDevice();
+ }else {
+ List<Device> devicesInRedis = redisCatchStorage.getAllDevices();
+ if (devicesInRedis.size() > 0) {
+ Map<String, Device> deviceMapInDb = new HashMap<>();
+ devicesInDb.parallelStream().forEach(device -> {
+ deviceMapInDb.put(device.getDeviceId(), device);
+ });
+ devicesInRedis.parallelStream().forEach(device -> {
+ if (deviceMapInDb.get(device.getDeviceId()) == null) {
+ redisCatchStorage.removeDevice(device.getDeviceId());
+ }
+ });
+ }
+ }
+
+
// 鏌ユ壘鍥芥爣鎺ㄦ祦
List<SendRtpItem> sendRtpItems = redisCatchStorage.queryAllSendRTPServer();
if (sendRtpItems.size() > 0) {
--
Gitblit v1.8.0