package com.genersoft.iot.vmp.gb28181.dao; import com.genersoft.iot.vmp.gb28181.bean.*; import com.genersoft.iot.vmp.gb28181.dao.provider.ChannelProvider; import org.apache.ibatis.annotations.*; import org.springframework.stereotype.Repository; import java.util.Collection; import java.util.List; @Mapper @Repository public interface CommonGBChannelMapper { @SelectProvider(type = ChannelProvider.class, method = "queryByDeviceId") CommonGBChannel queryByDeviceId(@Param("gbDeviceId") String gbDeviceId); @Insert(" ") @Options(useGeneratedKeys = true, keyProperty = "gbId", keyColumn = "id") int insert(CommonGBChannel commonGBChannel); @SelectProvider(type = ChannelProvider.class, method = "queryById") CommonGBChannel queryById(@Param("gbId") int gbId); @Delete(value = {"delete from wvp_device_channel where id = #{gbId} "}) void delete(int gbId); @Update(value = {" "}) int update(CommonGBChannel commonGBChannel); @Update(value = {" "}) int updateStatusById(@Param("gbId") int gbId, @Param("status") int status); @Update("") int updateStatusForListById(List commonGBChannels, @Param("status") int status); @SelectProvider(type = ChannelProvider.class, method = "queryInListByStatus") List queryInListByStatus(List commonGBChannelList, @Param("status") int status); @Insert(" ") int batchAdd(List commonGBChannels); @Update("") int updateStatus(List commonGBChannels); @Select(value = {"select\n" + " wdc.id as gb_id,\n" + " wdc.device_db_id,\n" + " wdc.create_time,\n" + " wdc.update_time,\n" + " wdc.sub_count,\n" + " wdc.stream_id,\n" + " wdc.has_audio,\n" + " wdc.gps_time,\n" + " wdc.stream_identification,\n" + " coalesce(wpgc.device_id, wdc.gb_device_id, wdc.device_id) as gb_device_id,\n" + " coalesce(wpgc.name, wdc.gb_name, wdc.name) as gb_name,\n" + " coalesce(wdc.gb_manufacturer, wdc.manufacturer) as gb_manufacturer,\n" + " coalesce(wdc.gb_model, wdc.model) as gb_model,\n" + " coalesce(wdc.gb_owner, wdc.owner) as gb_owner,\n" + " wdc.gb_civil_code,\n" + " coalesce(wdc.gb_block, wdc.block) as gb_block,\n" + " coalesce(wdc.gb_address, wdc.address) as gb_address,\n" + " coalesce(wpgc.parental, wdc.gb_parental, wdc.parental) as gb_parental,\n" + " coalesce(wpgc.parent_id, wdc.gb_parent_id, wdc.parent_id) as gb_parent_id,\n" + " coalesce(wdc.gb_safety_way, wdc.safety_way) as gb_safety_way,\n" + " coalesce(wdc.gb_register_way, wdc.register_way) as gb_register_way,\n" + " coalesce(wdc.gb_cert_num, wdc.cert_num) as gb_cert_num,\n" + " coalesce(wdc.gb_certifiable, wdc.certifiable) as gb_certifiable,\n" + " coalesce(wdc.gb_err_code, wdc.err_code) as gb_err_code,\n" + " coalesce(wdc.gb_end_time, wdc.end_time) as gb_end_time,\n" + " coalesce(wdc.gb_secrecy, wdc.secrecy) as gb_secrecy,\n" + " coalesce(wdc.gb_ip_address, wdc.ip_address) as gb_ip_address,\n" + " coalesce(wdc.gb_port, wdc.port) as gb_port,\n" + " coalesce(wdc.gb_password, wdc.password) as gb_password,\n" + " coalesce(wdc.gb_status, wdc.status) as gb_status,\n" + " coalesce(wdc.gb_longitude, wdc.longitude) as gb_longitude,\n" + " coalesce(wdc.gb_latitude, wdc.latitude) as gb_latitude,\n" + " coalesce(wdc.gb_ptz_type, wdc.ptz_type) as gb_ptz_type,\n" + " coalesce(wdc.gb_position_type, wdc.position_type) as gb_position_type,\n" + " coalesce(wdc.gb_room_type, wdc.room_type) as gb_room_type,\n" + " coalesce(wdc.gb_use_type, wdc.use_type) as gb_use_type,\n" + " coalesce(wdc.gb_supply_light_type, wdc.supply_light_type) as gb_supply_light_type,\n" + " coalesce(wdc.gb_direction_type, wdc.direction_type) as gb_direction_type,\n" + " coalesce(wdc.gb_resolution, wdc.resolution) as gb_resolution,\n" + " coalesce(wpgc.business_group_id, wdc.gb_business_group_id, wdc.business_group_id) as gb_business_group_id,\n" + " coalesce(wdc.gb_download_speed, wdc.download_speed) as gb_download_speed,\n" + " coalesce(wdc.gb_svc_space_support_mod, wdc.svc_space_support_mod) as gb_svc_space_support_mod,\n" + " coalesce(wdc.gb_svc_time_support_mode,wdc.svc_time_support_mode) as gb_svc_time_support_mode\n" + "from wvp_device_channel wdc left join wvp_platform_gb_channel wpgc on wdc.id = wpgc.device_channel_id\n" + "where wpgc.platform_id = #{platformId}"}) List queryByPlatformId(@Param("platformId") Integer platformId); @Update(value = {" "}) void reset(@Param("id") int id, @Param("gbDeviceDbId") int gbDeviceDbId, @Param("updateTime") String updateTime); @SelectProvider(type = ChannelProvider.class, method = "queryByIds") List queryByIds(Collection ids); @Delete(value = {" "}) void batchDelete(List channelListInDb); @SelectProvider(type = ChannelProvider.class, method = "queryByStreamPushId") CommonGBChannel queryByStreamPushId(@Param("streamPushId") Integer streamPushId); @SelectProvider(type = ChannelProvider.class, method = "queryByStreamProxyId") CommonGBChannel queryByStreamProxyId(@Param("streamProxyId") Integer streamProxyId); @SelectProvider(type = ChannelProvider.class, method = "queryList") List queryList(@Param("query") String query, @Param("online") Boolean online, @Param("hasCivilCode") Boolean hasCivilCode, @Param("hasGroup") Boolean hasGroup); @Select("") List queryForRegionTreeByCivilCode(@Param("query") String query, @Param("parent") String parent); @Update(value = {" "}) int removeCivilCode(List allChildren); @Update(value = {" "}) int updateRegion(@Param("civilCode") String civilCode, @Param("channelList") List channelList); @SelectProvider(type = ChannelProvider.class, method = "queryByIdsOrCivilCode") List queryByIdsOrCivilCode(@Param("civilCode") String civilCode, @Param("ids") List ids); @Update(value = {" "}) int removeCivilCodeByChannels(List channelList); @SelectProvider(type = ChannelProvider.class, method = "queryByCivilCode") List queryByCivilCode(@Param("civilCode") String civilCode); @SelectProvider(type = ChannelProvider.class, method = "queryByGbDeviceIds") List queryByGbDeviceIds(List deviceIds); @SelectProvider(type = ChannelProvider.class, method = "queryByGroupList") List queryByGroupList(List groupList); @Update(value = {" "}) int removeParentIdByChannels(List channelList); @SelectProvider(type = ChannelProvider.class, method = "queryByBusinessGroup") List queryByBusinessGroup(@Param("businessGroup") String businessGroup); @SelectProvider(type = ChannelProvider.class, method = "queryByParentId") List queryByParentId(@Param("parentId") String parentId); @Update(value = {" "}) int updateBusinessGroupByChannelList(@Param("businessGroup") String businessGroup, List channelList); @Update(value = {" "}) int updateParentIdByChannelList(@Param("parentId") String parentId, List channelList); @Update(value = {" "}) int updateGroup(@Param("parentId") String parentId, @Param("businessGroup") String businessGroup, List channelList); }