package com.hzs.system.config.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.system.config.BdRange;
import com.hzs.common.domain.system.config.ext.BdRangeExt;
import com.hzs.system.config.dto.RangeDTO;

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

/**
 * 极差配置 服务类
 */
public interface IBdRangeService extends IService<BdRange> {

    /**
     * 新增极差
     **/
    boolean saveRange(BdRangeExt rangeExt);

    /**
     * 修改极差
     **/
    boolean updateRange(BdRangeExt rangeExt);

    /**
     * 根据国家查询极差配置列表
     **/
    List<BdRangeExt> queryRange(Integer pkCountry);

    /**
     * 查询各个国家极差的配置  键为 国家+极差类型+等级主键
     */
    Map<String, RangeDTO> queryRangeDto();

    /**
     * 根据类型获取极差等级
     *
     * @param pkCountry 国家
     * @param rangeType 极差类型
     * @param pkLevel   等级主键
     */
    RangeDTO getRangeDTO(Integer pkCountry, Integer rangeType, Integer pkLevel);
}
