
package com.tmerclub.cloud.order.service;

import com.tmerclub.cloud.common.order.vo.OrderPreSaleInfoVO;
import com.tmerclub.cloud.order.model.OrderPreSaleInfo;

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

/**
 * 订单预售信息
 *
 * @author lhd
 * @date 2022-08-17 16:36:47
 */
public interface OrderPreSaleInfoService {

    /**
     * 根据订单预售信息id获取订单预售信息
     *
     * @param id 订单预售信息id
     * @return 订单预售信息
     */
    OrderPreSaleInfoVO getByOrderId(Long id);

    /**
     * 根据订单预售信息id获取订单预售信息
     *
     * @param orderIds 订单预售信息id
     * @return 订单预售信息
     */
    List<OrderPreSaleInfo> listByOrderIds(List<Long> orderIds);

    /**
     * 保存订单预售信息
     *
     * @param orderPreSaleInfo 订单预售信息
     * @param createTime
     */
    void saveBatch(List<OrderPreSaleInfo> orderPreSaleInfo, Date createTime);


    /**
     * 批量更新订单预售信息
     * @param orderPreSaleInfoList 订单预售信息
     */
    void updateBatch(List<OrderPreSaleInfo> orderPreSaleInfoList);

    /**
     * 预售订单，尾款时间过期未支付时的处理
     * @param orderIds 需要处理的订单id
     * @param canalOrderList
     */
    void handleBalanceTimeExpireOrder(List<Long> orderIds, List<Long> canalOrderList);
}
