package com.haha.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.haha.common.vo.OrderItemVO;
import com.haha.entity.OrderGoods;

import java.util.List;
import java.util.Map;

/**
 * 订单商品服务接口
 */
public interface OrderGoodsService extends IService<OrderGoods> {

    /**
     * 根据订单ID查询商品列表
     *
     * @param orderId 订单ID
     * @return 商品列表
     */
    List<OrderGoods> getByOrderId(Long orderId);

    /**
     * 根据订单号查询商品列表
     *
     * @param orderNo 订单号
     * @return 商品列表
     */
    List<OrderGoods> getByOrderNo(String orderNo);

    /**
     * 根据活动ID查询商品列表
     *
     * @param activityId 活动ID
     * @return 商品列表
     */
    List<OrderGoods> getByActivityId(String activityId);

    /**
     * 根据订单ID查询商品VO列表
     *
     * @param orderId 订单ID
     * @return 商品VO列表
     */
    List<OrderItemVO> getVOByOrderId(Long orderId);

    /**
     * 批量根据订单ID列表查询商品VO列表
     *
     * @param orderIds 订单ID列表
     * @return Map<orderId, 商品VO列表>
     */
    Map<Long, List<OrderItemVO>> getVOByOrderIds(List<Long> orderIds);
}
