From c084d6c98af1ef4d36a61adc719df5db76589428 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期六, 07 十月 2023 18:00:08 +0800 Subject: [PATCH] 优化国标级联心跳失败判断逻辑 --- src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java | 44 +++++++++++++++++++++++++++++++------------- 1 files changed, 31 insertions(+), 13 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 old mode 100644 new mode 100755 index fefdab3..be0924a --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamPushMapper.java @@ -3,7 +3,6 @@ import com.genersoft.iot.vmp.gb28181.bean.GbStream; import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; import com.genersoft.iot.vmp.service.bean.StreamPushItemFromRedis; -import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo; import org.apache.ibatis.annotations.*; import org.springframework.stereotype.Repository; @@ -14,9 +13,9 @@ public interface StreamPushMapper { @Insert("INSERT INTO wvp_stream_push (app, stream, total_reader_count, origin_type, origin_type_str, " + - "push_time, alive_second, media_server_id, server_id, update_time, create_time, push_ing, self) VALUES" + + "push_time, alive_second, media_server_id, update_time, create_time, push_ing, self) VALUES" + "(#{app}, #{stream}, #{totalReaderCount}, #{originType}, #{originTypeStr}, " + - "#{pushTime}, #{aliveSecond}, #{mediaServerId} , #{serverId} , #{updateTime} , #{createTime}, " + + "#{pushTime}, #{aliveSecond}, #{mediaServerId} , #{updateTime} , #{createTime}, " + "#{pushIng}, #{self} )") int add(StreamPushItem streamPushItem); @@ -80,16 +79,16 @@ " <if test='mediaServerId != null' > AND st.media_server_id=#{mediaServerId} </if>" + "order by st.create_time desc" + " </script>"}) - List<StreamPushItem> selectAllForList(String query, Boolean pushing, String mediaServerId); + List<StreamPushItem> selectAllForList(@Param("query") String query, @Param("pushing") Boolean pushing, @Param("mediaServerId") String mediaServerId); @Select("SELECT st.*, gs.gb_id, gs.name, gs.longitude, gs.latitude FROM wvp_stream_push st LEFT join wvp_gb_stream gs on st.app = gs.app AND st.stream = gs.stream order by st.create_time desc") List<StreamPushItem> selectAll(); @Select("SELECT st.*, gs.gb_id, gs.name, gs.longitude, gs.latitude FROM wvp_stream_push st LEFT join wvp_gb_stream gs on st.app = gs.app AND st.stream = gs.stream WHERE st.app=#{app} AND st.stream=#{stream}") - StreamPushItem selectOne(String app, String stream); + StreamPushItem selectOne(@Param("app") String app, @Param("stream") String stream); @Insert("<script>" + - "Insert IGNORE INTO wvp_stream_push (app, stream, total_reader_count, origin_type, origin_type_str, " + + "Insert INTO wvp_stream_push (app, stream, total_reader_count, origin_type, origin_type_str, " + "create_time, alive_second, media_server_id, status, push_ing) " + "VALUES <foreach collection='streamPushItems' item='item' index='index' separator=','>" + "( #{item.app}, #{item.stream}, #{item.totalReaderCount}, #{item.originType}, " + @@ -103,7 +102,15 @@ @Delete("DELETE FROM wvp_stream_push") void clear(); - @Delete("DELETE sp FROM wvp_stream_push sp left join wvp_gb_stream gs on gs.app = sp.app and gs.stream= sp.stream WHERE sp.media_server_id=#{mediaServerId} and gs.gb_id is null ") + @Delete("delete" + + " from wvp_stream_push " + + " where id in " + + " (select temp.id from " + + " (select wgs.gb_stream_id as id " + + " from wvp_gb_stream wgs" + + " left join wvp_stream_push sp on sp.id = wgs.gb_stream_id" + + " where wgs.gb_id is null and wgs.media_server_id = #{mediaServerId}) temp)" + ) void deleteWithoutGBId(String mediaServerId); @Select("SELECT * FROM wvp_stream_push WHERE media_server_id=#{mediaServerId}") @@ -115,17 +122,17 @@ @Update("UPDATE wvp_stream_push " + "SET status=#{status} " + "WHERE app=#{app} AND stream=#{stream}") - int updateStatus(String app, String stream, boolean status); + int updateStatus(@Param("app") String app, @Param("stream") String stream, @Param("status") boolean status); @Update("UPDATE wvp_stream_push " + "SET push_ing=#{pushIng} " + "WHERE app=#{app} AND stream=#{stream}") - int updatePushStatus(String app, String stream, boolean pushIng); + int updatePushStatus(@Param("app") String app, @Param("stream") String stream, @Param("pushIng") boolean pushIng); @Update("UPDATE wvp_stream_push " + "SET status=#{status} " + "WHERE media_server_id=#{mediaServerId}") - void updateStatusByMediaServerId(String mediaServerId, boolean status); + void updateStatusByMediaServerId(@Param("mediaServerId") String mediaServerId, @Param("status") boolean status); @Select("<script> "+ @@ -171,9 +178,20 @@ @Select("SELECT CONCAT(app,stream) from wvp_gb_stream") List<String> getAllAppAndStream(); + @Select("select count(1) from wvp_stream_push ") + int getAllCount(); + @Select(value = {" <script>" + - " <if test='pushIngAsOnline == true'> select count(1) as total, sum(push_ing) as online from wvp_stream_push </if>" + - " <if test='pushIngAsOnline == false'> select count(1) as total, sum(status) as online from wvp_stream_push </if>" + + " <if test='pushIngAsOnline == true'> select count(1) from wvp_stream_push where push_ing = true </if>" + + " <if test='pushIngAsOnline == false'> select count(1)from wvp_stream_push where status = true </if>" + " </script>"}) - ResourceBaceInfo getOverview(boolean pushIngAsOnline); + int getAllOnline(Boolean usePushingAsStatus); + + @Select("<script> " + + "select app, stream from wvp_stream_push where (app, stream) in " + + "<foreach collection='streamPushItems' item='item' separator=','>" + + "(#{item.app}, #{item.stream}) " + + "</foreach>" + + "</script>") + List<StreamPushItem> getListIn(List<StreamPushItem> streamPushItems); } -- Gitblit v1.8.0