| | |
| | | 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.dao.BaseMapper; |
| | | import com.yeshi.fanli.dto.HongBaoDTO; |
| | | import com.yeshi.fanli.entity.bus.user.HongBaoV2; |
| | | |
| | | public interface HongBaoV2Mapper extends BaseMapper<HongBaoV2> { |
| | | |
| | | HongBaoV2 selectByPrimaryKeyForUpdate(Long id); |
| | | |
| | | /** |
| | | * 获取子红包列表 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | List<HongBaoV2> listChildrenById(Long id); |
| | | |
| | | /** |
| | | * 获取子红包列表 |
| | | * @param idList |
| | | * @return |
| | | */ |
| | | List<HongBaoV2> listChildrenByIds(@Param("idList") List<Long> idList); |
| | | |
| | | /** |
| | | * 获取奖金列表(1.4.9之前) |
| | | * |
| | | * @param uid |
| | | * @param start |
| | | * @param count |
| | | * @return |
| | | */ |
| | | List<HongBaoDTO> listJiangJinByUid(@Param("uid") Long uid, @Param("start") long start, @Param("count") int count); |
| | | |
| | | /** |
| | | * 获取奖金数量(1.4.9之前) |
| | | * |
| | | * @param uid |
| | | * @return |
| | | */ |
| | | Long countJiangJinByUid(Long uid); |
| | | |
| | | /** |
| | | * 获取总的提成金额 |
| | | * |
| | | * @param uid |
| | | * @return |
| | | */ |
| | | BigDecimal getTotalTiChengMoney(Long uid); |
| | | |
| | | /** |
| | | * 获取总的提成笔数 |
| | | * |
| | | * @param uid |
| | | * @return |
| | | */ |
| | | int getTotalTiChengCount(Long uid); |
| | | |
| | | /** |
| | | * 获取还未到账的提成金额 |
| | | * |
| | | * @param uid |
| | | * @return |
| | | */ |
| | | BigDecimal getUnGetTiChengMoney(Long uid); |
| | | |
| | | /** |
| | | * 获取总共返利金额 |
| | | * |
| | | * @param uid |
| | | * @return |
| | | */ |
| | | BigDecimal getTotalFanLiMoney(Long uid); |
| | | |
| | | /** |
| | | * 获取还未到账的金额 |
| | | * |
| | | * @param uid |
| | | * @return |
| | | */ |
| | | BigDecimal getUnRecievedFanLiMoney(Long uid); |
| | | |
| | | /** |
| | | * 根据创建时间与用户ID获取未到账的金额 |
| | | * |
| | | * @param uid |
| | | * @param minDate |
| | | * @param maxDate |
| | | * @return |
| | | */ |
| | | BigDecimal getUnRecievedMoneyWithCreateTime(@Param("uid") Long uid, @Param("minDate") Date minDate, |
| | | @Param("maxDate") Date maxDate); |
| | | |
| | | /** |
| | | * 根据预计领取时间与用户ID获取未到账的金额 |
| | | * |
| | | * @param uid |
| | | * @param minDate |
| | | * @param maxDate |
| | | * @return |
| | | */ |
| | | BigDecimal getUnRecievedMoneyWithPreGetTime(@Param("uid") Long uid, @Param("minDate") Date minDate, |
| | | @Param("maxDate") Date maxDate); |
| | | |
| | | /** |
| | | * 根据红包类型获取结算列表 |
| | | * |
| | | * @param type |
| | | * @param count |
| | | * @return |
| | | */ |
| | | List<HongBaoV2> listCanBalanceHongBaoByType(@Param("type") int type, @Param("count") int count); |
| | | |
| | | /** |
| | | * 获取能够结算的红包的用户列表 |
| | | * |
| | | * @param count |
| | | * @return |
| | | */ |
| | | List<Long> listUidCanBanlanceByTypeAndMaxTime(@Param("typeList") List<Integer> typeList, |
| | | @Param("maxTime") Date maxTime, @Param("start") long start, @Param("count") int count); |
| | | |
| | | long countUidCanBanlanceByTypeAndMaxTime(@Param("typeList") List<Integer> typeList, |
| | | @Param("maxTime") Date maxTime); |
| | | |
| | | /** |
| | | * 根据用户ID,类型获取能够结算的红包 |
| | | * |
| | | * @param type |
| | | * @param uid |
| | | * @param count |
| | | * @return |
| | | */ |
| | | List<HongBaoV2> listCanBalanceHongBaoByTypeAndUid(@Param("types") List<Integer> type, @Param("uid") Long uid, |
| | | @Param("orderType") Integer orderType, @Param("maxDate") Date maxPreGetTime, @Param("start") long start, |
| | | @Param("count") int count); |
| | | |
| | | /** |
| | | * 计算可以结算红包的数量 |
| | | * |
| | | * @param type |
| | | * @param uid |
| | | * @return |
| | | */ |
| | | long countCanBalanceHongBaoByTypeAndUid(@Param("types") List<Integer> type, @Param("uid") Long uid, |
| | | @Param("orderType") Integer orderType, @Param("maxDate") Date maxPreGetTime); |
| | | |
| | | /** |
| | | * 根据用户ID,订单状态和结算时间统计邀请赚的订单数量 |
| | | * |
| | | * @param uid |
| | | * @param minDate |
| | | * @param maxDate |
| | | * @return |
| | | */ |
| | | Long countInviteOrderCountByUidAndSettleTime(@Param("uid") Long uid, @Param("state") int state, |
| | | @Param("minDate") Date minDate, @Param("maxDate") Date maxDate, @Param("orderType") int orderType); |
| | | |
| | | /** |
| | | * 根据用户ID,订单状态和结算时间统计分享赚的订单数量 |
| | | * |
| | | * @param uid |
| | | * @param minDate |
| | | * @param maxDate |
| | | * @return |
| | | */ |
| | | Long countShareOrderCountByUidAndSettleTime(@Param("uid") Long uid, @Param("state") int state, |
| | | @Param("minDate") Date minDate, @Param("maxDate") Date maxDate, @Param("orderType") Integer orderType); |
| | | |
| | | /** |
| | | * 通过用户ID和状态查询数量 |
| | | * |
| | | * @param uid |
| | | * @param state |
| | | * @return |
| | | */ |
| | | Long countByUidAndState(@Param("uid") Long uid, @Param("state") int state); |
| | | |
| | | /** |
| | | * 通过用户ID与状态计算资金 |
| | | * |
| | | * @param uid |
| | | * @param stateList |
| | | * @return |
| | | */ |
| | | BigDecimal computeMoneyByUidAndState(@Param("uid") Long uid, @Param("stateList") List<Integer> stateList); |
| | | |
| | | /** |
| | | * 最近30天内产生过分享订单的用户 |
| | | * |
| | | * @return |
| | | */ |
| | | List<Long> getUidByNear30DayShareSucceed(); |
| | | |
| | | /** |
| | | * 根据父用户ID,状态,类型查询 |
| | | * |
| | | * @param uid |
| | | * @param typeList |
| | | * @param stateList |
| | | * @return |
| | | */ |
| | | List<HongBaoV2> listByParentUidAndTypeAndState(@Param("uid") Long uid, @Param("typeList") List<Integer> typeList, |
| | | @Param("stateList") List<Integer> stateList, @Param("start") long start, @Param("count") int count); |
| | | |
| | | /** |
| | | * 根据父用户ID,状态,类型查询数量 |
| | | * |
| | | * @param uid |
| | | * @param typeList |
| | | * @param stateList |
| | | * @return |
| | | */ |
| | | long countByParentUidAndTypeAndState(@Param("uid") Long uid, @Param("typeList") List<Integer> typeList, |
| | | @Param("stateList") List<Integer> stateList); |
| | | |
| | | /** |
| | | * 根据订单来源类型与交易ID列表查询订单信息 |
| | | * |
| | | * @param sourceType |
| | | * @param tradeId |
| | | * @return |
| | | */ |
| | | List<HongBaoV2> listBySourceTypeAndTradeIdListAndUid(@Param("sourceType") int sourceType, @Param("uid") long uid, |
| | | @Param("tradeIdList") List<String> tradeIdList); |
| | | |
| | | /** |
| | | * 根据状态,类型,用户ID检索 |
| | | * @param stateList |
| | | * @param typeList |
| | | * @param uid |
| | | * @return |
| | | */ |
| | | List<HongBaoV2> listByStateAndTypeAndUid(@Param("stateList") List<Integer> stateList, |
| | | @Param("typeList") List<Integer> typeList, @Param("uid") Long uid, @Param("start") long start, |
| | | @Param("count") int count); |
| | | |
| | | /** |
| | | * 根据ID批量查询 |
| | | * @param idList |
| | | * @return |
| | | */ |
| | | List<HongBaoV2> listByIds(@Param("idList") List<Long> idList); |
| | | |
| | | /** |
| | | * 根据订单交易id查询红包 |
| | | * @param idList |
| | | * @return |
| | | */ |
| | | List<HongBaoDTO> listByOrderTradeId(@Param("tradeId") String tradeId); |
| | | |
| | | |
| | | /** |
| | | * 查询直接上级当时获得红包等级 |
| | | * @param pid |
| | | * @return |
| | | */ |
| | | Integer getDirectBossUrankByPid(@Param("pid")Long pid); |
| | | |
| | | } |