package com.red.circle.console.infra.database.rds.service.count;

import com.red.circle.console.infra.database.rds.entity.count.StatisticsDailyPurchaseAmount;
import com.red.circle.framework.mybatis.service.BaseService;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 每日内购量 服务类
 * </p>
 *
 * @author pengliang
 * @since 2020-11-12
 */
public interface StatisticsDailyPurchaseAmountService extends
    BaseService<StatisticsDailyPurchaseAmount> {


  /**
   * 获取最近30天数据
   *
   * @return ignore
   */
  List<StatisticsDailyPurchaseAmount> listLatest(int latestDays, String areaCode);


  /**
   * 累计线下支付 数量.
   */
  void inrOfflineQuantity(Integer dateNumber, BigDecimal quantity);

  /**
   * 统计每日内购/退款.
   */
  void countInAppPurchaseOrRefund(LocalDate countTime, LocalDate endCountTime);

  /**
   * 统计每日内购/退款-区分区域.
   */
  void countInAppPurchaseOrRefundRegion(LocalDate countTime, LocalDate endCountTime);

  /**
   * 统计每日内购/退款,其他.
   */
  void countInAppPurchaseOrRefundOther(LocalDate countTime, LocalDate endCountTime);

  /**
   * 统计每日内购-离线充值.
   */
  void countInAppPurchaseOrRefundOffline(LocalDate countTime, LocalDate endCountTime);

}
