package com.genersoft.iot.vmp.gb28181.dao; import com.genersoft.iot.vmp.gb28181.bean.CommonGBChannel; import com.genersoft.iot.vmp.gb28181.bean.Group; import com.genersoft.iot.vmp.gb28181.bean.GroupTree; import org.apache.ibatis.annotations.*; import java.util.List; import java.util.Set; @Mapper public interface GroupMapper { @Insert("INSERT INTO wvp_common_group (device_id, name, parent_id, parent_device_id, business_group, create_time, update_time) " + "VALUES (#{deviceId}, #{name}, #{parentId}, #{parentDeviceId}, #{businessGroup}, #{createTime}, #{updateTime})") @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") int add(Group group); @Insert("INSERT INTO wvp_common_group (device_id, name, business_group, create_time, update_time) " + "VALUES (#{deviceId}, #{name}, #{businessGroup}, #{createTime}, #{updateTime})") @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") int addBusinessGroup(Group group); @Delete("DELETE FROM wvp_common_group WHERE id=#{id}") int delete(@Param("id") int id); @Update(" UPDATE wvp_common_group " + " SET update_time=#{updateTime}, device_id=#{deviceId}, name=#{name}, parent_id=#{parentId}, parent_device_id=#{parentDeviceId}, business_group=#{businessGroup}" + " WHERE id = #{id}") int update(Group group); @Select(value = {" "}) List query(@Param("query") String query, @Param("parentId") String parentId, @Param("businessGroup") String businessGroup); @Select("SELECT * from wvp_common_group WHERE parent_id = #{parentId} ") List getChildren(@Param("parentId") int parentId); @Select("SELECT * from wvp_common_group WHERE id = #{id} ") Group queryOne(@Param("id") int id); @Insert(" ") @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") int batchAdd(List groupList); @Select(" ") List queryForTree(@Param("query") String query, @Param("parentId") Integer parentId); @Select(" ") List queryForTreeByBusinessGroup(@Param("query") String query, @Param("businessGroup") String businessGroup); @Select(" ") List queryBusinessGroupForTree(@Param("query") String query); @Select("SELECT * from wvp_common_group WHERE device_id = #{deviceId} and business_group = #{businessGroup}") Group queryOneByDeviceId(@Param("deviceId") String deviceId, @Param("businessGroup") String businessGroup); @Delete("") int batchDelete(List allChildren); @Select("SELECT * from wvp_common_group WHERE device_id = #{businessGroup} and business_group = #{businessGroup} ") Group queryBusinessGroup(@Param("businessGroup") String businessGroup); @Select("SELECT * from wvp_common_group WHERE business_group = #{businessGroup} ") List queryByBusinessGroup(@Param("businessGroup") String businessGroup); @Delete("DELETE FROM wvp_common_group WHERE business_group = #{businessGroup}") int deleteByBusinessGroup(@Param("businessGroup") String businessGroup); @Update(" UPDATE wvp_common_group " + " SET parent_device_id=#{group.deviceId}, business_group = #{group.businessGroup}" + " WHERE parent_id = #{parentId}") int updateChild(@Param("parentId") Integer parentId, Group group); @Select(" ") List queryInGroupListByDeviceId(List groupList); @Select(" ") Set queryInChannelList(List channelList); @Select(" ") Set queryParentInChannelList(Set groupSet); @Select(" ") List queryForPlatform(@Param("platformId") Integer platformId); @Select(" ") Set queryNotShareForPlatformByChannelList(List channelList, @Param("platformId") Integer platformId); @Select(" ") Set queryNotShareForPlatformByGroupList(Set allGroup, @Param("platformId") Integer platformId); @Select(" ") Set queryByChannelList(List channelList); @Update(" ") void updateParentId(List groupListForAdd); @Update(" ") void updateParentIdWithBusinessGroup(List groupListForAdd); }