package com.yiqi.order.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yiqi.order.domain.dto.*;
import com.yiqi.order.domain.dto.weapp.AppGoodsOrderInfoQueryDTO;
import com.yiqi.order.domain.vo.*;
import com.yiqi.order.domain.vo.weapp.AppGoodsOrderInfoQueryVO;
import org.apache.ibatis.annotations.Mapper;
import com.yiqi.order.domain.OrderGoods;
import org.apache.ibatis.annotations.Param;

/**
 * 商品订单Mapper接口
 *
 * @author ruoyi
 * @date 2023-12-06
 */
@Mapper
public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {

    /**
     * 查询商品订单
     *
     * @param id 商品订单主键
     * @return 商品订单
     */
    public List<OrderRetailGoodsSkuVO> selectOrderGoodsById(Long id);

    public List<OrderRetailGoodsSkuVO> selectOrderGoodsByOrderNos(@Param("orderNoList") List<String> orderNoList);

    /**
     * 查询商品订单列表
     *
     * @param goodsOrderQueryDTO 商品订单
     * @return 商品订单集合
     */
    public List<GoodsOrderQueryVO> selectOrderGoodsList(GoodsOrderQueryDTO goodsOrderQueryDTO);

    /**
     * 查询退款商品订单列表
     *
     * @param goodsOrderRefundQueryDTO 商品订单
     * @return 商品订单集合
     */
    public List<GoodsOrderRefundQueryVO> getRefundOrderGoodsList(GoodsOrderRefundQueryDTO goodsOrderRefundQueryDTO);

    /**
     * APP分页获取订单商品列表
     *
     * @param appGoodsOrderInfoQueryDTO
     * @return
     */
    public List<AppGoodsOrderInfoQueryVO> getGoodsOrderListByApp(AppGoodsOrderInfoQueryDTO appGoodsOrderInfoQueryDTO);

    /**
     * 获取商品订单统计列表
     *
     * @param queryDTO
     * @return
     */
    List<GoodsStatisticsVO> getGoodsStatisticsList(GoodsStatisticsQueryDTO queryDTO);
}
