package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.BladeRegion;

/**
 * 行政区划Service接口
 * 
 * @author dm
 * @date 2023-02-13
 */
public interface IBladeRegionService {
	/**
	 * 查询行政区划
	 * 
	 * @param code 行政区划主键
	 * @return 行政区划
	 */
//	public BladeRegion selectBladeRegionByCode(String code);

	public BladeRegion selectByProvinceName(String name);
//	void setNotThisArea(List<Map> mapList, String city_code) ;
//	BladeRegion selectByCode(String code);
//	Boolean isNotThisArea(String cityCode, String areaCode,List<String>allCodeList,Map<String,Boolean>alreadyMap);
	public BladeRegion selectByCityName(String cityName, String provinceCode);
	List<String>getAllAreaCode();
	public BladeRegion selectByCityShortName(String cityName, String provinceCode);

	public BladeRegion selectByAreaName(String areaName, String cityCode);

	/**
	 * 查询行政区划列表
	 * 
	 * @param bladeRegion 行政区划
	 * @return 行政区划集合
	 */
	public List<BladeRegion> selectBladeRegionList(BladeRegion bladeRegion);
	public List<BladeRegion> selectList(BladeRegion bladeRegion);
	List<BladeRegion> selectAllCityList();
	public List<BladeRegion> selectAllAreaList();
	
	Map<String,BladeRegion> selectAll();
	
	/**
	 * 新增行政区划
	 * 
	 * @param bladeRegion 行政区划
	 * @return 结果
	 */
	public int insertBladeRegion(BladeRegion bladeRegion);

	/**
	 * 修改行政区划
	 * 
	 * @param bladeRegion 行政区划
	 * @return 结果
	 */
	public int updateBladeRegion(BladeRegion bladeRegion);

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

	/**
	 * 删除行政区划信息
	 * 
	 * @param code 行政区划主键
	 * @return 结果
	 */
	public int deleteBladeRegionByCode(String code);

	/**
	 * 批量删除---逻辑删除
	 *
	 * @param codes 需要删除的行政区划ID
	 * @return 结果
	 */
	public int setDeleteByIds(String[] codes);

	/**
	 * 删除---逻辑删除
	 *
	 * @param code 行政区划ID
	 * @return 结果
	 */
	public int setDeleteById(String code);
}
