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/storager/dao/PlatformGbStreamMapper.java | 9 ++++++---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java | 1 +
src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java | 5 ++++-
src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java | 9 ++++-----
src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java | 22 +++++++++++-----------
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPSender.java | 4 ++--
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java | 4 ++--
7 files changed, 30 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPSender.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPSender.java
index e8066b7..ce1074b 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPSender.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPSender.java
@@ -66,17 +66,17 @@
// 娣诲姞閿欒璁㈤槄
if (errorEvent != null) {
sipSubscribe.addErrorSubscribe(callIdHeader.getCallId(), (eventResult -> {
- errorEvent.response(eventResult);
sipSubscribe.removeErrorSubscribe(eventResult.callId);
sipSubscribe.removeOkSubscribe(eventResult.callId);
+ errorEvent.response(eventResult);
}));
}
// 娣诲姞璁㈤槄
if (okEvent != null) {
sipSubscribe.addOkSubscribe(callIdHeader.getCallId(), eventResult -> {
- okEvent.response(eventResult);
sipSubscribe.removeOkSubscribe(eventResult.callId);
sipSubscribe.removeErrorSubscribe(eventResult.callId);
+ okEvent.response(eventResult);
});
}
if ("TCP".equals(transport)) {
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java
index 07fb78c..189934b 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java
@@ -579,6 +579,7 @@
sendNotify(parentPlatform, catalogXmlContent, subscribeInfo, eventResult -> {
logger.error("鍙戦�丯OTIFY閫氱煡娑堟伅澶辫触銆傞敊璇細{} {}", eventResult.statusCode, eventResult.msg);
}, (eventResult -> {
+ logger.info("[鍙戦�丯OTIFY閫氱煡]绫诲瀷锛� {}锛屽彂閫佹垚鍔燂細 {}", type, channels.size());
try {
sendNotifyForCatalogAddOrUpdate(type, parentPlatform, deviceChannels, subscribeInfo,
finalIndex + parentPlatform.getCatalogGroup());
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 86e033c..49e4a3c 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java
@@ -77,8 +77,6 @@
}
try {
List<DeviceChannel> deviceChannelList = new ArrayList<>();
-
-
for (int i = 0; i < gbStreams.size(); i++) {
GbStream gbStream = gbStreams.get(i);
gbStream.setCatalogId(catalogId);
@@ -250,16 +248,18 @@
if (platform == null) {
return ;
}
- if (platformGbStreamMapper.delByPlatformAndCatalogId(platformId, catalogId) > 0) {
- List<GbStream> gbStreams = platformGbStreamMapper.queryChannelInParentPlatformAndCatalog(platformId, catalogId);
- List<DeviceChannel> deviceChannelList = new ArrayList<>();
- for (GbStream gbStream : gbStreams) {
- DeviceChannel deviceChannel = new DeviceChannel();
- deviceChannel.setChannelId(gbStream.getGbId());
- deviceChannelList.add(deviceChannel);
- }
- eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.DEL);
+ if (ObjectUtils.isEmpty(catalogId)) {
+ catalogId = null;
}
+ List<GbStream> gbStreams = platformGbStreamMapper.queryChannelInParentPlatformAndCatalog(platformId, catalogId);
+ List<DeviceChannel> deviceChannelList = new ArrayList<>();
+ for (GbStream gbStream : gbStreams) {
+ DeviceChannel deviceChannel = new DeviceChannel();
+ deviceChannel.setChannelId(gbStream.getGbId());
+ deviceChannelList.add(deviceChannel);
+ }
+ eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.DEL);
+ platformGbStreamMapper.delByPlatformAndCatalogId(platformId, catalogId);
}
@Override
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 9f2b5e0..bda08e8 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java
@@ -165,10 +165,9 @@
catalogId = null;
}
- if ((result = platformChannelMapper.delChannelForGBByCatalogId(platformId, catalogId)) > 0) {
- List<DeviceChannel> deviceChannels = platformChannelMapper.queryAllChannelInCatalog(platformId, catalogId);
- eventPublisher.catalogEventPublish(platformId, deviceChannels, CatalogEvent.DEL);
- }
- return result;
+ List<DeviceChannel> deviceChannels = platformChannelMapper.queryAllChannelInCatalog(platformId, catalogId);
+ eventPublisher.catalogEventPublish(platformId, deviceChannels, CatalogEvent.DEL);
+
+ return platformChannelMapper.delChannelForGBByCatalogId(platformId, catalogId);
}
}
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 f363f66..f797601 100755
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java
@@ -58,7 +58,10 @@
@Select("SELECT dc.* from wvp_platform_gb_channel pgc left join wvp_device_channel dc on dc.id = pgc.device_channel_id WHERE dc.channel_id=#{channelId} and pgc.platform_id=#{platformId}")
List<DeviceChannel> queryChannelInParentPlatform(@Param("platformId") String platformId, @Param("channelId") String channelId);
- @Select("SELECT dc.* from wvp_platform_gb_channel pgc left join wvp_device_channel dc on dc.id = pgc.device_channel_id WHERE pgc.platform_id=#{platformId} and pgc.catalog_id=#{catalogId}")
+ @Select("<script> "+
+ "SELECT dc.* from wvp_platform_gb_channel pgc left join wvp_device_channel dc on dc.id = pgc.device_channel_id WHERE pgc.platform_id=#{platformId} " +
+ " <if test='catalogId != null' > and pgc.catalog_id=#{catalogId}</if>" +
+ "</script>")
List<DeviceChannel> queryAllChannelInCatalog(@Param("platformId") String platformId, @Param("catalogId") String catalogId);
@Select(" select dc.channel_id as id, dc.name as name, pgc.platform_id as platform_id, pgc.catalog_id as parent_id, 0 as children_count, 1 as type " +
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 5f6d784..e4fc356 100755
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java
@@ -53,11 +53,14 @@
"WHERE gs.app=#{app} AND gs.stream=#{stream} AND pgs.platform_id=#{platformId}")
StreamProxyItem selectOne(@Param("app") String app, @Param("stream") String stream, @Param("platformId") String platformId);
- @Select("select gs.* \n" +
- "from wvp_gb_stream gs\n" +
+ @Select("<script> " +
+ "select gs.* " +
+ " from wvp_gb_stream gs\n" +
" left join wvp_platform_gb_stream pgs\n" +
" on gs.gb_stream_id = pgs.gb_stream_id\n" +
- "where pgs.platform_id=#{platformId} and pgs.catalog_id=#{catalogId}")
+ " where pgs.platform_id=#{platformId} " +
+ " <if test='catalogId != null' > and pgs.catalog_id=#{catalogId}</if>" +
+ "</script>")
List<GbStream> queryChannelInParentPlatformAndCatalog(@Param("platformId") String platformId, @Param("catalogId") String catalogId);
@Select("select gs.gb_id as id, gs.name as name, pgs.platform_id as platform_id, pgs.catalog_id as catalog_id , 0 as children_count, 2 as type\n" +
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java
index 3bdee76..d49ab6a 100755
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java
@@ -84,7 +84,7 @@
@ResponseBody
public void del(@RequestBody GbStreamParam gbStreamParam){
- if (gbStreamParam.getGbStreams() == null || gbStreamParam.getGbStreams().size() == 0) {
+ if (gbStreamParam.getGbStreams() == null || gbStreamParam.getGbStreams().isEmpty()) {
if (gbStreamParam.isAll()) {
gbStreamService.delAllPlatformInfo(gbStreamParam.getPlatformId(), gbStreamParam.getCatalogId());
}
@@ -103,7 +103,7 @@
@PostMapping(value = "/add")
@ResponseBody
public void add(@RequestBody GbStreamParam gbStreamParam){
- if (gbStreamParam.getGbStreams() == null || gbStreamParam.getGbStreams().size() == 0) {
+ if (gbStreamParam.getGbStreams() == null || gbStreamParam.getGbStreams().isEmpty()) {
if (gbStreamParam.isAll()) {
List<GbStream> allGBChannels = gbStreamService.getAllGBChannels(gbStreamParam.getPlatformId());
gbStreamService.addPlatformInfo(allGBChannels, gbStreamParam.getPlatformId(), gbStreamParam.getCatalogId());
--
Gitblit v1.8.0