package com.fastbee.system.service;

import java.util.List;
import com.fastbee.system.domain.SysDistrict;

/**
 * 行政区划Service接口
 * 
 * @author kerwincui
 * @date 2024-10-18
 */
public interface ISysDistrictService 
{
    /**
     * 查询行政区划
     * 
     * @param id 行政区划主键
     * @return 行政区划
     */
    public SysDistrict selectSysDistrictById(Long id);

    /**
     * 查询行政区划列表
     * 
     * @param sysDistrict 行政区划
     * @return 行政区划集合
     */
    public List<SysDistrict> selectSysDistrictList(SysDistrict sysDistrict);

    /**
     * 新增行政区划
     * 
     * @param sysDistrict 行政区划
     * @return 结果
     */
    public int insertSysDistrict(SysDistrict sysDistrict);

    /**
     * 修改行政区划
     * 
     * @param sysDistrict 行政区划
     * @return 结果
     */
    public int updateSysDistrict(SysDistrict sysDistrict);

    /**
     * 批量删除行政区划
     * 
     * @param ids 需要删除的行政区划主键集合
     * @return 结果
     */
    public int deleteSysDistrictByIds(Long[] ids);

    /**
     * 删除行政区划信息
     * 
     * @param id 行政区划主键
     * @return 结果
     */
    public int deleteSysDistrictById(Long id);

    List<SysDistrict> selectSysDistrictTree(Integer level);

    /**
     * 查询指定地区行政区划树状列表
     */
    List<SysDistrict> selectSysDistrictTreeByCode(Long areaCode);

    SysDistrict selectSysDistrictByCode(Long areaCode);

}
