package com.hzs.system.base;

import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.base.BdArea;
import com.hzs.common.domain.system.base.ext.BdProductStorehouseExt;
import com.hzs.system.base.dto.AreaDTO;

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

/**
 * 行政区划接口
 */
public interface IAreaServiceApi {

    /**
     * 获取行政区划Map
     *
     * @param pkCountry
     * @return
     */
    R<Map<Integer, String>> getAreaMap(Integer pkCountry);

    /**
     * 获取行政区划Map（不走缓存，查询不启用）
     *
     * @param pkCountry
     * @return
     */
    R<Map<Integer, String>> getAllAreaNoCache(Integer pkCountry);

    /**
     * 获取行政区划
     *
     * @param pkId 行政区划ID
     * @return
     */
    R<BdArea> getArea(Integer pkId);

    /**
     * 更新行政区划
     *
     * @param provinceDTOList 省级行政区划列表（三级关联）
     * @return
     */
    R<?> updateArea(List<AreaDTO> provinceDTOList);

    /**
     * 查询省绑定的产品仓库
     */
    R<List<BdProductStorehouseExt>> queryBdProductStorehouseByCondition(List<Integer> productId, Integer province);
}
