package com.yeshi.fanli.dao.mybatis;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
|
import org.apache.ibatis.annotations.Param;
|
|
import com.yeshi.fanli.dto.ChartTDO;
|
import com.yeshi.fanli.vo.order.HongBaoV2VO;
|
|
public interface HongBaoV2CountMapper {
|
|
/**
|
* 统计历史总到账金额
|
*
|
* @param uid
|
* @param state
|
* @return
|
*/
|
BigDecimal countMoneyByUidAndState(@Param("uid") Long uid, @Param("state") Integer state);
|
|
/**
|
* 统计历史红包数量
|
*
|
* @param uid
|
* @param state
|
* @return
|
*/
|
Integer countNumberByUidAndState(@Param("uid") Long uid, @Param("state") Integer state);
|
|
/**
|
* 统计用户总的红包数量
|
*
|
* @param uid
|
* @return
|
*/
|
Long countNumberByUid(@Param("uid") Long uid);
|
|
/**
|
* 统计总金额
|
*
|
* @param channel
|
* 渠道
|
* @param type
|
* @param state
|
* @param years
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
List<ChartTDO> countHongBaoMoney(@Param("channel") String channel, @Param("dateType") Integer dateType,
|
@Param("state") Integer state, @Param("year") String year, @Param("startTime") String startTime,
|
@Param("endTime") String endTime);
|
|
/**
|
* 统计总个数
|
*
|
* @param channel
|
* 渠道
|
* @param type
|
* @param state
|
* @param years
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
List<ChartTDO> countHongBaoNum(@Param("channel") String channel, @Param("dateType") Integer dateType,
|
@Param("state") Integer state, @Param("year") String year, @Param("startTime") String startTime,
|
@Param("endTime") String endTime);
|
|
/**
|
* 统计总个数
|
*
|
* @param channel
|
* 渠道
|
* @param type
|
* @param state
|
* @param years
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
List<ChartTDO> countHongBaoType(@Param("dateType") Integer dateType, @Param("type") Integer type,
|
@Param("year") String year, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
|
/**
|
* 统计总个数
|
*
|
* @param channel
|
* 渠道
|
* @param type
|
* @param state
|
* @param years
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
List<ChartTDO> countHongBaoTotalNum(@Param("dateType") Integer dateType, @Param("year") String year,
|
@Param("startTime") String startTime, @Param("endTime") String endTime);
|
|
// 累计提成订单数量(包含无效订单)
|
int getTotalTiChengCount(Long uid);
|
|
|
// 累计提成红包数量(包含无效)
|
long getHongBaoCount(@Param("uid") Long uid, @Param("type") Integer type);
|
|
/**
|
* 统计未失效订单数量
|
*
|
* @param uid
|
* @param dateType
|
* @return
|
*/
|
long countValidNumberByUid(@Param("uid") Long uid, @Param("dateType") Integer dateType);
|
|
/**
|
* 统计未到账
|
*
|
* @param uid
|
* @return
|
*/
|
BigDecimal countWillGetMoneyByUid(@Param("uid") Long uid);
|
|
Date getLastHongBaoTime(@Param("uid") Long uid);
|
|
/**
|
* 根据渠道 统计新增用户24小时内产生的订单数量
|
*
|
* @param channel
|
* @return
|
*/
|
List<ChartTDO> count24HOderByChannel(@Param("channel") String channel, @Param("type") Integer type,
|
@Param("years") String years, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
|
List<HongBaoV2VO> listShareAndInviteMoney(@Param("start") long start, @Param("count") int count,
|
@Param("date") String date);
|
|
/**
|
* 统计奖励券总金额
|
*
|
* @return
|
*/
|
BigDecimal countRebateCouponMoney();
|
|
/**
|
* 统计用户已到账
|
*
|
* @param uid
|
* @param typeList
|
* @param minGetTime
|
* @param maxGetTime
|
* @return
|
*/
|
BigDecimal sumAlreadyGetMoneyByUid(@Param("uid") Long uid, @Param("typeList") List<Integer> typeList,
|
@Param("minGetTime") Date minGetTime, @Param("maxGetTime") Date maxGetTime);
|
|
long countAlreadyGetMoneyByUid(@Param("uid") Long uid, @Param("typeList") List<Integer> typeList,
|
@Param("minGetTime") Date minGetTime, @Param("maxGetTime") Date maxGetTime);
|
|
|
/**
|
* 统计返利订单
|
* @param uid
|
* @return
|
*/
|
long countRebateOrder(@Param("uid") Long uid);
|
|
/**
|
* 统计分享和邀请订单
|
* @param uid
|
* @return
|
*/
|
long countShareOrInviteOrder(@Param("uid") Long uid);
|
|
/**
|
* 统计下级产生有效分享奖金
|
* @param uid
|
* @param teamUid 下级id
|
* @param endTime 结束时间
|
* @return
|
*/
|
|
BigDecimal getOrderRewardByTeamUid(@Param("uid") Long uid, @Param("teamUid") Long teamUid, @Param("endTime") Date endTime);
|
|
/**
|
* 统计下级上个有效订单
|
* @param uid
|
* @param teamUid 下级id
|
* @param endTime 结束时间
|
* @return
|
*/
|
BigDecimal getOrderRewardByTeamUidTheMonth(@Param("uid") Long uid, @Param("teamUid") Long teamUid);
|
|
/**
|
* 统计已到账金额
|
* @param uid
|
* @param list 类型
|
* @return
|
*/
|
BigDecimal getRewardMoneyByUid(@Param("uid") Long uid, @Param("list") List<Integer> list);
|
|
/**
|
* 注:1.有效一级队员定义:2019年1月1日起,自购或分享1笔且付款总金额不小于 payment 元(退款为失效
|
* @param uid
|
* @param list 类型
|
* @return
|
*/
|
long countValidOrderTeamUserByUid(@Param("uid") Long uid, @Param("time") Long time,
|
@Param("payment") BigDecimal payment);
|
|
|
/**
|
* 查询用户个类型预计奖金
|
* @param uid
|
* @param dateType 日期类型
|
* @param hbType 红包类型
|
* @return
|
*/
|
BigDecimal getRewardMoneyByDate(@Param("uid") Long uid, @Param("day")Integer dateType,
|
@Param("type") Integer hbType, @Param("orderState") Integer orderState,
|
@Param("orderNo") String orderNo, @Param("source") Integer source,
|
@Param("startTime") String startTime, @Param("endTime") String endTime);
|
}
|