From 22efd0f56c20e1aedb18fa7b9bcdc48007fcc954 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 20 十二月 2021 09:51:51 +0800
Subject: [PATCH] 添加心跳到期时验证zlm是否真的离线。

---
 src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java
index 84c04a1..ffbca9c 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java
@@ -2,6 +2,7 @@
 
 import com.genersoft.iot.vmp.gb28181.bean.GbStream;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
 import org.apache.ibatis.annotations.*;
 import org.springframework.stereotype.Repository;
 
@@ -60,4 +61,36 @@
 
     @Select("SELECT gs.*, pgs.platformId FROM gb_stream gs LEFT JOIN  platform_gb_stream pgs ON gs.app = pgs.app AND gs.stream = pgs.stream WHERE mediaServerId=#{mediaServerId} ")
     List<GbStream> selectAllByMediaServerId(String mediaServerId);
+
+    @Update("UPDATE gb_stream " +
+            "SET status=${status} " +
+            "WHERE mediaServerId=#{mediaServerId} ")
+    void updateStatusByMediaServerId(String mediaServerId, boolean status);
+
+    @Select("SELECT * FROM gb_stream WHERE mediaServerId=#{mediaServerId}")
+    void delByMediaServerId(String mediaServerId);
+
+    @Delete("DELETE FROM gb_stream WHERE streamType=#{type} AND gbId=NULL AND mediaServerId=#{mediaServerId}")
+    void deleteWithoutGBId(String type, String mediaServerId);
+
+    @Delete("<script> "+
+            "DELETE FROM gb_stream where " +
+            "<foreach collection='streamProxyItemList' item='item' separator='or'>" +
+            "(app=#{item.app} and stream=#{item.stream}) " +
+            "</foreach>" +
+            "</script>")
+    void batchDel(List<StreamProxyItem> streamProxyItemList);
+
+    @Insert("<script> " +
+            "insert into gb_stream " +
+            "(app, stream, gbId, name, " +
+            "longitude, latitude, streamType, mediaServerId, status)" +
+            "values " +
+            "<foreach collection='subList' index='index' item='item' separator=','> " +
+            "('${item.app}', '${item.stream}', '${item.gbId}', '${item.name}', " +
+            "'${item.longitude}', '${item.latitude}', '${item.streamType}', " +
+            "'${item.mediaServerId}', ${item.status}) "+
+            "</foreach> " +
+            "</script>")
+    void batchAdd(List<StreamPushItem> subList);
 }

--
Gitblit v1.8.0