package com.yeshi.fanli.dao.mybatis.order;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
import org.apache.ibatis.annotations.Param;
|
|
import com.yeshi.fanli.dto.ChartTDO;
|
import com.yeshi.fanli.dto.order.CountOrderDTO;
|
|
public interface CommonOrderCountMapper {
|
|
/**
|
* 当前各个状态订单数
|
*
|
* @param state
|
* 状态
|
* @return
|
*/
|
Long countByState(@Param("state") Integer state);
|
|
|
/**
|
* 统计所有订单
|
*
|
* @param channel
|
* @return
|
*/
|
Long countOrderBySourceTypeAndDay(@Param("preDay") String preDay, @Param("sourceType") int sourceType);
|
|
|
/**
|
* 统计所有订单
|
*
|
* @param channel
|
* @return
|
*/
|
List<ChartTDO> countOrderNumber(@Param("dateType") Integer dateType, @Param("year") String year,
|
@Param("startTime") String startTime, @Param("endTime") String endTime,
|
@Param("sourceType") int sourceType);
|
|
|
|
/**
|
* 奖金统计
|
*
|
* @param uid
|
* @return
|
*/
|
Map<String, Object> countOrderNumberBySettleTime(@Param("uid") Long uid, @Param("state") Integer state,
|
@Param("day") Integer day);
|
|
/**
|
* 统计自购、分享有效订单数量
|
*
|
* @param uid
|
* @return
|
*/
|
long countValidOrder(@Param("uid") Long uid);
|
|
/**
|
* 根据订单号 查询金额
|
*
|
* @param orderNo
|
* @return
|
*/
|
BigDecimal getMoneyByOrderNo(@Param("orderNo") String orderNo);
|
|
/**
|
* 统计已到账返利订单
|
*
|
* @param uid
|
* @param dateTime
|
* @return
|
*/
|
long countValidOrderByDate(@Param("uid") Long uid, @Param("dateTime") String dateTime);
|
|
/**
|
* 查询用户在同一店铺购买超过一定数量商品的店铺数量
|
*
|
* @param typeList
|
* -红包类型
|
* @param uid
|
* -用户ID
|
* @param minSameShopGoodsCount
|
* -同一店铺买的最小订单数
|
* @return
|
*/
|
long countSameShopOrderByUidAndHongBaoType(@Param("typeList") List<Integer> typeList, @Param("uid") Long uid,
|
@Param("minSameShopGoodsCount") int minSameShopGoodsCount);
|
|
/**
|
* 查询用户购买相同商品超过一定的订单数量的商品数量
|
* @param typeList
|
* @param uid
|
* @param minSameGoodsOrderCount
|
* @return
|
*/
|
long countSameGoodsOrderByUidAndHongBaoType(@Param("typeList") List<Integer> typeList, @Param("uid") Long uid,
|
@Param("minSameGoodsOrderCount") int minSameGoodsOrderCount);
|
|
|
/**
|
* 查询用户在同一店铺购买超过一定数量商品的店铺id
|
*
|
* @param typeList
|
* -红包类型
|
* @param uid
|
* -用户ID
|
* @param minSameShopGoodsCount
|
* -同一店铺买的最小订单数
|
* @return
|
*/
|
List<Long> getSameShopOrderByUidAndHongBaoType(@Param("typeList") List<Integer> typeList, @Param("uid") Long uid,
|
@Param("minSameShopGoodsCount") int minSameShopGoodsCount);
|
|
/**
|
* 查询用户购买相同商品超过一定的订单数量的商品id
|
* @param typeList
|
* @param uid
|
* @param minSameGoodsOrderCount
|
* @return
|
*/
|
List<Long> getSameGoodsOrderByUidAndHongBaoType(@Param("typeList") List<Integer> typeList, @Param("uid") Long uid,
|
@Param("minSameGoodsOrderCount") int minSameGoodsOrderCount);
|
|
|
/**
|
* 通过uid 日期筛选 下单数量
|
* @param preDay
|
* @param uid
|
* @return
|
*/
|
Integer countOderByUidAndDate(@Param("preDay") Date preDay,@Param("uid") Long uid);
|
|
/**
|
* 日期筛选 每个用户下单数量
|
* @param preDay
|
* @param uid
|
* @return
|
*/
|
List<CountOrderDTO> countValidOrderByDay(@Param("preDay") String preDay);
|
|
/**
|
* 查询当日下单用户
|
* @param preDay
|
* @return
|
*/
|
List<Long> getUidByValidOrderByDay(@Param("preDay") String preDay);
|
|
/**
|
* 通过多个uid 日期筛选 下单用户数量
|
* @param preDay
|
* @param uid
|
* @return
|
*/
|
Integer countDownOrderUserByUidAndDate(@Param("preDay") Date preDay,@Param("list") List<Long> list);
|
|
/**
|
* 统计订单产生佣金
|
* @param preDay
|
* @param list
|
* @return
|
*/
|
List<CountOrderDTO> countCommissionByDay(@Param("preDay") String preDay);
|
|
/**
|
* 通过uid 日期筛选 下单数量
|
* @param preDay
|
* @return
|
*/
|
Integer countOderByDate(@Param("preDay") String preDay);
|
|
/**
|
* 统计订单产生佣金
|
* @param preDay
|
* @return
|
*/
|
BigDecimal countCommissionByDate(@Param("preDay") String preDay);
|
|
|
/**
|
* 查询最近50小于10的订单数量
|
* @param uid
|
* @return
|
*/
|
Integer countOderByUidAndLess10(@Param("uid") Long uid);
|
|
|
List<Long> getDownOrderUserByListUidAndDate(@Param("preDay") Date preDay,@Param("list") List<Long> list);
|
|
|
/**
|
* 统计近 day天有效订单数量
|
* @param uid
|
* @param source
|
* @param day
|
* @return
|
*/
|
Long countOrderBySourceAndNearDay(@Param("uid") Long uid, @Param("source") int source, @Param("day") int day);
|
|
|
}
|