From 11c7deb876806a6bc85fbb3cbbbe5bb531e1cbdc Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 19 七月 2023 15:35:22 +0800
Subject: [PATCH] Merge branch 'wvp-28181-2.0' into main-dev

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java           |    2 
 src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java                                  |    7 +--
 src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorage.java                                        |    4 +-
 src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java                                |   31 +++++----------
 src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java                         |    6 +-
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java |    1 
 src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java                                   |    4 +-
 src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java                              |    2 
 src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java                                   |   19 ++++-----
 src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java                                     |    4 +-
 10 files changed, 33 insertions(+), 47 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java
index be6a3c3..1710a9c 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java
@@ -163,7 +163,7 @@
                 // 鏌ヨ骞冲彴涓嬫槸鍚︽湁璇ラ�氶亾
                 DeviceChannel channel = storager.queryChannelInParentPlatform(requesterId, channelId);
                 GbStream gbStream = storager.queryStreamInParentPlatform(requesterId, channelId);
-                PlatformCatalog catalog = storager.getCatalog(channelId);
+                PlatformCatalog catalog = storager.getCatalog(requesterId, channelId);
 
                 MediaServerItem mediaServerItem = null;
                 StreamPushItem streamPushItem = null;
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 281d780..a78404e 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
@@ -262,6 +262,7 @@
 	}
 
 	private void executeSave(){
+		executeSaveForAdd();
 		executeSaveForUpdate();
 		executeSaveForDelete();
 		executeSaveForOnline();
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java
index 3fb2f93..b3f4d7d 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java
@@ -114,7 +114,7 @@
 
         deviceChannel.setRegisterWay(1);
 
-        PlatformCatalog catalog = catalogMapper.select(catalogId);
+        PlatformCatalog catalog = catalogMapper.selectByPlatFormAndCatalogId(platform.getServerGBId(), catalogId);
         if (catalog != null) {
             deviceChannel.setCivilCode(catalog.getCivilCode());
             deviceChannel.setParentId(catalog.getParentId());
@@ -216,7 +216,7 @@
         deviceChannel.setStatus(status != null && status);
 
         deviceChannel.setRegisterWay(1);
-        PlatformCatalog catalog = catalogMapper.select(catalogId);
+        PlatformCatalog catalog = catalogMapper.selectByPlatFormAndCatalogId(platform.getServerGBId(), catalogId);
         if (catalog != null) {
             deviceChannel.setCivilCode(catalog.getCivilCode());
             deviceChannel.setParentId(catalog.getParentId());
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java
index eeea29a..fa16428 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java
@@ -125,7 +125,7 @@
     private List<DeviceChannel> getDeviceChannelListByChannelReduceList(List<ChannelReduce> channelReduces, String catalogId, ParentPlatform platform) {
         List<DeviceChannel> deviceChannelList = new ArrayList<>();
         if (channelReduces.size() > 0){
-            PlatformCatalog catalog = catalogManager.select(catalogId);
+            PlatformCatalog catalog = catalogManager.selectByPlatFormAndCatalogId(platform.getServerGBId(),catalogId);
             if (catalog == null || !catalogId.equals(platform.getDeviceGBId())) {
                 logger.warn("鏈煡璇㈠埌鐩綍{}鐨勪俊鎭�", catalogId);
                 return null;
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorage.java b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorage.java
index b53c2d3..b0ff011 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorage.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorage.java
@@ -342,9 +342,9 @@
 
 	int addCatalog(PlatformCatalog platformCatalog);
 
-	PlatformCatalog getCatalog(String id);
+	PlatformCatalog getCatalog(String platformId, String id);
 
-	int delCatalog(String id);
+	int delCatalog(String platformId, String id);
 
 	int updateCatalog(PlatformCatalog platformCatalog);
 
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java
index 15fed7b..3cb4776 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java
@@ -16,8 +16,8 @@
             "(#{id}, #{name}, #{platformId}, #{parentId}, #{civilCode}, #{businessGroupId})")
     int add(PlatformCatalog platformCatalog);
 
-    @Delete("DELETE from wvp_platform_catalog WHERE id=#{id}")
-    int del(String id);
+    @Delete("DELETE from wvp_platform_catalog WHERE platform_id=#{platformId} and id=#{id}")
+    int del(String platformId, String id);
 
     @Delete("DELETE from wvp_platform_catalog WHERE platform_id=#{platformId}")
     int delByPlatformId(String platformId);
@@ -28,13 +28,10 @@
             "group by pc.id, pc.name, pc.platform_id, pc.business_group_id, pc.civil_code, pc.parent_id")
     List<PlatformCatalog> selectByParentId(String platformId, String parentId);
 
-    @Select("SELECT *, (SELECT COUNT(1) from wvp_platform_catalog where parent_id = pc.id) as children_count  from wvp_platform_catalog pc WHERE pc.id=#{id}")
-    PlatformCatalog select(String id);
-
     @Update(value = {" <script>" +
             "UPDATE wvp_platform_catalog " +
             "SET name=#{name}" +
-            "WHERE id=#{id}"+
+            "WHERE id=#{id} and platform_id=#{platformId}"+
             "</script>"})
     int update(PlatformCatalog platformCatalog);
 
@@ -44,11 +41,13 @@
     @Select("SELECT pc.* FROM  wvp_platform_catalog pc WHERE pc.id = (SELECT pp.catalog_id from wvp_platform pp WHERE pp.server_gb_id=#{platformId})")
     PlatformCatalog selectDefaultByPlatFormId(String platformId);
 
-
-    @Select("SELECT pc.* FROM  wvp_platform_catalog pc WHERE pc.id = #{id}")
-    PlatformCatalog selectParentCatalog(String id);
-
     @Select("SELECT pc.id as channel_id, pc.name, pc.civil_code, pc.business_group_id,'1' as parental, pc.parent_id  " +
             " from wvp_platform_catalog pc WHERE pc.platform_id=#{platformId}")
     List<DeviceChannel> queryCatalogInPlatform(String platformId);
+
+    @Select("SELECT *, " +
+            "(SELECT COUNT(1) from wvp_platform_catalog where parent_id = pc.id) as children_count " +
+            " from wvp_platform_catalog pc " +
+            " WHERE pc.id=#{id} and pc.platform_id=#{platformId}")
+    PlatformCatalog selectByPlatFormAndCatalogId(String platformId, String id);
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java
index 3aeb0e0..7a749cb 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java
@@ -73,9 +73,9 @@
     List<Device> queryVideoDeviceByPlatformIdAndChannelId(String platformId, String channelId);
 
     @Delete("<script> "+
-            "DELETE from wvp_platform_gb_channel WHERE catalog_id=#{id}"  +
+            "DELETE from wvp_platform_gb_channel WHERE platform_id=#{platformId} and catalog_id=#{id}"  +
             "</script>")
-    int delByCatalogId(String id);
+    int delByCatalogId(String platformId, String id);
 
     @Delete("<script> "+
            "DELETE from wvp_platform_gb_channel  WHERE catalog_id=#{parentId} AND platform_id=#{platformId} AND channel_id=#{id}"  +
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java
index 0b19855..40640db 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java
@@ -50,8 +50,8 @@
 
     @Select("SELECT pgs.*, gs.gb_id  from wvp_platform_gb_stream pgs " +
             "LEFT join wvp_gb_stream gs ON pgs.gb_stream_id = gs.gb_stream_id  " +
-            "WHERE gs.app=#{app} AND gs.stream=#{stream} AND pgs.platform_id=#{serverGBId}")
-    StreamProxyItem selectOne(String app, String stream, String serverGBId);
+            "WHERE gs.app=#{app} AND gs.stream=#{stream} AND pgs.platform_id=#{platformId}")
+    StreamProxyItem selectOne(String app, String stream, String platformId);
 
     @Select("select gs.* \n" +
             "from wvp_gb_stream gs\n" +
@@ -66,9 +66,6 @@
             "        on gs.gb_stream_id = pgs.gb_stream_id\n" +
             "where pgs.platform_id=#{platformId} and pgs.catalog_id=#{catalogId}")
     List<PlatformCatalog> queryChannelInParentPlatformAndCatalogForCatalog(String platformId, String catalogId);
-
-    @Delete("DELETE from wvp_platform_gb_stream WHERE catalog_id=#{id}")
-    int delByCatalogId(String id);
 
     @Select("<script> " +
             "SELECT " +
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
index 79fe020..17bd613 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
@@ -806,7 +806,7 @@
 						if (platformCatalog.getParentId().length() <= 8) {
 							platformCatalog.setCivilCode(platformCatalog.getParentId());
 						}else {
-							PlatformCatalog catalog = catalogMapper.select(platformCatalog.getParentId());
+							PlatformCatalog catalog = catalogMapper.selectByPlatFormAndCatalogId(platformCatalog.getPlatformId(), platformCatalog.getParentId());
 							if (catalog != null) {
 								platformCatalog.setCivilCode(catalog.getCivilCode());
 							}
@@ -816,7 +816,7 @@
 						if (platformCatalog.getParentId().length() <= 8) {
 							platformCatalog.setCivilCode(platformCatalog.getParentId());
 						}else {
-							PlatformCatalog catalog = catalogMapper.select(platformCatalog.getParentId());
+							PlatformCatalog catalog = catalogMapper.selectByPlatFormAndCatalogId(platformCatalog.getPlatformId(),platformCatalog.getParentId());
 							if (catalog == null) {
 								logger.warn("[娣诲姞鐩綍] 鏃犳硶鑾峰彇鐩綍{}鐨凜ivilCode鍜孊usinessGroupId", platformCatalog.getPlatformId());
 								break;
@@ -845,7 +845,7 @@
 	}
 
 	private PlatformCatalog getTopCatalog(String id, String platformId) {
-		PlatformCatalog catalog = catalogMapper.selectParentCatalog(id);
+		PlatformCatalog catalog = catalogMapper.selectByPlatFormAndCatalogId(platformId, id);
 		if (catalog.getParentId().equals(platformId)) {
 			return catalog;
 		}else {
@@ -854,27 +854,16 @@
 	}
 
 	@Override
-	public PlatformCatalog getCatalog(String id) {
-		return catalogMapper.select(id);
+	public PlatformCatalog getCatalog(String platformId, String id) {
+		return catalogMapper.selectByPlatFormAndCatalogId(platformId, id);
 	}
 
 	@Override
-	public int delCatalog(String id) {
-		PlatformCatalog platformCatalog = catalogMapper.select(id);
-		if (platformCatalog.getChildrenCount() > 0) {
-			List<PlatformCatalog> platformCatalogList = catalogMapper.selectByParentId(platformCatalog.getPlatformId(), platformCatalog.getId());
-			for (PlatformCatalog catalog : platformCatalogList) {
-				if (catalog.getChildrenCount() == 0) {
-					delCatalogExecute(catalog.getId(), catalog.getPlatformId());
-				}else {
-					delCatalog(catalog.getId());
-				}
-			}
-		}
-		return delCatalogExecute(id, platformCatalog.getPlatformId());
+	public int delCatalog(String platformId, String id) {
+		return delCatalogExecute(id, platformId);
 	}
 	private int delCatalogExecute(String id, String platformId) {
-		int delresult =  catalogMapper.del(id);
+		int delresult =  catalogMapper.del(platformId, id);
 		DeviceChannel deviceChannelForCatalog = new DeviceChannel();
 		if (delresult > 0){
 			deviceChannelForCatalog.setChannelId(id);
@@ -891,7 +880,7 @@
 			}
 			eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.DEL);
 		}
-		int delStreamresult = platformGbStreamMapper.delByCatalogId(id);
+		int delStreamresult = platformGbStreamMapper.delByPlatformAndCatalogId(platformId,id);
 		List<PlatformCatalog> platformCatalogs = platformChannelMapper.queryChannelInParentPlatformAndCatalog(platformId, id);
 		if (platformCatalogs.size() > 0){
 			List<DeviceChannel> deviceChannelList = new ArrayList<>();
@@ -902,7 +891,7 @@
 			}
 			eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.DEL);
 		}
-		int delChannelresult = platformChannelMapper.delByCatalogId(id);
+		int delChannelresult = platformChannelMapper.delByCatalogId(platformId, id);
 		return delresult + delChannelresult + delStreamresult;
 	}
 
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
index 7cf78e9..870dee0 100644
--- 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
@@ -428,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");
@@ -453,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");
@@ -486,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