From a45bb7d9df6c57a05fdc5c8d750c288283f91e49 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 07 三月 2022 08:27:38 +0800
Subject: [PATCH] 导出sql
---
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java | 46 +++++++++++++++++++++++++++++++---------------
1 files changed, 31 insertions(+), 15 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 fabf267..ce45088 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
@@ -1,5 +1,6 @@
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.gb28181.bean.*;
import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
@@ -13,6 +14,7 @@
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.storager.dao.dto.ChannelSourceInfo;
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;
@@ -156,7 +158,10 @@
public synchronized void updateChannel(String deviceId, DeviceChannel channel) {
String channelId = channel.getChannelId();
channel.setDeviceId(deviceId);
- channel.setStreamId(streamSession.getStreamId(deviceId, channel.getChannelId()));
+ StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channelId);
+ if (streamInfo != null) {
+ channel.setStreamId(streamInfo.getStream());
+ }
String now = this.format.format(System.currentTimeMillis());
channel.setUpdateTime(now);
DeviceChannel deviceChannel = deviceChannelMapper.queryChannel(deviceId, channelId);
@@ -178,7 +183,10 @@
if (channelList.size() == 0) {
for (DeviceChannel channel : channels) {
channel.setDeviceId(deviceId);
- channel.setStreamId(streamSession.getStreamId(deviceId, channel.getChannelId()));
+ StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channel.getChannelId());
+ if (streamInfo != null) {
+ channel.setStreamId(streamInfo.getStream());
+ }
String now = this.format.format(System.currentTimeMillis());
channel.setUpdateTime(now);
channel.setCreateTime(now);
@@ -189,9 +197,11 @@
channelsInStore.put(deviceChannel.getChannelId(), deviceChannel);
}
for (DeviceChannel channel : channels) {
- String channelId = channel.getChannelId();
channel.setDeviceId(deviceId);
- channel.setStreamId(streamSession.getStreamId(deviceId, channel.getChannelId()));
+ StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channel.getChannelId());
+ if (streamInfo != null) {
+ channel.setStreamId(streamInfo.getStream());
+ }
String now = this.format.format(System.currentTimeMillis());
channel.setUpdateTime(now);
if (channelsInStore.get(channel.getChannelId()) != null) {
@@ -274,7 +284,8 @@
logger.debug("[鐩綍鏌ヨ]鏀跺埌鐨勬暟鎹瓨鍦ㄩ噸澶嶏細 {}" , stringBuilder);
}
try {
- int cleanChannelsResult = deviceChannelMapper.cleanChannelsByDeviceId(deviceId);
+// int cleanChannelsResult = deviceChannelMapper.cleanChannelsByDeviceId(deviceId);
+ int cleanChannelsResult = deviceChannelMapper.cleanChannelsNotInList(deviceId, channels);
int limitCount = 300;
boolean result = cleanChannelsResult < 0;
if (!result && channels.size() > 0) {
@@ -607,19 +618,19 @@
@Override
public int updateChannelForGB(String platformId, List<ChannelReduce> channelReduces, String catalogId) {
- Map<String, ChannelReduce> deviceAndChannels = new HashMap<>();
+ Map<Integer, ChannelReduce> deviceAndChannels = new HashMap<>();
for (ChannelReduce channelReduce : channelReduces) {
channelReduce.setCatalogId(catalogId);
- deviceAndChannels.put(channelReduce.getDeviceId() + "_" + channelReduce.getChannelId(), channelReduce);
+ deviceAndChannels.put(channelReduce.getId(), channelReduce);
}
- List<String> deviceAndChannelList = new ArrayList<>(deviceAndChannels.keySet());
+ List<Integer> deviceAndChannelList = new ArrayList<>(deviceAndChannels.keySet());
// 鏌ヨ褰撳墠宸茬粡瀛樺湪鐨�
- List<String> relatedPlatformchannels = platformChannelMapper.findChannelRelatedPlatform(platformId, deviceAndChannelList);
- if (relatedPlatformchannels != null) {
- deviceAndChannelList.removeAll(relatedPlatformchannels);
+ List<Integer> channelIds = platformChannelMapper.findChannelRelatedPlatform(platformId, channelReduces);
+ if (deviceAndChannelList != null) {
+ deviceAndChannelList.removeAll(channelIds);
}
- for (String relatedPlatformchannel : relatedPlatformchannels) {
- deviceAndChannels.remove(relatedPlatformchannel);
+ for (Integer channelId : channelIds) {
+ deviceAndChannels.remove(channelId);
}
List<ChannelReduce> channelReducesToAdd = new ArrayList<>(deviceAndChannels.values());
// 瀵瑰墿涓嬬殑鏁版嵁杩涜瀛樺偍
@@ -707,7 +718,7 @@
try {
if (streamProxyMapper.add(streamProxyItem) > 0) {
if (!StringUtils.isEmpty(streamProxyItem.getGbId())) {
- if (gbStreamMapper.add(streamProxyItem) > 0) {
+ if (gbStreamMapper.add(streamProxyItem) < 0) {
//浜嬪姟鍥炴粴
dataSourceTransactionManager.rollback(transactionStatus);
return false;
@@ -748,7 +759,7 @@
return false;
}
}
- }else {
+ } else {
//浜嬪姟鍥炴粴
dataSourceTransactionManager.rollback(transactionStatus);
return false;
@@ -1095,4 +1106,9 @@
public PlatformCatalog queryDefaultCatalogInPlatform(String platformId) {
return catalogMapper.selectDefaultByPlatFormId(platformId);
}
+
+ @Override
+ public List<ChannelSourceInfo> getChannelSource(String platformId, String gbId) {
+ return platformMapper.getChannelSource(platformId, gbId);
+ }
}
--
Gitblit v1.8.0