package com.yeshi.fanli.service.inter.order;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
import com.yeshi.fanli.dto.ChartTDO;
|
import com.yeshi.fanli.dto.order.CountOrderDTO;
|
import com.yeshi.fanli.entity.admin.count.CountOrderTrackRate;
|
|
public interface CommonOrderCountService {
|
|
/**
|
* 当前各个状态订单数
|
*
|
* @param state
|
* 状态
|
* @return
|
*/
|
public Long countByState(Integer state);
|
|
|
/**
|
* 统计总金额
|
*
|
* @param dateType
|
* @param year
|
* @param startTime
|
* @param endTime
|
* @return
|
* @throws Exception
|
*/
|
public List<ChartTDO> countWeiQaunOrderMoney(Integer dateType, String year, String startTime, String endTime)
|
throws Exception;
|
|
/**
|
* 统计总个数
|
*
|
* @param dateType
|
* @param year
|
* @param startTime
|
* @param endTime
|
* @return
|
* @throws Exception
|
*/
|
public List<ChartTDO> countWeiQaunOrderNumber(Integer dateType, String year, String startTime, String endTime)
|
throws Exception;
|
|
/**
|
* 根据结算时间统计
|
*
|
* @param uid
|
* @param state
|
* @param day
|
* @return
|
* @throws Exception
|
*/
|
public Map<String, Object> countOrderNumberBySettleTime(Long uid, Integer state, Integer day);
|
|
/**
|
* 根据结算时间筛选 上个月已结算的订订单数量
|
*
|
* @param uid
|
* @return
|
*/
|
public Map<String, Object> lastMonthSettleOrderNumber(Long uid);
|
|
/**
|
* 根据订单号 统计奖励券加成金额
|
*
|
* @param orderNo
|
* @return
|
*/
|
BigDecimal getMoneyByOrderNo(String orderNo);
|
|
/**
|
* 统计已到账返利订单
|
*
|
* @param uid
|
* @param dateTime
|
* @return
|
*/
|
public long countValidOrderByDate(Long uid, String dateTime);
|
|
/**
|
* 查询用户在同一店铺购买超过一定数量商品的店铺数量
|
*
|
* @param typeList
|
* -红包类型
|
* @param uid
|
* -用户ID
|
* @param minSameShopGoodsCount
|
* -同一店铺买的最小订单数
|
* @return
|
*/
|
long countSameShopOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameShopGoodsCount);
|
|
/**
|
* 查询用户购买相同商品超过一定的订单数量的商品数量
|
*
|
* @param typeList
|
* @param uid
|
* @param minSameGoodsOrderCount
|
* @return
|
*/
|
long countSameGoodsOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameGoodsOrderCount);
|
|
|
/**
|
* 查询用户在同一店铺购买超过一定数量商品的店铺id
|
*
|
* @param typeList
|
* -红包类型
|
* @param uid
|
* -用户ID
|
* @param minSameShopGoodsCount
|
* -同一店铺买的最小订单数
|
* @return
|
*/
|
List<Long> getSameShopOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameShopGoodsCount);
|
|
/**
|
* 查询用户购买相同商品超过一定的订单数量的商品id
|
*
|
* @param typeList
|
* @param uid
|
* @param minSameGoodsOrderCount
|
* @return
|
*/
|
List<Long> getSameGoodsOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameGoodsOrderCount);
|
|
/**
|
* 统计日期内产生有效订单数量(返利 + 分享)
|
* @param preDay
|
* @param uid
|
* @return
|
*/
|
public Integer countOderByUidAndDate(Date preDay, Long uid);
|
|
/**
|
* 统计日期内产生有效订单数量(返利 + 分享) 多个uid
|
* @param preDay
|
* @param uid
|
* @return
|
*/
|
//public Integer countOrderByUidsAndDate(Date preDay, List<Long> list);
|
/**
|
* 统计再此时间内 产生订单的用户数量
|
* @param preDay
|
* @param list
|
* @return
|
*/
|
public Integer countDownOrderUserByUidAndDate(Date preDay, List<Long> list);
|
|
/**
|
* 统计订单佣金
|
* @param preDay
|
* @param list
|
* @return
|
*/
|
List<CountOrderDTO> countCommissionByDay(String preDay);
|
|
/**
|
* 总订单数 每-天
|
* @param preDay
|
* @return
|
*/
|
public Integer countOderByDate(String preDay);
|
|
/**
|
* 统计订单佣金
|
* @param preDay
|
* @return
|
*/
|
public BigDecimal countCommissionByDate(String preDay);
|
|
/**
|
* 当日每个用户下单数量
|
* @param preDay
|
* @return
|
*/
|
public List<CountOrderDTO> countValidOrderByDay(String preDay);
|
|
/**
|
* 统计跟踪率
|
* @param type
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
public List<CountOrderTrackRate> getOrderTrackRate(int type, Date startTime, Date endTime);
|
|
|
/**
|
* 查询最近50小于10的订单数量
|
* @param uid
|
* @return
|
*/
|
public Integer countOderByUidAndLess10(Long uid);
|
|
/**
|
* 统计所有订单
|
*
|
* @param channel
|
* @return
|
*/
|
public List<ChartTDO> getTrackAccuracyRate(Integer dateType, String year, String startTime, String endTime,
|
int sourceType) throws Exception;
|
|
|
public Long countOrderBySourceTypeAndDay(int source, String preDay);
|
}
|