|  |  |  | 
|---|
|  |  |  | 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.springframework.stereotype.Repository; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | public interface ParentPlatformMapper { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Insert("INSERT INTO parent_platform (enable, name, serverGBId, serverGBDomain, serverIP, serverPort, deviceGBId, deviceIp,  " + | 
|---|
|  |  |  | "            devicePort, username, password, expires, keepTimeout, transport, characterSet, PTZEnable, rtcp, " + | 
|---|
|  |  |  | "            status) " + | 
|---|
|  |  |  | "            VALUES (${enable}, '${name}', '${serverGBId}', '${serverGBDomain}', '${serverIP}', ${serverPort}, '${deviceGBId}', '${deviceIp}', " + | 
|---|
|  |  |  | "            '${devicePort}', '${username}', '${password}', '${expires}', '${keepTimeout}', '${transport}', '${characterSet}', ${PTZEnable}, ${rtcp}, " + | 
|---|
|  |  |  | "            ${status})") | 
|---|
|  |  |  | "            devicePort, username, password, expires, keepTimeout, transport, characterSet, ptz, rtcp, asMessageChannel, " + | 
|---|
|  |  |  | "            status, startOfflinePush, catalogId, administrativeDivision, catalogGroup, createTime, updateTime, treeType) " + | 
|---|
|  |  |  | "            VALUES (#{enable}, #{name}, #{serverGBId}, #{serverGBDomain}, #{serverIP}, #{serverPort}, #{deviceGBId}, #{deviceIp}, " + | 
|---|
|  |  |  | "            #{devicePort}, #{username}, #{password}, #{expires}, #{keepTimeout}, #{transport}, #{characterSet}, #{ptz}, #{rtcp}, #{asMessageChannel}, " + | 
|---|
|  |  |  | "            #{status},  #{startOfflinePush}, #{catalogId}, #{administrativeDivision}, #{catalogGroup}, #{createTime}, #{updateTime}, #{treeType})") | 
|---|
|  |  |  | int addParentPlatform(ParentPlatform parentPlatform); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Update("UPDATE parent_platform " + | 
|---|
|  |  |  | "SET enable=#{enable}, " + | 
|---|
|  |  |  | "name=#{name}," + | 
|---|
|  |  |  | "serverGBId=#{serverGBId}," + | 
|---|
|  |  |  | "deviceGBId=#{deviceGBId}," + | 
|---|
|  |  |  | "serverGBId=#{serverGBId}, " + | 
|---|
|  |  |  | "serverGBDomain=#{serverGBDomain}, " + | 
|---|
|  |  |  | "serverIP=#{serverIP}," + | 
|---|
|  |  |  | "serverPort=#{serverPort}, " + | 
|---|
|  |  |  | 
|---|
|  |  |  | "keepTimeout=#{keepTimeout}, " + | 
|---|
|  |  |  | "transport=#{transport}, " + | 
|---|
|  |  |  | "characterSet=#{characterSet}, " + | 
|---|
|  |  |  | "PTZEnable=#{PTZEnable}, " + | 
|---|
|  |  |  | "ptz=#{ptz}, " + | 
|---|
|  |  |  | "rtcp=#{rtcp}, " + | 
|---|
|  |  |  | "status=#{status} " + | 
|---|
|  |  |  | "WHERE deviceGBId=#{deviceGBId}") | 
|---|
|  |  |  | "asMessageChannel=#{asMessageChannel}, " + | 
|---|
|  |  |  | "status=#{status}, " + | 
|---|
|  |  |  | "startOfflinePush=#{startOfflinePush}, " + | 
|---|
|  |  |  | "catalogGroup=#{catalogGroup}, " + | 
|---|
|  |  |  | "administrativeDivision=#{administrativeDivision}, " + | 
|---|
|  |  |  | "createTime=#{createTime}, " + | 
|---|
|  |  |  | "updateTime=#{updateTime}, " + | 
|---|
|  |  |  | "treeType=#{treeType}, " + | 
|---|
|  |  |  | "catalogId=#{catalogId} " + | 
|---|
|  |  |  | "WHERE id=#{id}") | 
|---|
|  |  |  | int updateParentPlatform(ParentPlatform parentPlatform); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Delete("DELETE FROM parent_platform WHERE deviceGBId=#{deviceGBId}") | 
|---|
|  |  |  | @Delete("DELETE FROM parent_platform WHERE serverGBId=#{serverGBId}") | 
|---|
|  |  |  | int delParentPlatform(ParentPlatform parentPlatform); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Select("SELECT * FROM parent_platform") | 
|---|
|  |  |  | @Select("SELECT *, ((SELECT count(0)\n" + | 
|---|
|  |  |  | "              FROM platform_gb_channel pc\n" + | 
|---|
|  |  |  | "              WHERE pc.platformId = pp.serverGBId)\n" + | 
|---|
|  |  |  | "              +\n" + | 
|---|
|  |  |  | "              (SELECT count(0)\n" + | 
|---|
|  |  |  | "              FROM platform_gb_stream pgs\n" + | 
|---|
|  |  |  | "              WHERE pgs.platformId = pp.serverGBId)\n" + | 
|---|
|  |  |  | "              +\n" + | 
|---|
|  |  |  | "              (SELECT count(0)\n" + | 
|---|
|  |  |  | "              FROM platform_catalog pgc\n" + | 
|---|
|  |  |  | "              WHERE pgc.platformId = pp.serverGBId)) as channelCount\n" + | 
|---|
|  |  |  | "FROM parent_platform pp ") | 
|---|
|  |  |  | List<ParentPlatform> getParentPlatformList(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Select("SELECT * FROM parent_platform WHERE enable=#{enable}") | 
|---|
|  |  |  | @Select("SELECT * FROM parent_platform WHERE enable=#{enable} ") | 
|---|
|  |  |  | List<ParentPlatform> getEnableParentPlatformList(boolean enable); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Select("SELECT * FROM parent_platform WHERE deviceGBId=#{platformGbId}") | 
|---|
|  |  |  | ParentPlatform getParentPlatById(String platformGbId); | 
|---|
|  |  |  | @Select("SELECT * FROM parent_platform WHERE enable=1 and asMessageChannel = 1") | 
|---|
|  |  |  | List<ParentPlatform> queryEnablePlatformListWithAsMessageChannel(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Select("SELECT * FROM parent_platform WHERE serverGBId=#{platformGbId}") | 
|---|
|  |  |  | ParentPlatform getParentPlatByServerGBId(String platformGbId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Select("SELECT * FROM parent_platform WHERE id=#{id}") | 
|---|
|  |  |  | ParentPlatform getParentPlatById(int id); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Update("UPDATE parent_platform SET status=false" ) | 
|---|
|  |  |  | void outlineForAllParentPlatform(); | 
|---|
|  |  |  | int outlineForAllParentPlatform(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Update("UPDATE parent_platform SET status=#{online} WHERE serverGBId=#{platformGbID}" ) | 
|---|
|  |  |  | int updateParentPlatformStatus(String platformGbID, boolean online); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Update(value = {" <script>" + | 
|---|
|  |  |  | "UPDATE parent_platform " + | 
|---|
|  |  |  | "SET catalogId=#{catalogId}, updateTime=#{updateTime}" + | 
|---|
|  |  |  | "WHERE serverGBId=#{platformId}"+ | 
|---|
|  |  |  | "</script>"}) | 
|---|
|  |  |  | int setDefaultCatalog(String platformId, String catalogId, String updateTime); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Select("select 'channel' as name, count(pgc.platformId) count from platform_gb_channel pgc left join device_channel dc on dc.id = pgc.deviceChannelId where  pgc.platformId=#{platformId} and dc.channelId =#{gbId} " + | 
|---|
|  |  |  | "union " + | 
|---|
|  |  |  | "select 'stream' as name, count(pgs.platformId) count from platform_gb_stream pgs left join gb_stream gs on pgs.gbStreamId = gs.gbStreamId where  pgs.platformId=#{platformId} and gs.gbId = #{gbId}") | 
|---|
|  |  |  | List<ChannelSourceInfo> getChannelSource(String platformId, String gbId); | 
|---|
|  |  |  | } | 
|---|