package com.genersoft.iot.vmp.storager.dao; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; import com.genersoft.iot.vmp.storager.dao.dto.ChannelSourceInfo; import org.apache.ibatis.annotations.*; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; /** * 用于存储上级平台 */ @Mapper @Repository public interface ParentPlatformMapper { @Insert("INSERT INTO wvp_platform (enable, name, server_gb_id, server_gb_domain, server_ip, server_port,device_gb_id,device_ip,"+ "device_port,username,password,expires,keep_timeout,transport,character_set,ptz,rtcp,as_message_channel,auto_push_channel,"+ "status,start_offline_push,catalog_id,administrative_division,catalog_group,create_time,update_time) " + " VALUES (#{enable}, #{name}, #{serverGBId}, #{serverGBDomain}, #{serverIP}, #{serverPort}, #{deviceGBId}, #{deviceIp}, " + " #{devicePort}, #{username}, #{password}, #{expires}, #{keepTimeout}, #{transport}, #{characterSet}, #{ptz}, #{rtcp}, #{asMessageChannel}, #{autoPushChannel}, " + " #{status}, #{startOfflinePush}, #{catalogId}, #{administrativeDivision}, #{catalogGroup}, #{createTime}, #{updateTime})") int addParentPlatform(ParentPlatform parentPlatform); @Update("UPDATE wvp_platform " + "SET enable=#{enable}, " + "name=#{name}," + "device_gb_id=#{deviceGBId}," + "server_gb_id=#{serverGBId}, " + "server_gb_domain=#{serverGBDomain}, " + "server_ip=#{serverIP}," + "server_port=#{serverPort}, " + "device_ip=#{deviceIp}, " + "device_port=#{devicePort}, " + "username=#{username}, " + "password=#{password}, " + "expires=#{expires}, " + "keep_timeout=#{keepTimeout}, " + "transport=#{transport}, " + "character_set=#{characterSet}, " + "ptz=#{ptz}, " + "rtcp=#{rtcp}, " + "as_message_channel=#{asMessageChannel}, " + "auto_push_channel=#{autoPushChannel}, " + "status=#{status}, " + "start_offline_push=#{startOfflinePush}, " + "catalog_group=#{catalogGroup}, " + "administrative_division=#{administrativeDivision}, " + "create_time=#{createTime}, " + "update_time=#{updateTime}, " + "catalog_id=#{catalogId} " + "WHERE id=#{id}") int updateParentPlatform(ParentPlatform parentPlatform); @Delete("DELETE FROM wvp_platform WHERE server_gb_id=#{serverGBId}") int delParentPlatform(ParentPlatform parentPlatform); @Select("SELECT *, ((SELECT count(0)\n" + " FROM wvp_platform_gb_channel pc\n" + " WHERE pc.platform_id = pp.server_gb_id)\n" + " +\n" + " (SELECT count(0)\n" + " FROM wvp_platform_gb_stream pgs\n" + " WHERE pgs.platform_id = pp.server_gb_id)\n" + " +\n" + " (SELECT count(0)\n" + " FROM wvp_platform_catalog pgc\n" + " WHERE pgc.platform_id = pp.server_gb_id)) as channel_count\n" + "FROM wvp_platform pp ") List getParentPlatformList(); @Select("SELECT * FROM wvp_platform WHERE enable=#{enable} ") List getEnableParentPlatformList(boolean enable); @Select("SELECT * FROM wvp_platform WHERE enable=true and as_message_channel=true") List queryEnablePlatformListWithAsMessageChannel(); @Select("SELECT * FROM wvp_platform WHERE server_gb_id=#{platformGbId}") ParentPlatform getParentPlatByServerGBId(String platformGbId); @Select("SELECT * FROM wvp_platform WHERE id=#{id}") ParentPlatform getParentPlatById(int id); @Update("UPDATE wvp_platform SET status=false" ) int outlineForAllParentPlatform(); @Update("UPDATE wvp_platform SET status=#{online} WHERE server_gb_id=#{platformGbID}" ) int updateParentPlatformStatus(@Param("platformGbID") String platformGbID, @Param("online") boolean online); @Update(value = {" "}) int setDefaultCatalog(@Param("platformId") String platformId, @Param("catalogId") String catalogId, @Param("updateTime") String updateTime); @Select("select 'channel' as name, count(pgc.platform_id) count from wvp_platform_gb_channel pgc left join wvp_device_channel dc on dc.id = pgc.device_channel_id where pgc.platform_id=#{platform_id} and dc.channel_id =#{gbId} " + "union " + "select 'stream' as name, count(pgs.platform_id) count from wvp_platform_gb_stream pgs left join wvp_gb_stream gs on pgs.gb_stream_id = gs.gb_stream_id where pgs.platform_id=#{platform_id} and gs.gb_id =#{gbId}") List getChannelSource(@Param("platform_id") String platform_id, @Param("gbId") String gbId); }