From 560165b6679f96f04cd3f8f6d5709b1214afddfb Mon Sep 17 00:00:00 2001
From: wangyimeng <421132955@qq.com>
Date: 星期六, 26 二月 2022 11:14:56 +0800
Subject: [PATCH] 增加拉流代理修改功能
---
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 40 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
index 2220ede..77164c2 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
@@ -174,7 +174,7 @@
List<DeviceChannel> updateChannels = new ArrayList<>();
HashMap<String, DeviceChannel> channelsInStore = new HashMap<>();
if (channels != null && channels.size() > 0) {
- List<DeviceChannel> channelList = deviceChannelMapper.queryChannelsByDeviceId(deviceId);
+ List<DeviceChannel> channelList = deviceChannelMapper.queryChannels(deviceId, null, null, null, null);
if (channelList.size() == 0) {
for (DeviceChannel channel : channels) {
channel.setDeviceId(deviceId);
@@ -239,6 +239,7 @@
// 鏁版嵁鍘婚噸
List<DeviceChannel> channels = new ArrayList<>();
StringBuilder stringBuilder = new StringBuilder();
+ Map<String, Integer> subContMap = new HashMap<>();
if (deviceChannelList.size() > 1) {
// 鏁版嵁鍘婚噸
Set<String> gbIdSet = new HashSet<>();
@@ -246,10 +247,26 @@
if (!gbIdSet.contains(deviceChannel.getChannelId())) {
gbIdSet.add(deviceChannel.getChannelId());
channels.add(deviceChannel);
+ if (!StringUtils.isEmpty(deviceChannel.getParentId())) {
+ if (subContMap.get(deviceChannel.getParentId()) == null) {
+ subContMap.put(deviceChannel.getParentId(), 1);
+ }else {
+ Integer count = subContMap.get(deviceChannel.getParentId());
+ subContMap.put(deviceChannel.getParentId(), count++);
+ }
+ }
}else {
stringBuilder.append(deviceChannel.getChannelId() + ",");
}
}
+ if (channels.size() > 0) {
+ for (DeviceChannel channel : channels) {
+ if (subContMap.get(channel.getChannelId()) != null){
+ channel.setSubCount(subContMap.get(channel.getChannelId()));
+ }
+ }
+ }
+
}else {
channels = deviceChannelList;
}
@@ -584,7 +601,7 @@
@Override
public List<ChannelReduce> queryChannelListInParentPlatform(String platformId) {
- return deviceChannelMapper.queryChannelListInAll(null, null, null, platformId, null);
+ return deviceChannelMapper.queryChannelListInAll(null, null, null, platformId, platformId);
}
@Override
@@ -688,9 +705,18 @@
streamProxyItem.setCreateTime(now);
streamProxyItem.setCreateStamp(System.currentTimeMillis());
try {
- if (gbStreamMapper.add(streamProxyItem)<0 || streamProxyMapper.add(streamProxyItem) < 0) {
+ if (streamProxyMapper.add(streamProxyItem) > 0) {
+ if (!StringUtils.isEmpty(streamProxyItem.getGbId())) {
+ if (gbStreamMapper.add(streamProxyItem) < 0) {
+ //浜嬪姟鍥炴粴
+ dataSourceTransactionManager.rollback(transactionStatus);
+ return false;
+ }
+ }
+ }else {
//浜嬪姟鍥炴粴
dataSourceTransactionManager.rollback(transactionStatus);
+ return false;
}
result = true;
dataSourceTransactionManager.commit(transactionStatus); //鎵嬪姩鎻愪氦
@@ -714,10 +740,20 @@
boolean result = false;
streamProxyItem.setStreamType("proxy");
try {
- if (gbStreamMapper.update(streamProxyItem)<0 || streamProxyMapper.update(streamProxyItem) < 0) {
+ if (streamProxyMapper.update(streamProxyItem) > 0) {
+ if (!StringUtils.isEmpty(streamProxyItem.getGbId())) {
+ if (gbStreamMapper.update(streamProxyItem) < 0) {
+ //浜嬪姟鍥炴粴
+ dataSourceTransactionManager.rollback(transactionStatus);
+ return false;
+ }
+ }
+ } else {
//浜嬪姟鍥炴粴
dataSourceTransactionManager.rollback(transactionStatus);
+ return false;
}
+
dataSourceTransactionManager.commit(transactionStatus); //鎵嬪姩鎻愪氦
result = true;
}catch (Exception e) {
@@ -852,18 +888,6 @@
@Override
public void updateParentPlatformStatus(String platformGbID, boolean online) {
platformMapper.updateParentPlatformStatus(platformGbID, online);
- }
-
- @Override
- public void updateMediaServer(MediaServerItem mediaServerItem) {
- String now = this.format.format(System.currentTimeMillis());
- mediaServerItem.setUpdateTime(now);
- if (mediaServerMapper.queryOne(mediaServerItem.getId()) != null) {
- mediaServerMapper.update(mediaServerItem);
- }else {
- mediaServerItem.setCreateTime(now);
- mediaServerMapper.add(mediaServerItem);
- }
}
@Override
--
Gitblit v1.8.0