admin
2020-05-20 98b1a0affd69bbe63223c21fdd2c404e8bedfccb
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2CountMapper.java
@@ -1,107 +1,194 @@
package com.yeshi.fanli.dao.mybatis;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
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 channel 渠道
    * @param type
    * @param state
    * @param years
    * @param startTime
    * @param endTime
    * @return
    */
   List<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> countHongBaoTotalNum(@Param("dateType")Integer dateType, @Param("year") String year,
         @Param("startTime")String startTime, @Param("endTime")String endTime);
   // 累计提成订单数量(包含无效订单)
   int getTotalTiChengCount(Long uid);
   /**
    * 统计未失效订单数量
    * @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);
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.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);
   // 累计提成订单数量(包含无效订单)
   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);
   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笔且付款总金额不小于 payment 元(退款为失效
    * @param uid
    * @param payment
    * @return
    */
   Long countMyDirectOrderByCashArrival(@Param("uid") Long uid, @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("moneyState") Integer moneyState,
         @Param("startTime") String startTime, @Param("endTime") String endTime,@Param("listSource") List<Integer> listSource);
   /**
    * 统计各个订单类型 有效个数
    * @param orderType
    * @param preDay
    * @return
    */
   Long countOrderByTypeAndDate(@Param("orderType") Integer orderType, @Param("preDay") String preDay);
   /**
    * 统计近日到账收入金额
    * @param uid
    * @param day
    * @return
    */
   BigDecimal sumMoneyArrivalByUidAndNearDay(@Param("uid") Long uid, @Param("day") int day);
   /**
    * 统计结算金额
    * @param uid
    * @param minDate
    * @param maxDate
    * @return
    */
   BigDecimal sumMoneyBySettleTimeAndUid(@Param("uid") Long uid, @Param("minDate") Date minDate, @Param("maxDate") Date maxDate);
   /**
    * 180内未收货的金额
    * @param uid
    * @return
    */
   BigDecimal sumMoneyByANotSettleAndUid(@Param("uid") Long uid);
}