package com.yeshi.fanli.service.inter.count; import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; public interface HongBaoV2CountService { /** * 统计历史总到账金额 * @param uid * @param state * @return */ public BigDecimal countMoneyByUidAndState(Long uid, Integer state); /** * 统计历史红包数量 * @param uid * @param state * @return */ public Integer countNumberByUidAndState(Long uid, Integer state); /** * 统计总金额 * @param channel 渠道 * @param dateType 日期格式 日-1 月-2 年-3 * @param state 状态 * @param years 年份 * @param startTime 开始时间 * @param endTime 结束时间 * @return */ public List> countHongBaoMoney(String channel, Integer dateType, Integer state, String year, String startTime, String endTime) throws Exception; /** * 统计总金额 * @param channel 渠道 * @param dateType 日期格式 日-1 月-2 年-3 * @param state 状态 * @param years 年份 * @param startTime 开始时间 * @param endTime 结束时间 * @return */ public List> countHongBaoNum(String channel, Integer dateType, Integer state, String year, String startTime, String endTime) throws Exception; /** * 分类型订单数与比例 * @param dateType * @param type * @param year * @param startTime * @param endTime * @return * @throws Exception */ public List> getProportionByType(Integer dateType, Integer type, String year, String startTime, String endTime) throws Exception; /** * 统计提成订单数量 * @param uid * @return */ public int getTotalTiChengCount(Long uid); /** * 统计未失效订单数量 * @param uid * @param dateType * @return */ public long countValidNumberByUid(Long uid, Integer dateType); /** * 统计未到账金额 * @param uid * @param dateType * @return */ public BigDecimal countWillGetMoneyByUid(Long uid); /** * 最后一次下单时间 * @param uid * @return */ public Date getLastHongBaoTime(Long uid); public List> count24HOderByChannel(String channel, Integer type, String years, String startTime, String endTime) throws Exception; /** * 统计所有类型订单数量 * @param dateType * @param type * @param year * @param startTime * @param endTime * @return * @throws Exception */ public List> countHongBaoType(Integer dateType, Integer type, String year, String startTime, String endTime) throws Exception; }