package com.hzs.bonus.order.service;

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 java.util.Date;
import java.util.List;
import java.util.Map;

public interface IBonusOrderService {

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

    /**
     * 查询订单编号
     */
    SaOrderExt querySaOrderByDay(Date startDate, Date endDate, String orderCode);

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

    /**
     * 查询商品级差数据
     *
     * @param orderList
     * @return
     */
    Map<Long, List<SaOrderItemsExt>> getWaresRange(List<SaOrderExt> orderList);

}
