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/storager/dao/StreamPushMapper.java |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

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);
+
 }

--
Gitblit v1.8.0