package com.ruoyi.system.mapper;

import java.util.List;

import com.ruoyi.system.domain.TAdministrativeDivisions;

/**
 * 城市五级表Mapper接口
 *
 * @author ruoyi
 * @date 2023-09-20
 */
public interface TAdministrativeDivisionsMapper {
    /**
     * 查询城市五级表
     *
     * @param id 城市五级表主键
     * @return 城市五级表
     */
    public TAdministrativeDivisions selectTAdministrativeDivisionsById(Long id);

    /**
     * 查询城市五级表列表
     *
     * @param tAdministrativeDivisions 城市五级表
     * @return 城市五级表集合
     */
    public List<TAdministrativeDivisions> selectTAdministrativeDivisionsList(TAdministrativeDivisions tAdministrativeDivisions);

    /**
     * 新增城市五级表
     *
     * @param tAdministrativeDivisions 城市五级表
     * @return 结果
     */
    public int insertTAdministrativeDivisions(TAdministrativeDivisions tAdministrativeDivisions);

    /**
     * 修改城市五级表
     *
     * @param tAdministrativeDivisions 城市五级表
     * @return 结果
     */
    public int updateTAdministrativeDivisions(TAdministrativeDivisions tAdministrativeDivisions);

    /**
     * 删除城市五级表
     *
     * @param id 城市五级表主键
     * @return 结果
     */
    public int deleteTAdministrativeDivisionsById(Long id);

    /**
     * 批量删除城市五级表
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTAdministrativeDivisionsByIds(Long[] ids);

    /**
     * 查询所有省份
     *
     * @return
     */
    List<TAdministrativeDivisions> selectTAdministrativeDivisionsProvinceAllList();


    /**
     * 查询所有地级（市）
     *
     * @param provinceCode 省级代码
     * @return
     */
    List<TAdministrativeDivisions> selectTAdministrativeDivisionsListByProvinceCode(Long provinceCode);

    /**
     * 查询所有县级（区）
     *
     * @param cityCode 地级代码（市）
     * @return
     */
    List<TAdministrativeDivisions> selectTAdministrativeDivisionsListByCityCode(Long cityCode);

    /**
     * 查询所有乡级（镇）
     *
     * @param areaCode 县级代码（区）
     * @return
     */
    List<TAdministrativeDivisions> selectTAdministrativeDivisionsListByAreaCode(Long areaCode);

    /**
     * 查询所有居委会
     *
     * @param streetCode 乡级代码（镇）
     * @return
     */
    List<TAdministrativeDivisions> selectTAdministrativeDivisionsListByStreetCode(Long streetCode);

}
