From c9164330424180cc8b35f4c4adc3e4a57101f812 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 30 六月 2023 10:34:02 +0800
Subject: [PATCH] 优化更新通道中父结点的判断

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java                   |    2 +-
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java                             |    2 +-
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java |   14 +++++++-------
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java
index c11c315..281d780 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java
@@ -112,7 +112,7 @@
 						logger.info("[鏀跺埌鐩綍璁㈤槄]锛氫絾鏄В鏋愬け璐� {}", new String(evt.getRequest().getRawContent()));
 						continue;
 					}
-					if (channel.getParentId().equals(sipConfig.getId())) {
+					if (channel.getParentId() != null && channel.getParentId().equals(sipConfig.getId())) {
 						channel.setParentId(null);
 					}
 					channel.setDeviceId(device.getDeviceId());
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
index ba0e7e8..d44ff5a 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
@@ -417,7 +417,7 @@
 						logger.info("[鏀跺埌鐩綍璁㈤槄]锛氫絾鏄В鏋愬け璐� {}", new String(evt.getRequest().getRawContent()));
 						continue;
 					}
-					if (channel.getParentId().equals(sipConfig.getId())) {
+					if (channel.getParentId() != null && channel.getParentId().equals(sipConfig.getId())) {
 						channel.setParentId(null);
 					}
 					channel.setDeviceId(device.getDeviceId());
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
index 7bb131c..8648dc4 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
@@ -116,18 +116,18 @@
                                     if (channelDeviceElement == null) {
                                         continue;
                                     }
-                                    DeviceChannel deviceChannel = XmlUtil.channelContentHandler(itemDevice, device, null, civilCodeFileConf);
-                                    if (deviceChannel == null) {
+                                    DeviceChannel channel = XmlUtil.channelContentHandler(itemDevice, device, null, civilCodeFileConf);
+                                    if (channel == null) {
                                         logger.info("[鏀跺埌鐩綍璁㈤槄]锛氫絾鏄В鏋愬け璐� {}", new String(evt.getRequest().getRawContent()));
                                         continue;
                                     }
-                                    if (deviceChannel.getParentId().equals(sipConfig.getId())) {
-                                        deviceChannel.setParentId(null);
+                                    if (channel.getParentId() != null && channel.getParentId().equals(sipConfig.getId())) {
+                                        channel.setParentId(null);
                                     }
-                                    SipUtils.updateGps(deviceChannel, device.getGeoCoordSys());
-                                    deviceChannel.setDeviceId(take.getDevice().getDeviceId());
+                                    SipUtils.updateGps(channel, device.getGeoCoordSys());
+                                    channel.setDeviceId(take.getDevice().getDeviceId());
 
-                                    channelList.add(deviceChannel);
+                                    channelList.add(channel);
                                 }
                                 int sn = Integer.parseInt(snElement.getText());
                                 catalogDataCatch.put(take.getDevice().getDeviceId(), sn, sumNum, take.getDevice(), channelList);

--
Gitblit v1.8.0