From c547851487a8e24f93405ace3c0359d0d6790364 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 25 一月 2022 19:38:04 +0800 Subject: [PATCH] 优化zlm上线与下线过时通道的移除 --- src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java | 8 +++++--- src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java | 13 ++++++++++++- src/main/resources/application-dev.yml | 2 +- src/main/resources/application-docker.yml | 2 +- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java index d3d3249..948c61a 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java @@ -118,7 +118,7 @@ @Override public List<StreamPushItem> getPushList(String mediaServerId) { - return streamPushMapper.selectAllByMediaServerId(mediaServerId); + return streamPushMapper.selectAllByMediaServerIdWithOutGbID(mediaServerId); } @Override @@ -204,7 +204,9 @@ Map<String, MediaItem> streamInfoPushItemMap = new HashMap<>(); if (pushList.size() > 0) { for (StreamPushItem streamPushItem : pushList) { - pushItemMap.put(streamPushItem.getApp() + streamPushItem.getStream(), streamPushItem); + if (StringUtils.isEmpty(streamPushItem.getGbId())) { + pushItemMap.put(streamPushItem.getApp() + streamPushItem.getStream(), streamPushItem); + } } } if (mediaItems.size() > 0) { @@ -268,7 +270,7 @@ @Override public void zlmServerOffline(String mediaServerId) { - List<StreamPushItem> streamPushItems = streamPushMapper.selectAllByMediaServerId(mediaServerId); + List<StreamPushItem> streamPushItems = streamPushMapper.selectAllByMediaServerIdWithOutGbID(mediaServerId); // 绉婚櫎娌℃湁GBId鐨勬帹娴� streamPushMapper.deleteWithoutGBId(mediaServerId); gbStreamMapper.deleteWithoutGBId("push", mediaServerId); diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java index e072e27..08b7c82 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java @@ -33,6 +33,14 @@ int del(String app, String stream); @Delete("<script> "+ + "DELETE sp FROM stream_push sp left join gb_stream gs on sp.app = gs.app AND sp.stream = gs.stream where " + + "<foreach collection='streamPushItems' item='item' separator='or'>" + + "(sp.app=#{item.app} and sp.stream=#{item.stream} and gs.gbId is null) " + + "</foreach>" + + "</script>") + int delAllWithoutGBId(List<StreamPushItem> streamPushItems); + + @Delete("<script> "+ "DELETE FROM stream_push where " + "<foreach collection='streamPushItems' item='item' separator='or'>" + "(app=#{item.app} and stream=#{item.stream}) " + @@ -62,10 +70,13 @@ @Delete("DELETE FROM stream_push") void clear(); - @Delete("DELETE FROM stream_push WHERE mediaServerId=#{mediaServerId}") + @Delete("DELETE sp FROM stream_push sp left join gb_stream gs on gs.app = sp.app and gs.stream= sp.stream WHERE sp.mediaServerId=#{mediaServerId} and gs.gbId is null ") void deleteWithoutGBId(String mediaServerId); @Select("SELECT * FROM stream_push WHERE mediaServerId=#{mediaServerId}") List<StreamPushItem> selectAllByMediaServerId(String mediaServerId); + @Select("SELECT sp.* FROM stream_push sp left join gb_stream gs on gs.app = sp.app and gs.stream= sp.stream WHERE sp.mediaServerId=#{mediaServerId} and gs.gbId is null") + List<StreamPushItem> selectAllByMediaServerIdWithOutGbID(String mediaServerId); + } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 1051d96..55443fc 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -20,7 +20,7 @@ datasource: # 浣跨敤mysql 鎵撳紑23-28琛屾敞閲婏紝 鍒犻櫎29-36琛� name: wvp - url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&allowMultiQueries=true + url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&allowMultiQueries=true&useSSL=false username: password: type: com.alibaba.druid.pool.DruidDataSource diff --git a/src/main/resources/application-docker.yml b/src/main/resources/application-docker.yml index 2f6992f..98c1335 100644 --- a/src/main/resources/application-docker.yml +++ b/src/main/resources/application-docker.yml @@ -20,7 +20,7 @@ datasource: # 浣跨敤mysql 鎵撳紑23-28琛屾敞閲婏紝 鍒犻櫎29-36琛� name: wvp - url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&allowMultiQueries=true + url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&allowMultiQueries=true&useSSL=false username: root password: root type: com.alibaba.druid.pool.DruidDataSource -- Gitblit v1.8.0