package com.ningdatech.carapi.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ningdatech.carapi.sys.entity.Region;
import com.ningdatech.carapi.sys.entity.dto.RegionDTO;

import java.util.List;

/**
 * <p>
 * 地域管理 服务类
 * </p>
 *
 * @author LiuXinXin
 * @since 2022-10-08
 */
public interface IRegionService extends IService<Region> {

    /**
     * 查询所有区域
     *
     * @return 所有区域
     */
    List<RegionDTO> queryAll();

    /**
     * 查询大于等与该级别的所有区域
     *
     * @param regionLevel
     * @return 区域集合
     */
    List<RegionDTO> listGeLevel(int regionLevel);

    /**
     * 是否为父节点
     *
     * @param regionId 区域ID
     * @return boolean
     **/
    boolean isParentRegion(Long regionId);

    /**
     * 获取当前区域的本级
     *
     * @param parentId   区域ID
     * @param regionCode 区域code
     * @return 区域ID
     **/
    Long getRegionIdByParentIdWithSameRegionCode(Long parentId, String regionCode);

}
