package com.ruoyi.bst.bonus.service;

import java.math.BigDecimal;
import java.util.List;

import com.ruoyi.bst.bonus.domain.BonusQuery;
import com.ruoyi.bst.bonus.domain.vo.BonusDailyStatVO;
import com.ruoyi.bst.bonus.domain.vo.BonusStatVO;

public interface BonusDashboard {

    /**
     * 查询分成统计
     * @param query 查询条件
     * @param keys 查询字段
     * @return 分成统计
     */
    BonusStatVO selectStat(BonusQuery query, List<String> keys);

    /**
     * 查询分成每日统计
     * @param query 查询条件
     * @param keys 查询字段
     * @return 分成每日统计
     */
    List<BonusDailyStatVO> selectDailyStat(BonusQuery query, List<String> keys);

    /**
     * 查询分成总金额
     * @param query 查询条件
     * @return 分成总金额
     */
    BigDecimal selectSumOfAmount(BonusQuery query);

    /**
     * 查询用户分成总金额
     * @param query 查询条件
     * @return 用户分成总金额
     */
    BigDecimal selectSumOfUserAmount(BonusQuery query);

    /**
     * 查询平台分成总金额
     * @param query 查询条件
     * @return 平台分成总金额
     */
    BigDecimal selectSumOfPlatformAmount(BonusQuery query);

    /**
     * 查询分成数量
     * @param query 查询条件
     * @return 分成数量
     */
    Integer selectCount(BonusQuery query);

    /**
     * 查询分成待分金额
     * @param query 查询条件
     * @return 分成待分金额
     */
    BigDecimal selectSumOfWaitAmount(BonusQuery query);
    
}
