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

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

/**
 * <p>
 * 平台每日内购量 服务类
 * </p>
 *
 * @author pengliang
 * @since 2021-07-31
 */
public interface StatisticsDailyPurchaseAmountPlatformService extends
    BaseService<StatisticsDailyPurchaseAmountPlatform> {

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

  /**
   * 统计每日各平台内购情况.
   */
  void countPurchasePlatform(Integer countTimeNumber, LocalDate countTime, LocalDate endCountTime);

  /**
   * 统计每日各平台内购情况-区分区域.
   */
  void countPurchasePlatformRegion(Integer countTimeNumber, LocalDate countTime,
      LocalDate endCountTime);

  /**
   * 统计每日各平台内购情况-区分区域(其他).
   */
  void countPurchasePlatformOther(Integer countTimeNumber, LocalDate countTime,
      LocalDate endCountTime);

  /**
   * 统计每月各平台内购情况.
   */
  void countPurchasePlatformMonth();

  /**
   * 获取所有平台,指定区域 latestDays.
   */
  Map<String, List<StatisticsDailyPurchaseAmountPlatform>> mapAllSysOriginLatest(String areaCode,
      int latestDays);

}
