648540858
2022-03-15 66aac4526b8fc63912e0015ff2fdfeabcec015ce
修复推流关联平台的bug
2个文件已修改
22 ■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
@@ -128,15 +128,27 @@
            if (gbStreams.size() > 0) {
                for (GbStream gbStream : gbStreams) {
                    // 出现使用相同国标Id的视频流时,使用新流替换旧流,
                    gbStreamMapper.del(gbStream.getApp(), gbStream.getStream());
                    if (!gbStream.isStatus()) {
                        streamPushMapper.del(gbStream.getApp(), gbStream.getStream());
                    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());
                            if (!gbStream.isStatus()) {
                                streamPushMapper.del(gbStream.getApp(), gbStream.getStream());
                            }
                        }
                    }
                }
            }
            StreamProxyItem streamProxyItem = gbStreamMapper.selectOne(transform.getApp(), transform.getStream());
            if (streamProxyItem != null) {
                transform.setGbStreamId(streamProxyItem.getGbStreamId());
                transform.setPlatformId(streamProxyItem.getPlatformId());
                transform.setCatalogId(streamProxyItem.getCatalogId());
                gbStreamMapper.update(transform);
            }else {
                transform.setCreateStamp(System.currentTimeMillis());
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
@@ -885,9 +885,9 @@
            List<ParentPlatform> parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream();
            if (parentPlatforms.size() > 0) {
                for (ParentPlatform parentPlatform : parentPlatforms) {
                    StreamProxyItem streamProxyItems = platformGbStreamMapper.selectOne(streamPushItem.getApp(), streamPushItem.getStream(),
                    StreamProxyItem streamProxyItem = platformGbStreamMapper.selectOne(streamPushItem.getApp(), streamPushItem.getStream(),
                            parentPlatform.getServerGBId());
                    if (streamProxyItems == null) {
                    if (streamProxyItem == null) {
                        streamPushItem.setCatalogId(parentPlatform.getCatalogId());
                        streamPushItem.setPlatformId(parentPlatform.getServerGBId());
                        platformGbStreamMapper.add(streamPushItem);