package com.hzs.bonus.order.mapper;

import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
import com.hzs.common.domain.sale.order.SaOrder;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface BonusOrderMapper {

    /**
     * 查询时间范围内的所有订单，按照订单时间排序,只能用于奖金结算
     *
     * @param startDate 开始日期
     * @param endDate   结束日期
     */
    List<SaOrderExt> queryRetailSaOrderByDay(@Param("startDate") Date startDate,
                                             @Param("endDate") Date endDate,
                                             @Param("orderCode") String orderCode);

    /**
     * 查询时间范围内的订单，需要查询出del_flag = 1的值
     *
     * @param startDate 开始时间
     * @param endDate   结束时间
     */
    List<SaOrderExt> querySaOrderByTime(@Param("startDate") Date startDate,
                                        @Param("endDate") Date endDate,
                                        @Param("orderCode") String orderCode);

    /**
     * 查询订单列表
     *
     * @param startDate 开始日期
     * @param endDate   结束日期
     * @param orderType 订单类型列表
     */
    List<SaOrder> listSaOrderByTime(@Param("startDate") Date startDate,
                                    @Param("endDate") Date endDate,
                                    @Param("orderType") List<Integer> orderType);

    /**
     * 查询订单商品级差数据
     *
     * @param orderList 订单列表
     * @return
     */
    List<SaOrderItemsExt> listOrderWaresRange(@Param("orderList") List<SaOrderExt> orderList);

}
