| | |
| | | package com.genersoft.iot.vmp.storager.dao; |
| | | |
| | | import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; |
| | | 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; |
| | |
| | | public interface GbStreamMapper { |
| | | |
| | | @Insert("REPLACE INTO gb_stream (app, stream, gbId, name, " + |
| | | "longitude, latitude, streamType, mediaServerId, status, createStamp) VALUES" + |
| | | "longitude, latitude, streamType, mediaServerId, createTime) VALUES" + |
| | | "('${app}', '${stream}', '${gbId}', '${name}', " + |
| | | "'${longitude}', '${latitude}', '${streamType}', " + |
| | | "'${mediaServerId}', ${status}, ${createStamp})") |
| | | "'${mediaServerId}', '${createTime}')") |
| | | @Options(useGeneratedKeys = true, keyProperty = "gbStreamId", keyColumn = "gbStreamId") |
| | | int add(GbStream gbStream); |
| | | |
| | | @Update("UPDATE gb_stream " + |
| | |
| | | "streamType=#{streamType}," + |
| | | "longitude=#{longitude}, " + |
| | | "latitude=#{latitude}," + |
| | | "mediaServerId=#{mediaServerId}," + |
| | | "status=${status} " + |
| | | "mediaServerId=#{mediaServerId}" + |
| | | "WHERE app=#{app} AND stream=#{stream}") |
| | | int updateByAppAndStream(GbStream gbStream); |
| | | |
| | | @Update("UPDATE gb_stream " + |
| | | "SET app=#{app}," + |
| | | "stream=#{stream}," + |
| | | "gbId=#{gbId}," + |
| | | "name=#{name}," + |
| | | "streamType=#{streamType}," + |
| | | "longitude=#{longitude}, " + |
| | | "latitude=#{latitude}," + |
| | | "mediaServerId=#{mediaServerId}" + |
| | | "WHERE gbStreamId=#{gbStreamId}") |
| | | int update(GbStream gbStream); |
| | | |
| | | @Delete("DELETE FROM gb_stream WHERE app=#{app} AND stream=#{stream}") |
| | |
| | | " <if test='catalogId == null'> AND gs.gbStreamId not in" + |
| | | "(select pgs.gbStreamId from platform_gb_stream pgs where pgs.platformId = #{platformId}) </if> " + |
| | | " <if test='query != null'> AND (gs.app LIKE '%${query}%' OR gs.stream LIKE '%${query}%' OR gs.gbId LIKE '%${query}%' OR gs.name LIKE '%${query}%')</if> " + |
| | | " <if test='pushing == true' > AND gs.status=1</if>" + |
| | | " <if test='pushing == false' > AND gs.status=0</if>" + |
| | | " <if test='mediaServerId != null' > AND gs.mediaServerId=#{mediaServerId} </if>" + |
| | | " order by gs.gbStreamId asc " + |
| | | "</script>") |
| | | List<GbStream> selectAll(String platformId, String catalogId, String query, Boolean pushing, String mediaServerId); |
| | | List<GbStream> selectAll(String platformId, String catalogId, String query, String mediaServerId); |
| | | |
| | | @Select("SELECT * FROM gb_stream WHERE app=#{app} AND stream=#{stream}") |
| | | StreamProxyItem selectOne(String app, String stream); |
| | | GbStream selectOne(String app, String stream); |
| | | |
| | | @Select("SELECT * FROM gb_stream WHERE gbId=#{gbId}") |
| | | List<GbStream> selectByGBId(String gbId); |
| | | |
| | | @Select("SELECT gs.*, pgs.platformId as platformId, pgs.catalogId as catalogId FROM gb_stream gs " + |
| | | "LEFT JOIN platform_gb_stream pgs ON gs.gbStreamId = pgs.catalogId " + |
| | | "LEFT JOIN platform_gb_stream pgs ON gs.gbStreamId = pgs.gbStreamId " + |
| | | "WHERE gs.gbId = '${gbId}' AND pgs.platformId = '${platformId}'") |
| | | GbStream queryStreamInPlatform(String platformId, String gbId); |
| | | |
| | | @Select("SELECT gs.*, pgs.platformId as platformId, pgs.catalogId as catalogId FROM gb_stream gs " + |
| | | "LEFT JOIN platform_gb_stream pgs ON gs.gbStreamId = pgs.gbStreamId " + |
| | | "WHERE pgs.platformId = #{platformId}") |
| | | List<GbStream> queryGbStreamListInPlatform(String platformId); |
| | | @Select("<script> "+ |
| | | "select gt.gbId as channelId, gt.name, 'wvp-pro' as manufacture, st.status, gt.longitude, gt.latitude, pc.id as parentId," + |
| | | " '1' as registerWay, pc.civilCode, 'live' as model, 'wvp-pro' as owner, '0' as parental,'0' as secrecy" + |
| | | " from gb_stream gt " + |
| | | " left join (" + |
| | | " select " + |
| | | " <if test='usPushingAsStatus != true'> sp.status as status, </if>" + |
| | | " <if test='usPushingAsStatus == true'> sp.pushIng as status, </if>" + |
| | | "sp.app, sp.stream from stream_push sp" + |
| | | " union all" + |
| | | " select spxy.status, spxy.app, spxy.stream from stream_proxy spxy" + |
| | | " ) st on st.app = gt.app and st.stream = gt.stream" + |
| | | " left join platform_gb_stream pgs on gt.gbStreamId = pgs.gbStreamId" + |
| | | " left join platform_catalog pc on pgs.catalogId = pc.id and pgs.platformId = pc.platformId" + |
| | | " where pgs.platformId=#{platformId}" + |
| | | "</script>") |
| | | List<DeviceChannel> queryGbStreamListInPlatform(String platformId, boolean usPushingAsStatus); |
| | | |
| | | |
| | | @Select("SELECT gs.* FROM gb_stream gs LEFT JOIN platform_gb_stream pgs " + |
| | | "ON gs.gbStreamId = pgs.gbStreamId WHERE pgs.gbStreamId is NULL") |
| | | List<GbStream> queryStreamNotInPlatform(); |
| | | |
| | | @Update("UPDATE gb_stream " + |
| | | "SET status=${status} " + |
| | | "WHERE app=#{app} AND stream=#{stream}") |
| | | int setStatus(String app, String stream, boolean status); |
| | | |
| | | @Update("UPDATE gb_stream " + |
| | | "SET status=${status} " + |
| | | "WHERE mediaServerId=#{mediaServerId} ") |
| | | void updateStatusByMediaServerId(String mediaServerId, boolean status); |
| | | |
| | | @Delete("DELETE FROM gb_stream WHERE streamType=#{type} AND gbId=NULL AND mediaServerId=#{mediaServerId}") |
| | | void deleteWithoutGBId(String type, String mediaServerId); |
| | |
| | | @Insert("<script> " + |
| | | "INSERT IGNORE into gb_stream " + |
| | | "(app, stream, gbId, name, " + |
| | | "longitude, latitude, streamType, mediaServerId, status, createStamp)" + |
| | | "longitude, latitude, streamType, mediaServerId, createTime)" + |
| | | "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}, ${item.createStamp}) "+ |
| | | "'${item.mediaServerId}', '${item.createTime}') "+ |
| | | "</foreach> " + |
| | | "</script>") |
| | | @Options(useGeneratedKeys = true, keyProperty = "gbStreamId", keyColumn = "gbStreamId") |
| | |
| | | "</foreach>" + |
| | | "</script>") |
| | | List<GbStream> selectAllForAppAndStream(List<StreamPushItem> streamPushItems); |
| | | |
| | | @Update("UPDATE gb_stream " + |
| | | "SET mediaServerId=#{mediaServerId}" + |
| | | "WHERE app=#{app} AND stream=#{stream}") |
| | | void updateMediaServer(String app, String stream, String mediaServerId); |
| | | |
| | | @Update("<script> "+ |
| | | " <foreach collection='list' item='item' index='index' separator=';'>"+ |
| | | "UPDATE gb_stream " + |
| | | " SET name=#{item.name},"+ |
| | | " gbId=#{item.gbId}"+ |
| | | " WHERE app=#{item.app} and stream=#{item.stream}"+ |
| | | "</foreach>"+ |
| | | "</script>") |
| | | int updateGbIdOrName(List<StreamPushItem> streamPushItemForUpdate); |
| | | |
| | | @Select("SELECT status FROM stream_proxy WHERE app=#{app} AND stream=#{stream}") |
| | | Boolean selectStatusForProxy(String app, String stream); |
| | | |
| | | @Select("SELECT status FROM stream_push WHERE app=#{app} AND stream=#{stream}") |
| | | Boolean selectStatusForPush(String app, String stream); |
| | | } |