From 5bcd8495e03b08ff417f74f816d20e028f9b1fe0 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期日, 20 二月 2022 16:22:43 +0800
Subject: [PATCH] 兼容海康不规范的xml,大幅度提高通道分页查询速度,优化节点的保活。
---
src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 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 08b7c82..3379c9f 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
@@ -1,5 +1,6 @@
package com.genersoft.iot.vmp.storager.dao;
+import com.genersoft.iot.vmp.gb28181.bean.GbStream;
import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
@@ -48,6 +49,33 @@
"</script>")
int delAll(List<StreamPushItem> streamPushItems);
+ @Delete("<script> "+
+ "DELETE FROM stream_push where " +
+ "<foreach collection='gbStreams' item='item' separator='or'>" +
+ "(app=#{item.app} and stream=#{item.stream}) " +
+ "</foreach>" +
+ "</script>")
+ int delAllForGbStream(List<GbStream> gbStreams);
+
+
+ @Select(value = {" <script>" +
+ "SELECT " +
+ "st.*, " +
+ "pgs.gbId, pgs.status, pgs.name, pgs.longitude, pgs.latitude " +
+ "from " +
+ "stream_push st " +
+ "LEFT JOIN gb_stream pgs " +
+ "on st.app = pgs.app AND st.stream = pgs.stream " +
+ "WHERE " +
+ "1=1 " +
+ " <if test='query != null'> AND (st.app LIKE '%${query}%' OR st.stream LIKE '%${query}%' OR pgs.gbId LIKE '%${query}%' OR pgs.name LIKE '%${query}%')</if> " +
+ " <if test='pushing == true' > AND (pgs.gbId is null OR pgs.status=1)</if>" +
+ " <if test='pushing == false' > AND pgs.status=0</if>" +
+ " <if test='mediaServerId != null' > AND st.mediaServerId=#{mediaServerId} </if>" +
+ "order by st.createStamp desc" +
+ " </script>"})
+ List<StreamPushItem> selectAllForList(String query, Boolean pushing, String mediaServerId);
+
@Select("SELECT st.*, pgs.gbId, pgs.status, pgs.name, pgs.longitude, pgs.latitude FROM stream_push st LEFT JOIN gb_stream pgs on st.app = pgs.app AND st.stream = pgs.stream order by st.createStamp desc")
List<StreamPushItem> selectAll();
--
Gitblit v1.8.0