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