From ce56d9c0bf35cdea6d3fdbf0f5fee9ddb6280e75 Mon Sep 17 00:00:00 2001
From: luoshuyue <239937404@qq.com>
Date: 星期五, 25 二月 2022 15:05:36 +0800
Subject: [PATCH] 增加获取code为null时的条件
---
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java | 71 +++++++++++++++++++++++++----------
1 files changed, 51 insertions(+), 20 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 1de1650..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
@@ -13,6 +13,8 @@
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
import com.genersoft.iot.vmp.storager.dao.*;
+import com.genersoft.iot.vmp.utils.node.ForestNodeMerger;
+import com.genersoft.iot.vmp.vmanager.bean.DeviceChannelTree;
import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -172,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);
@@ -237,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<>();
@@ -244,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;
}
@@ -326,6 +345,11 @@
@Override
public List<DeviceChannel> queryChannelsByDeviceIdWithStartAndLimit(String deviceId, String query, Boolean hasSubChannel, Boolean online, int start, int limit) {
return deviceChannelMapper.queryChannelsByDeviceIdWithStartAndLimit(deviceId, null, query, hasSubChannel, online, start, limit);
+ }
+
+ @Override
+ public List<DeviceChannelTree> tree(String deviceId) {
+ return ForestNodeMerger.merge(deviceChannelMapper.tree(deviceId));
}
@Override
@@ -568,16 +592,16 @@
@Override
public PageInfo<ChannelReduce> queryAllChannelList(int page, int count, String query, Boolean online,
- Boolean channelType, String platformId, Boolean inPlatform) {
+ Boolean channelType, String platformId, String catalogId) {
PageHelper.startPage(page, count);
- List<ChannelReduce> all = deviceChannelMapper.queryChannelListInAll(query, online, channelType, platformId, inPlatform);
+ List<ChannelReduce> all = deviceChannelMapper.queryChannelListInAll(query, online, channelType, platformId, catalogId);
return new PageInfo<>(all);
}
@Override
public List<ChannelReduce> queryChannelListInParentPlatform(String platformId) {
- return deviceChannelMapper.queryChannelListInAll(null, null, null, platformId, true);
+ return deviceChannelMapper.queryChannelListInAll(null, null, null, platformId, platformId);
}
@Override
@@ -681,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); //鎵嬪姩鎻愪氦
@@ -707,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) {
@@ -848,20 +891,8 @@
}
@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
- public List<StreamProxyItem> getStreamProxyListForEnableInMediaServer(String id, boolean enable) {
- return streamProxyMapper.selectForEnableInMediaServer(id, enable);
+ public List<StreamProxyItem> getStreamProxyListForEnableInMediaServer(String id, boolean enable, boolean status) {
+ return streamProxyMapper.selectForEnableInMediaServer(id, enable, status);
}
--
Gitblit v1.8.0