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

import com.red.circle.common.business.core.enums.SysOriginPlatformEnum;
import com.red.circle.framework.mybatis.service.BaseService;
import com.red.circle.order.infra.database.rds.entity.product.ProductConfigV2;
import com.red.circle.order.inner.model.cmd.SysProductConfigQryCmd;
import com.red.circle.order.inner.model.cmd.SysProductConfigV2QryCmd;

import java.util.List;

/**
 * <p>
 * 内购产品列表 服务类
 * </p>
 *
 * @author pengshigang
 * @since 2023-03-30
 */
public interface ProductConfigV2Service extends BaseService<ProductConfigV2> {

  /**
   * 获得一组内购数据.
   */
  List<ProductConfigV2> listProductConfig(SysProductConfigV2QryCmd cmd);

  /**
   * 获得产品信息.
   *
   * @param sysOrigin      系统
   * @param platform       平台
   * @param productPackage 包名
   * @param regionId       区域
   */
  ProductConfigV2 getProduct(SysOriginPlatformEnum sysOrigin, String platform,
      String productPackage, String regionId);

  List<ProductConfigV2> getProductConfigs(SysProductConfigQryCmd query);

  /**
   * 获得系统产品列表
   *
   * @return 金币产品列表
   */
  List<ProductConfigV2> listCandyGroupBySysOrigin(SysProductConfigV2QryCmd query);
}
