admin
2020-02-18 ddf5db7d31af51fcf697eac0cee7dd46ff73bcc1
fanli/src/main/java/com/yeshi/fanli/service/inter/count/UserInfoCountService.java
@@ -1,6 +1,13 @@
package com.yeshi.fanli.service.inter.count;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.yeshi.fanli.dto.ChartTDO;
import com.yeshi.fanli.entity.admin.count.CountOrderInfo;
import com.yeshi.fanli.entity.admin.count.CountUserInfo;
import com.yeshi.fanli.vo.user.UserGoldCoinVO;
@@ -27,7 +34,7 @@
    * @param minMoney
    * @return
    */
   public double countAllMoney(Double minMoney);
   public BigDecimal countAllMoney(Double minMoney);
   /**
    * 统计流失用户数量:( num 天未使用登录并且无任何资金流动的账号数量)
@@ -47,5 +54,161 @@
    * 统计新增用户
    * @return
    */
   public List<Object>  countNewUserByDate(Integer type,String years, String startTime, String endTime) throws Exception;
   public List<ChartTDO> countNewUserByDate(String channel,Integer type,String years, String startTime, String endTime) throws Exception;
   public List<ChartTDO> getTodayBuyRate(String channel, Integer type, String years, String startTime,
         String endTime) throws Exception;
   public List<Object>  getWeekBuyRate(String channel, String startTime, String endTime,
         Integer orderNum, List<String> dateList) throws Exception;
   /**
    * 统计用户金币情况
    * @param start
    * @param count
    * @return
    */
   public List<UserGoldCoinVO> listByUserGoldCoin(long start, int count, int type, String key);
   public long countByUserGoldCoin(int type, String key);
   /**
    * 统计剩余金币
    * @param start
    * @param count
    * @return
    */
   public List<UserGoldCoinVO> listByHasGoldCoin(long start, int count, String key);
   public long countByHasGoldCoin(String key);
   public List<CountUserInfo> getNewUserData(Date startTime, Date endTime, String channel);
   public void initChannelUserCount();
   /**
    * 新用户查询24内下单数量 -有效数量
    * @param channel
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountOrderInfo> count24HOderByChannel(String channel, Date startTime, Date endTime);
   /**
    * 新用户当日下单数量 -有效
    * @param channel
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountUserInfo> countUserDownOrderByChannelAndToday(String channel, Date startTime, Date endTime);
   /**
    * 新用户7天内下单数量- 有效
    * @param channel
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountUserInfo> countUseByChannelAndWeekOrder(String channel, Date startTime, Date endTime);
   /**
    * 新用户7天内下3单数量- 有效
    * @param channel
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountUserInfo> countUseByChannelAndWeekThreeOrder(String channel, Date startTime, Date endTime);
   /**
    * 初始化用户7天订单统计
    */
   public void initCountUserWeekOrder();
   /**
    * 统计订单总数量 -分渠道 有效的
    * @param channel
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountOrderInfo> countOderByChannel(String channel, Date startTime, Date endTime);
   /**
    * 统计订单佣金
    * @param channel
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountOrderInfo> countHongBaoByChannel(String channel, Date startTime, Date endTime);
   /**
    * 统计订单数量-根据类型
    * @param channel
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountOrderInfo> countOrderType(Integer state, Date startTime, Date endTime);
   /**
    * 统计维权订单数量
    * @param state
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountOrderInfo> countWeiQuanOrder(Date startTime, Date endTime);
   /**
    * 统计维权金额
    * @param state
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountOrderInfo> countWeiQuanOrderMoney(Date startTime, Date endTime);
   /**
    * 统计订单找回金额
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountOrderInfo> counOrderLastMoney(Date startTime, Date endTime);
   /**
    * 统计订单找回个数
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountOrderInfo> counOrderLastNum(Date startTime, Date endTime);
   /**
    * 统计订单总佣金
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountOrderInfo> counOrderTotalCommission(Date startTime, Date endTime);
   /**
    * 订单总单数
    * @param startTime
    * @param endTime
    * @return
    */
   public List<CountOrderInfo> counOrderTotalNum(Date startTime, Date endTime);
}