package com.red.circle.console.app.service.app.sys.pay;

import com.red.circle.order.inner.model.cmd.SysPayCountryChannelCmd;
import com.red.circle.order.inner.model.cmd.SysPayCountryChannelDetailsCmd;
import com.red.circle.order.inner.model.dto.SysPayCountryChannelDetailsDTO;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * <p>
 * 国家支持渠道详情 服务类
 * </p>
 *
 * @author pengliang
 * @since 2021-12-07
 */
public interface SysPayCountryChannelDetailsService {

  /**
   * 获取渠道关联详情.
   */
  Map<Long, List<SysPayCountryChannelDetailsDTO>> mapByCountryChannelId(
      Set<Long> countryChannelIds);

  /**
   * 删除国家渠道关联详细信息.
   */
  void delByCountryChannelId(SysPayCountryChannelCmd param);

  /**
   * 获取国家支持价格的厂商.
   */
  List<SysPayCountryChannelDetailsDTO> listSupportAmountUsd(Long payCountryId,
      BigDecimal amountUsd);

  /**
   * 保存或更新国家支持渠道关联详情
   */
  SysPayCountryChannelDetailsDTO saveOrUpdateCountryChannelDetails(
      SysPayCountryChannelDetailsCmd cmd);
}
