From 1983b8b0a705995665dffadf709afd03239c5950 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 22 十一月 2022 12:55:29 +0800
Subject: [PATCH] 国标级联->选择通道支持移除目前下所有以及全部添加到目录下
---
src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java | 14 ++
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/bean/GbStreamParam.java | 11 ++
src/main/java/com/genersoft/iot/vmp/service/IDeviceChannelService.java | 8 +
src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java | 9 +
src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java | 8 +
web_src/src/components/dialog/chooseChannelForGb.vue | 49 ++++++---
web_src/src/components/dialog/chooseChannelForStream.vue | 45 ++++++--
src/main/java/com/genersoft/iot/vmp/service/IPlatformChannelService.java | 7 +
src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java | 3
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java | 15 ---
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java | 31 +++++-
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/bean/UpdateChannelParam.java | 11 ++
src/main/java/com/genersoft/iot/vmp/service/impl/PlatformChannelServiceImpl.java | 23 ++++
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java | 2
src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java | 2
src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java | 34 ++++++
src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java | 1
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java | 27 +++--
18 files changed, 234 insertions(+), 66 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IDeviceChannelService.java b/src/main/java/com/genersoft/iot/vmp/service/IDeviceChannelService.java
index 3f58735..31e568a 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/IDeviceChannelService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IDeviceChannelService.java
@@ -3,6 +3,7 @@
import com.genersoft.iot.vmp.gb28181.bean.Device;
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo;
+import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce;
import java.util.List;
@@ -38,4 +39,11 @@
* @return
*/
ResourceBaceInfo getOverview();
+
+ /**
+ * 鏌ヨ鎵�鏈夋湭鍒嗛厤鐨勯�氶亾
+ * @param platformId
+ * @return
+ */
+ List<ChannelReduce> queryAllChannelList(String platformId);
}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java b/src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java
index ffbba00..314a389 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java
@@ -55,4 +55,18 @@
int updateGbIdOrName(List<StreamPushItem> streamPushItemForUpdate);
DeviceChannel getDeviceChannelListByStreamWithStatus(GbStream gbStream, String catalogId, ParentPlatform platform);
+
+ /**
+ * 鏌ヨ鎵�鏈夋湭鍒嗛厤鐨勯�氶亾
+ * @param platformId
+ * @return
+ */
+ List<GbStream> getAllGBChannels(String platformId);
+
+ /**
+ * 绉婚櫎鎵�鏈夊叧鑱旂殑閫氶亾
+ * @param platformId
+ * @param catalogId
+ */
+ void delAllPlatformInfo(String platformId, String catalogId);
}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IPlatformChannelService.java b/src/main/java/com/genersoft/iot/vmp/service/IPlatformChannelService.java
index 739e6b8..49d7428 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/IPlatformChannelService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IPlatformChannelService.java
@@ -19,4 +19,11 @@
*/
int updateChannelForGB(String platformId, List<ChannelReduce> channelReduces, String catalogId);
+ /**
+ * 绉婚櫎鐩綍涓嬬殑鎵�鏈夐�氶亾
+ * @param platformId
+ * @param catalogId
+ * @return
+ */
+ int delAllChannelForGB(String platformId, String catalogId);
}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java
index 41b55dd..9db2d68 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java
@@ -10,6 +10,7 @@
import com.genersoft.iot.vmp.storager.dao.DeviceMapper;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo;
+import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -168,4 +169,12 @@
public ResourceBaceInfo getOverview() {
return channelMapper.getOverview();
}
+
+
+ @Override
+ public List<ChannelReduce> queryAllChannelList(String platformId) {
+ return channelMapper.queryChannelListInAll(null, null, null, platformId, null);
+ }
+
+
}
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 da11b16..dc9d927 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
@@ -4,11 +4,11 @@
import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent;
import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.service.IGbStreamService;
import com.genersoft.iot.vmp.storager.dao.GbStreamMapper;
import com.genersoft.iot.vmp.storager.dao.ParentPlatformMapper;
import com.genersoft.iot.vmp.storager.dao.PlatformCatalogMapper;
import com.genersoft.iot.vmp.storager.dao.PlatformGbStreamMapper;
-import com.genersoft.iot.vmp.service.IGbStreamService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.slf4j.Logger;
@@ -19,7 +19,6 @@
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.util.ObjectUtils;
-import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
@@ -230,4 +229,35 @@
deviceChannel.setSecrecy("0");
return deviceChannel;
}
+
+ @Override
+ public List<GbStream> getAllGBChannels(String platformId) {
+
+ return gbStreamMapper.selectAll(platformId, null, null, null);
+
+ }
+
+ @Override
+ public void delAllPlatformInfo(String platformId, String catalogId) {
+ if (platformId == null) {
+ return ;
+ }
+ ParentPlatform platform = platformMapper.getParentPlatByServerGBId(platformId);
+ if (platform == null) {
+ return ;
+ }
+ if (ObjectUtils.isEmpty(catalogId)) {
+ catalogId = platform.getDeviceGBId();
+ }
+ 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);
+ }
+ }
}
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 22d195e..601ff5d 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
@@ -16,6 +16,7 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.HashMap;
@@ -105,4 +106,26 @@
}
return deviceChannelList;
}
+
+ @Override
+ public int delAllChannelForGB(String platformId, String catalogId) {
+
+ int result;
+ if (platformId == null) {
+ return 0;
+ }
+ ParentPlatform platform = platformMapper.getParentPlatByServerGBId(platformId);
+ if (platform == null) {
+ return 0;
+ }
+ if (ObjectUtils.isEmpty(catalogId)) {
+ catalogId = platform.getDeviceGBId();
+ }
+
+ if ((result = platformChannelMapper.delChannelForGBByCatalogId(platformId, catalogId)) > 0) {
+ List<DeviceChannel> deviceChannels = platformChannelMapper.queryAllChannelInCatalog(platformId, catalogId);
+ eventPublisher.catalogEventPublish(platformId, deviceChannels, CatalogEvent.DEL);
+ }
+ return result;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
index ff20cef..53072b2 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
@@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.storager.dao;
-import com.genersoft.iot.vmp.gb28181.bean.Device;
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannelInPlatform;
import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo;
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java
index 8a5d455..6ea852e 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java
@@ -5,7 +5,6 @@
import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
-import com.genersoft.iot.vmp.vmanager.bean.StreamPushExcelDto;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
@@ -169,4 +168,5 @@
@Select("SELECT status FROM stream_push WHERE app=#{app} AND stream=#{stream}")
Boolean selectStatusForPush(String app, String stream);
+
}
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 e048f31..120ecb3 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
@@ -57,6 +57,9 @@
@Select("SELECT dc.* FROM platform_gb_channel pgc left join device_channel dc on dc.id = pgc.deviceChannelId WHERE dc.channelId='${channelId}' and pgc.platformId='${platformId}'")
List<DeviceChannel> queryChannelInParentPlatform(String platformId, String channelId);
+ @Select("SELECT dc.* FROM platform_gb_channel pgc left join device_channel dc on dc.id = pgc.deviceChannelId WHERE pgc.platformId='${platformId}' and pgc.catalogId=#{catalogId}")
+ List<DeviceChannel> queryAllChannelInCatalog(String platformId, String catalogId);
+
@Select(" select dc.channelId as id, dc.name as name, pgc.platformId as platformId, pgc.catalogId as parentId, 0 as childrenCount, 1 as type " +
" from device_channel dc left join platform_gb_channel pgc on dc.id = pgc.deviceChannelId " +
" where pgc.platformId=#{platformId} and pgc.catalogId=#{catalogId}")
@@ -99,4 +102,9 @@
"DELETE FROM platform_gb_channel WHERE platformId=#{serverGBId}" +
"</script>")
void delByPlatformId(String serverGBId);
+
+ @Delete("<script> " +
+ "DELETE FROM platform_gb_channel WHERE platformId=#{platformId} and catalogId=#{catalogId}" +
+ "</script>")
+ int delChannelForGBByCatalogId(String platformId, String catalogId);
}
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 98afd6b..13094b9 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
@@ -105,4 +105,7 @@
"</foreach>" +
"</script>")
void delByAppAndStreamsByPlatformId(List<GbStream> gbStreams, String platformId);
+
+ @Delete("DELETE FROM platform_gb_stream WHERE platformId=#{platformId} and catalogId=#{catalogId}")
+ int delByPlatformAndCatalogId(String platformId, String catalogId);
}
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 79edcf8..377b20f 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
@@ -1,13 +1,11 @@
package com.genersoft.iot.vmp.storager.impl;
-import com.genersoft.iot.vmp.common.StreamInfo;
import com.genersoft.iot.vmp.conf.SipConfig;
import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.gb28181.bean.*;
import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent;
import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
import com.genersoft.iot.vmp.service.IGbStreamService;
import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
@@ -28,7 +26,6 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
-import org.springframework.util.StringUtils;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
@@ -761,18 +758,6 @@
return gbStreamMapper.updateStreamGPS(gpsMsgInfos);
}
- private List<DeviceChannel> getDeviceChannelListByChannelReduceList(List<ChannelReduce> channelReduces, String catalogId) {
- List<DeviceChannel> deviceChannelList = new ArrayList<>();
- if (channelReduces.size() > 0){
- for (ChannelReduce channelReduce : channelReduces) {
- DeviceChannel deviceChannel = queryChannel(channelReduce.getDeviceId(), channelReduce.getChannelId());
- deviceChannel.setParental(1);
- deviceChannel.setParentId(catalogId);
- deviceChannelList.add(deviceChannel);
- }
- }
- return deviceChannelList;
- }
private DeviceChannel getDeviceChannelByCatalog(PlatformCatalog catalog) {
ParentPlatform platform = platformMapper.getParentPlatByServerGBId(catalog.getPlatformId());
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 3ba032a..447944a 100644
--- 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
@@ -1,9 +1,9 @@
package com.genersoft.iot.vmp.vmanager.gb28181.gbStream;
import com.genersoft.iot.vmp.gb28181.bean.GbStream;
+import com.genersoft.iot.vmp.service.IGbStreamService;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.vmanager.gb28181.gbStream.bean.GbStreamParam;
-import com.genersoft.iot.vmp.service.IGbStreamService;
import com.github.pagehelper.PageInfo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@@ -12,8 +12,9 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
-import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
@Tag(name = "瑙嗛娴佸叧鑱斿埌绾ц仈骞冲彴")
@CrossOrigin
@@ -76,11 +77,14 @@
@Operation(summary = "绉婚櫎鍥芥爣鍏宠仈")
@DeleteMapping(value = "/del")
@ResponseBody
- public Object del(@RequestBody GbStreamParam gbStreamParam){
- if (gbStreamService.delPlatformInfo(gbStreamParam.getPlatformId(), gbStreamParam.getGbStreams())) {
- return "success";
+ public void del(@RequestBody GbStreamParam gbStreamParam){
+
+ if (gbStreamParam.getGbStreams() == null || gbStreamParam.getGbStreams().size() == 0) {
+ if (gbStreamParam.isAll()) {
+ gbStreamService.delAllPlatformInfo(gbStreamParam.getPlatformId(), gbStreamParam.getCatalogId());
+ }
}else {
- return "fail";
+ gbStreamService.delPlatformInfo(gbStreamParam.getPlatformId(), gbStreamParam.getGbStreams());
}
}
@@ -93,11 +97,14 @@
@Operation(summary = "淇濆瓨鍥芥爣鍏宠仈")
@PostMapping(value = "/add")
@ResponseBody
- public Object add(@RequestBody GbStreamParam gbStreamParam){
- if (gbStreamService.addPlatformInfo(gbStreamParam.getGbStreams(), gbStreamParam.getPlatformId(), gbStreamParam.getCatalogId())) {
- return "success";
+ public void add(@RequestBody GbStreamParam gbStreamParam){
+ if (gbStreamParam.getGbStreams() == null || gbStreamParam.getGbStreams().size() == 0) {
+ if (gbStreamParam.isAll()) {
+ List<GbStream> allGBChannels = gbStreamService.getAllGBChannels(gbStreamParam.getPlatformId());
+ gbStreamService.addPlatformInfo(allGBChannels, gbStreamParam.getPlatformId(), gbStreamParam.getCatalogId());
+ }
}else {
- return "fail";
+ gbStreamService.addPlatformInfo(gbStreamParam.getGbStreams(), gbStreamParam.getPlatformId(), gbStreamParam.getCatalogId());
}
}
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/bean/GbStreamParam.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/bean/GbStreamParam.java
index 161f2e7..3705c70 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/bean/GbStreamParam.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/bean/GbStreamParam.java
@@ -14,6 +14,9 @@
@Schema(description = "鐩綍ID")
private String catalogId;
+ @Schema(description = "鍏宠仈鎵�鏈夐�氶亾")
+ private boolean all;
+
@Schema(description = "娴佸浗鏍囦俊鎭垪琛�")
private List<GbStream> gbStreams;
@@ -40,4 +43,12 @@
public void setGbStreams(List<GbStream> gbStreams) {
this.gbStreams = gbStreams;
}
+
+ public boolean isAll() {
+ return all;
+ }
+
+ public void setAll(boolean all) {
+ this.all = all;
+ }
}
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 3bd8aec..40b65c3 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
@@ -10,8 +10,7 @@
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;
-import com.genersoft.iot.vmp.service.IPlatformChannelService;
-import com.genersoft.iot.vmp.service.IPlatformService;
+import com.genersoft.iot.vmp.service.*;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.utils.DateUtil;
@@ -71,6 +70,12 @@
@Autowired
private IPlatformService platformService;
+
+ @Autowired
+ private IDeviceChannelService deviceChannelService;
+
+ @Autowired
+ private IGbStreamService gbStreamService;
/**
* 鑾峰彇鍥芥爣鏈嶅姟鐨勯厤缃�
@@ -379,7 +384,16 @@
if (logger.isDebugEnabled()) {
logger.debug("缁欎笂绾у钩鍙版坊鍔犲浗鏍囬�氶亾API璋冪敤");
}
- int result = platformChannelService.updateChannelForGB(param.getPlatformId(), param.getChannelReduces(), param.getCatalogId());
+ int result = 0;
+ if (param.getChannelReduces() == null || param.getChannelReduces().size() == 0) {
+ if (param.isAll()) {
+ logger.info("[鍥芥爣绾ц仈]娣诲姞鎵�鏈夐�氶亾鍒颁笂绾у钩鍙帮紝 {}", param.getPlatformId());
+ List<ChannelReduce> allChannelForDevice = deviceChannelService.queryAllChannelList(param.getPlatformId());
+ result = platformChannelService.updateChannelForGB(param.getPlatformId(), allChannelForDevice, param.getCatalogId());
+ }
+ }else {
+ result = platformChannelService.updateChannelForGB(param.getPlatformId(), param.getChannelReduces(), param.getCatalogId());
+ }
if (result <= 0) {
throw new ControllerException(ErrorCode.ERROR100);
}
@@ -399,8 +413,15 @@
if (logger.isDebugEnabled()) {
logger.debug("缁欎笂绾у钩鍙板垹闄ゅ浗鏍囬�氶亾API璋冪敤");
}
- int result = storager.delChannelForGB(param.getPlatformId(), param.getChannelReduces());
-
+ int result = 0;
+ if (param.getChannelReduces() == null || param.getChannelReduces().size() == 0) {
+ if (param.isAll()) {
+ logger.info("[鍥芥爣绾ц仈]绉婚櫎鎵�鏈夐�氶亾锛屼笂绾у钩鍙帮紝 {}", param.getPlatformId());
+ result = platformChannelService.delAllChannelForGB(param.getPlatformId(), param.getCatalogId());
+ }
+ }else {
+ result = storager.delChannelForGB(param.getPlatformId(), param.getChannelReduces());
+ }
if (result <= 0) {
throw new ControllerException(ErrorCode.ERROR100);
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/bean/UpdateChannelParam.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/bean/UpdateChannelParam.java
index 01762d9..2d598e4 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/bean/UpdateChannelParam.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/bean/UpdateChannelParam.java
@@ -17,6 +17,9 @@
@Schema(description = "鐩綍鐨勫浗鏍囩紪鍙�")
private String catalogId;
+ @Schema(description = "澶勭悊鎵�鏈夐�氶亾")
+ private boolean all;
+
@Schema(description = "")
private List<ChannelReduce> channelReduces;
@@ -43,4 +46,12 @@
public void setCatalogId(String catalogId) {
this.catalogId = catalogId;
}
+
+ public boolean isAll() {
+ return all;
+ }
+
+ public void setAll(boolean all) {
+ this.all = all;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
index 885f121..9fed0c5 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
@@ -134,7 +134,6 @@
return result;
}
-
@Operation(summary = "鍋滄鐐规挱")
@Parameter(name = "deviceId", description = "璁惧鍥芥爣缂栧彿", required = true)
@Parameter(name = "channelId", description = "閫氶亾鍥芥爣缂栧彿", required = true)
@@ -171,7 +170,6 @@
json.put("deviceId", deviceId);
json.put("channelId", channelId);
return json;
-
}
/**
diff --git a/web_src/src/components/dialog/chooseChannelForGb.vue b/web_src/src/components/dialog/chooseChannelForGb.vue
index a4dc5e0..fc97b4c 100644
--- a/web_src/src/components/dialog/chooseChannelForGb.vue
+++ b/web_src/src/components/dialog/chooseChannelForGb.vue
@@ -18,8 +18,10 @@
<el-option label="鍦ㄧ嚎" value="true"></el-option>
<el-option label="绂荤嚎" value="false"></el-option>
</el-select>
- <el-button v-if="catalogId !== null" icon="el-icon-delete" size="mini" style="margin-right: 1rem;" :disabled="gbChannels.length === 0 || multipleSelection.length === 0" type="danger" @click="batchDel">鎵归噺绉婚櫎</el-button>
- <el-button v-if="catalogId === null" icon="el-icon-plus" size="mini" style="margin-right: 1rem;" :disabled="gbChannels.length === 0 || multipleSelection.length === 0" @click="batchAdd">鎵归噺娣诲姞</el-button>
+ <el-button v-if="catalogId !== null" icon="el-icon-delete" size="mini" :disabled="gbChannels.length === 0 || multipleSelection.length === 0" type="danger" @click="batchDel">鎵归噺绉婚櫎</el-button>
+ <el-button v-if="catalogId === null" icon="el-icon-plus" size="mini" :disabled="gbChannels.length === 0 || multipleSelection.length === 0" @click="batchAdd">鎵归噺娣诲姞</el-button>
+ <el-button v-if="catalogId === null" icon="el-icon-plus" size="mini" @click="add()">鍏ㄩ儴娣诲姞</el-button>
+ <el-button v-if="catalogId !== null" type="danger" icon="el-icon-delete" size="mini" @click="remove()">鍏ㄩ儴绉婚櫎</el-button>
</div>
<el-table ref="gbChannelsTable" :data="gbChannels" border style="width: 100%" :height="winHeight" :row-key="(row)=> row.deviceId + row.channelId" @selection-change="handleSelectionChange">
@@ -115,13 +117,15 @@
this.initData();
},
add: function (row) {
+ let all = typeof(row) === "undefined"
this.getCatalogFromUser((catalogId)=> {
this.$axios({
method:"post",
url:"/api/platform/update_channel_for_gb",
data:{
platformId: this.platformId,
- channelReduces: [row],
+ all: all,
+ channelReduces: all?[]:[row],
catalogId: catalogId
}
}).then((res)=>{
@@ -134,21 +138,34 @@
},
remove: function (row) {
- console.log(row)
+ let all = typeof(row) === "undefined"
+ this.$confirm(`纭畾绉婚櫎${all?"鎵�鏈夐�氶亾":""}鍚楋紵`, '鎻愮ず', {
+ dangerouslyUseHTMLString: true,
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ console.log(row)
- this.$axios({
- method:"delete",
- url:"/api/platform/del_channel_for_gb",
- data:{
- platformId: this.platformId,
- channelReduces: [row]
- }
- }).then((res)=>{
- console.log("绉婚櫎鎴愬姛")
- this.getChannelList();
- }).catch(function (error) {
- console.log(error);
+ this.$axios({
+ method:"delete",
+ url:"/api/platform/del_channel_for_gb",
+ data:{
+ platformId: this.platformId,
+ all: all,
+ channelReduces: all?[]:[row],
+ }
+ }).then((res)=>{
+ console.log("绉婚櫎鎴愬姛")
+ this.getChannelList();
+ }).catch(function (error) {
+ console.log(error);
+ });
+ }).catch(() => {
+
});
+
+
},
// checkedChange: function (val) {
// let that = this;
diff --git a/web_src/src/components/dialog/chooseChannelForStream.vue b/web_src/src/components/dialog/chooseChannelForStream.vue
index 8d63dbf..6c4653b 100644
--- a/web_src/src/components/dialog/chooseChannelForStream.vue
+++ b/web_src/src/components/dialog/chooseChannelForStream.vue
@@ -24,6 +24,8 @@
</el-select>
<el-button v-if="catalogId !== null" icon="el-icon-delete" size="mini" style="margin-right: 1rem;" :disabled="gbStreams.length === 0 || multipleSelection.length === 0" type="danger" @click="batchDel">鎵归噺绉婚櫎</el-button>
<el-button v-if="catalogId === null" icon="el-icon-plus" size="mini" style="margin-right: 1rem;" :disabled="gbStreams.length === 0 || multipleSelection.length === 0" @click="batchAdd">鎵归噺娣诲姞</el-button>
+ <el-button v-if="catalogId === null" icon="el-icon-plus" size="mini" style="margin-right: 1rem;" @click="add()">鍏ㄩ儴娣诲姞</el-button>
+ <el-button v-if="catalogId !== null" type="danger" icon="el-icon-delete" size="mini" style="margin-right: 1rem;" @click="remove()">鍏ㄩ儴绉婚櫎</el-button>
</div>
<el-table ref="gbStreamsTable" :data="gbStreams" border style="width: 100%" :height="winHeight" :row-key="(row)=> row.app + row.stream" @selection-change="handleSelectionChange">
<el-table-column align="center" type="selection" :reserve-selection="true" width="55">
@@ -128,6 +130,7 @@
},
add: function (row, scope) {
+ let all = typeof(row) === "undefined"
this.getCatalogFromUser((catalogId)=>{
this.$axios({
method:"post",
@@ -135,7 +138,8 @@
data:{
platformId: this.platformId,
catalogId: catalogId,
- gbStreams: [row],
+ all: all,
+ gbStreams: all?[]:[row],
}
}).then((res)=>{
console.log("淇濆瓨鎴愬姛")
@@ -149,20 +153,33 @@
},
remove: function (row, scope) {
- this.$axios({
- method:"delete",
- url:"/api/gbStream/del",
- data:{
- platformId: this.platformId,
- gbStreams: [row],
- }
- }).then((res)=>{
- console.log("绉婚櫎鎴愬姛")
- // this.gbStreams.splice(scope.$index,1)
- this.getChannelList();
- }).catch(function (error) {
- console.log(error);
+ let all = typeof(row) === "undefined"
+ this.$confirm(`纭畾绉婚櫎${all?"鎵�鏈夐�氶亾":""}鍚楋紵`, '鎻愮ず', {
+ dangerouslyUseHTMLString: true,
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+
+ this.$axios({
+ method:"delete",
+ url:"/api/gbStream/del",
+ data:{
+ platformId: this.platformId,
+ all: all,
+ gbStreams: all?[]:[row],
+ }
+ }).then((res)=>{
+ console.log("绉婚櫎鎴愬姛")
+ // this.gbStreams.splice(scope.$index,1)
+ this.getChannelList();
+ }).catch(function (error) {
+ console.log(error);
+ });
+ }).catch(() => {
+
});
+
},
getChannelList: function () {
let that = this;
--
Gitblit v1.8.0