修复推流关联平台的bug

This commit is contained in:
648540858 2022-03-15 17:45:55 +08:00
parent 36c720cc55
commit 21367a09a6
2 changed files with 17 additions and 5 deletions

View File

@ -128,15 +128,27 @@ public class ZLMMediaListManager {
if (gbStreams.size() > 0) { if (gbStreams.size() > 0) {
for (GbStream gbStream : gbStreams) { for (GbStream gbStream : gbStreams) {
// 出现使用相同国标Id的视频流时使用新流替换旧流 // 出现使用相同国标Id的视频流时使用新流替换旧流
if (queryKey != null) {
Matcher matcherForStream = pattern.matcher(gbStream.getStream());
String queryKeyForStream = null;
if (matcherForStream.find()) { //此处find每次被调用后会偏移到下一个匹配
queryKeyForStream = matcherForStream.group();
}
if (queryKeyForStream == null || !queryKeyForStream.equals(queryKey)) {
// 此时不是同一个流
gbStreamMapper.del(gbStream.getApp(), gbStream.getStream()); gbStreamMapper.del(gbStream.getApp(), gbStream.getStream());
if (!gbStream.isStatus()) { if (!gbStream.isStatus()) {
streamPushMapper.del(gbStream.getApp(), gbStream.getStream()); streamPushMapper.del(gbStream.getApp(), gbStream.getStream());
} }
} }
} }
}
}
StreamProxyItem streamProxyItem = gbStreamMapper.selectOne(transform.getApp(), transform.getStream()); StreamProxyItem streamProxyItem = gbStreamMapper.selectOne(transform.getApp(), transform.getStream());
if (streamProxyItem != null) { if (streamProxyItem != null) {
transform.setGbStreamId(streamProxyItem.getGbStreamId()); transform.setGbStreamId(streamProxyItem.getGbStreamId());
transform.setPlatformId(streamProxyItem.getPlatformId());
transform.setCatalogId(streamProxyItem.getCatalogId());
gbStreamMapper.update(transform); gbStreamMapper.update(transform);
}else { }else {
transform.setCreateStamp(System.currentTimeMillis()); transform.setCreateStamp(System.currentTimeMillis());

View File

@ -885,9 +885,9 @@ public class VideoManagerStoragerImpl implements IVideoManagerStorager {
List<ParentPlatform> parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream(); List<ParentPlatform> parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream();
if (parentPlatforms.size() > 0) { if (parentPlatforms.size() > 0) {
for (ParentPlatform parentPlatform : parentPlatforms) { for (ParentPlatform parentPlatform : parentPlatforms) {
StreamProxyItem streamProxyItems = platformGbStreamMapper.selectOne(streamPushItem.getApp(), streamPushItem.getStream(), StreamProxyItem streamProxyItem = platformGbStreamMapper.selectOne(streamPushItem.getApp(), streamPushItem.getStream(),
parentPlatform.getServerGBId()); parentPlatform.getServerGBId());
if (streamProxyItems == null) { if (streamProxyItem == null) {
streamPushItem.setCatalogId(parentPlatform.getCatalogId()); streamPushItem.setCatalogId(parentPlatform.getCatalogId());
streamPushItem.setPlatformId(parentPlatform.getServerGBId()); streamPushItem.setPlatformId(parentPlatform.getServerGBId());
platformGbStreamMapper.add(streamPushItem); platformGbStreamMapper.add(streamPushItem);