admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderCountMapper.java
@@ -12,201 +12,219 @@
public interface CommonOrderCountMapper {
   /**
    * 当前各个状态订单数
    *
    * @param state
    *            状态
    * @return
    */
   Long countByState(@Param("state") Integer state);
    /**
     * 当前各个状态订单数
     *
     * @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 channel
     * @return
     */
    Long countOrderBySourceTypeAndDay(@Param("preDay") String preDay, @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 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 orderNo
    * @return
    */
   BigDecimal getMoneyByOrderNo(@Param("orderNo") String orderNo);
   /**
    * 统计已到账返利订单
    *
    * @param uid
    * @param dateTime
    * @return
    */
   long countValidOrderByDate(@Param("uid") Long uid, @Param("dateTime") String dateTime);
    /**
     * 奖金统计
     *
     * @param uid
     * @return
     */
    Map<String, Object> countOrderNumberBySettleTime(@Param("uid") Long uid, @Param("state") Integer state,
                                                     @Param("day") Integer day);
   /**
    * 查询用户在同一店铺购买超过一定数量商品的店铺数量
    *
    * @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);
   /**
    * 统计历史订单数量 -不区分状态、来源  订单号为主
    * @param uid
    * @return
    */
   Long countHistoryOrderNum(@Param("uid") Long uid);
    /**
     * 统计自购、分享有效订单数量
     *
     * @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("minDate") Date minDate);
    /**
     * 查询用户购买相同商品超过一定的订单数量的商品数量
     *
     * @param typeList
     * @param uid
     * @param excludeShopIds
     * @param minSameGoodsOrderCount
     * @return
     */
    long countSameGoodsOrderByUidAndHongBaoType(@Param("typeList") List<Integer> typeList, @Param("uid") Long uid, @Param("excludeShopIds") List<Long> excludeShopIds,
                                                @Param("minSameGoodsOrderCount") int minSameGoodsOrderCount, @Param("minDate") Date minDate);
    /**
     * 查询用户购买相同商品超过一定的订单数量的商品ID
     * @param typeList
     * @param uid
     * @param excludeShopIds
     * @param minSameGoodsOrderCount
     * @param minDate
     * @return
     */
    List<Long> listSameGoodsIdByUidAndHongBaoType(@Param("typeList") List<Integer> typeList, @Param("uid") Long uid, @Param("excludeShopIds") List<Long> excludeShopIds,
                                                  @Param("minSameGoodsOrderCount") int minSameGoodsOrderCount, @Param("minDate") Date minDate);
    /**
     * 查询用户在同一店铺购买超过一定数量商品的店铺id
     *
     * @param typeList              -红包类型
     * @param uid                   -用户ID
     * @param minSameShopGoodsCount -同一店铺买的最小订单数
     * @return
     */
    List<Long> getSameShopOrderByUidAndHongBaoType(@Param("typeList") List<Integer> typeList, @Param("uid") Long uid, @Param("excludeShopIds") List<Long> excludeShopIds,
                                                   @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
     * @param minDate
     * @return
     */
    Integer countOderByUidAndLess10(@Param("uid") Long uid,@Param("minDate") Date minDate,@Param("maxMoney") BigDecimal maxMoney);
    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);
    /**
     * 统计历史订单数量 -不区分状态、来源  订单号为主
     *
     * @param uid
     * @return
     */
    Long countHistoryOrderNum(@Param("uid") Long uid);
}