From 0371f5a96e8be9067b796c7b93ecf4d3bbdb99dc Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 15 一月 2024 15:31:20 +0800
Subject: [PATCH] 修复国标级联全部添加与全部删除
---
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java | 21 +++++++++++++++------
1 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
old mode 100644
new mode 100755
index e233d1b..870dee0
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
@@ -7,6 +7,7 @@
import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.conf.exception.ControllerException;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
+import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch;
import com.genersoft.iot.vmp.gb28181.bean.PlatformCatalog;
import com.genersoft.iot.vmp.gb28181.bean.SubscribeHolder;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
@@ -229,12 +230,16 @@
throw new ControllerException(ErrorCode.ERROR400);
}
ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(serverGBId);
+ ParentPlatformCatch parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(serverGBId);
if (parentPlatform == null) {
+ throw new ControllerException(ErrorCode.ERROR100.getCode(), "骞冲彴涓嶅瓨鍦�");
+ }
+ if (parentPlatformCatch == null) {
throw new ControllerException(ErrorCode.ERROR100.getCode(), "骞冲彴涓嶅瓨鍦�");
}
// 鍙戦�佺绾挎秷鎭�,鏃犺鏄惁鎴愬姛閮藉垹闄ょ紦瀛�
try {
- commanderForPlatform.unregister(parentPlatform, (event -> {
+ commanderForPlatform.unregister(parentPlatform, parentPlatformCatch.getSipTransactionInfo(), (event -> {
// 娓呯┖redis缂撳瓨
redisCatchStorage.delPlatformCatchInfo(parentPlatform.getServerGBId());
redisCatchStorage.delPlatformKeepalive(parentPlatform.getServerGBId());
@@ -398,8 +403,12 @@
if (platform == null) {
throw new ControllerException(ErrorCode.ERROR100.getCode(), "骞冲彴鏈壘鍒�");
}
- if (platformId.equals(parentId)) {
- parentId = platform.getDeviceGBId();
+// if (platformId.equals(parentId)) {
+// parentId = platform.getDeviceGBId();
+// }
+
+ if (platformId.equals(platform.getDeviceGBId())) {
+ parentId = null;
}
return storager.getChildrenCatalogByPlatform(platformId, parentId);
@@ -419,7 +428,7 @@
if (logger.isDebugEnabled()) {
logger.debug("娣诲姞鐩綍,{}", JSON.toJSONString(platformCatalog));
}
- PlatformCatalog platformCatalogInStore = storager.getCatalog(platformCatalog.getId());
+ PlatformCatalog platformCatalogInStore = storager.getCatalog(platformCatalog.getPlatformId(), platformCatalog.getId());
if (platformCatalogInStore != null) {
throw new ControllerException(ErrorCode.ERROR100.getCode(), platformCatalog.getId() + " already exists");
@@ -444,7 +453,7 @@
if (logger.isDebugEnabled()) {
logger.debug("缂栬緫鐩綍,{}", JSON.toJSONString(platformCatalog));
}
- PlatformCatalog platformCatalogInStore = storager.getCatalog(platformCatalog.getId());
+ PlatformCatalog platformCatalogInStore = storager.getCatalog(platformCatalog.getPlatformId(), platformCatalog.getId());
if (platformCatalogInStore == null) {
throw new ControllerException(ErrorCode.ERROR100.getCode(), platformCatalog.getId() + " not exists");
@@ -477,7 +486,7 @@
throw new ControllerException(ErrorCode.ERROR400);
}
- int delResult = storager.delCatalog(id);
+ int delResult = storager.delCatalog(platformId, id);
// 濡傛灉鍒犻櫎鐨勬槸榛樿鐩綍鍒欐牴鐩綍璁剧疆涓洪粯璁ょ洰褰�
PlatformCatalog parentPlatform = storager.queryDefaultCatalogInPlatform(platformId);
--
Gitblit v1.8.0