package com.codvision.base.service;

import com.codvision.base.entity.Region;
import com.codvision.base.entity. vo.RegionVO;
import com.codvision.webcore.service.IBaseService;
import org.springframework.cache.annotation.CacheEvict;

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

/**
 * <p>
 * 行政区域 服务接口
 * </p>
 *
 * @author zz
 * @since 2023-08-09
 */
public interface IRegionService extends IBaseService<Region, RegionVO> {


    /**
     * 同步行政数据
     *
     * @param url
     */
    @CacheEvict
    void synchronizationData(String url);

    /**
     * 获取地区列表
     *
     * @param id 地区ID
     * @return 地区列表
     */

    List<Region> getItem(Long id);

    /**
     * 根据最后一级名称获取改所有上级地区id
     *
     * @param lastName 最后一级名称
     * @return 全部地区id
     */
    String getItemByLastName(String lastName);

    /**
     * 获取地址
     *
     * @param cityCode 城市编码
     * @param townName 镇名称
     * @return
     */
    Map<String, Object> getRegion(String cityCode, String townName);

    /**
     * 获取所有的城市
     *
     * @return
     */
    List<RegionVO> getAllCity();
}
