From 41616f726dafafe7c015bf4f3e02a7aa9488a3a2 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 07 三月 2022 10:47:06 +0800
Subject: [PATCH] 修复导入通道时无平台关联时的bug
---
src/main/java/com/genersoft/iot/vmp/gb28181/event/online/OnlineEventListener.java | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/online/OnlineEventListener.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/online/OnlineEventListener.java
index 12a50e1..c0de8de 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/online/OnlineEventListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/online/OnlineEventListener.java
@@ -35,6 +35,9 @@
@Autowired
private IVideoManagerStorager storager;
+
+ @Autowired
+ private IDeviceService deviceService;
@Autowired
private RedisUtil redis;
@@ -57,6 +60,7 @@
logger.debug("璁惧涓婄嚎浜嬩欢瑙﹀彂锛宒eviceId锛�" + event.getDevice().getDeviceId() + ",from:" + event.getFrom());
}
Device device = event.getDevice();
+ if (device == null) return;
String key = VideoManagerConstants.KEEPLIVEKEY_PREFIX + userSetup.getServerId() + "_" + event.getDevice().getDeviceId();
switch (event.getFrom()) {
@@ -84,15 +88,18 @@
}
device.setOnline(1);
- Device deviceInstore = storager.queryVideoDevice(device.getDeviceId());
- if (deviceInstore.getOnline() == 0) {
+ Device deviceInStore = storager.queryVideoDevice(device.getDeviceId());
+ if (deviceInStore != null && deviceInStore.getOnline() == 0) {
List<DeviceChannel> deviceChannelList = storager.queryOnlineChannelsByDeviceId(device.getDeviceId());
eventPublisher.catalogEventPublish(null, deviceChannelList, CatalogEvent.ON);
}
// 澶勭悊涓婄嚎鐩戝惉
storager.updateDevice(device);
- // TODO 涓婄嚎娣诲姞璁㈤槄
+ // 涓婄嚎娣诲姞璁㈤槄
+ if (device.getSubscribeCycleForCatalog() > 0) {
+ deviceService.addCatalogSubscribe(device);
+ }
}
}
--
Gitblit v1.8.0