package com.red.circle.order.infra.database.rds.service.pay;

import com.red.circle.framework.mybatis.service.BaseService;
import com.red.circle.order.infra.database.rds.entity.pay.PayApplicationCommodity;
import com.red.circle.order.inner.model.enums.PayApplicationCommodityType;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * <p>
 * 应用商品 服务类.
 * </p>
 *
 * @author pengshigang
 * @since 2021-12-08
 */
public interface PayApplicationCommodityService extends BaseService<PayApplicationCommodity> {

  /**
   * 获取指定app商品信息.
   */
  PayApplicationCommodity getAppCommodity(Long id, Long applicationId);

  /**
   * 获取应用国家商品信息.
   */
  List<PayApplicationCommodity> listCommodityByApplicationCountry(Long applicationId,
      Long payCountryId, PayApplicationCommodityType type, String regionId);

  /**
   * 获取应用国家商品信息.
   */
  Map<Long, List<PayApplicationCommodity>> mapCommodityListByCondition(Long applicationId,
      Set<Long> payCountryIds, PayApplicationCommodityType type, String regionId);

}
