package com.hzs.sale.wares.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
import com.hzs.common.domain.sale.wares.BdWaresDetail;
import com.hzs.sale.order.param.OrderItemsParam;
import com.hzs.sale.product.vo.WaresDetailVo;
import com.hzs.sale.wares.param.CuProductParams;
import com.hzs.sale.wares.vo.WaresProductDetailVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 商品发布明细表 Mapper 接口
 */
public interface BdWaresDetailMapper extends BaseMapper<BdWaresDetail> {

    /**
     * 根据条件查询商品信息
     *
     * @param specialArea      专区
     * @param transType        运输方式
     * @param orderItemsParams 参数
     * @param systemType       系统类型
     */
    List<BdWaresDetailExt> queryWaresDetailByCondition(@Param("specialArea") Integer specialArea,
                                                       @Param("transType") Integer transType,
                                                       @Param("orderItemsParams") List<OrderItemsParam> orderItemsParams,
                                                       @Param("systemType") Integer systemType);

    /**
     * 根据商品编号查询
     *
     * @param waresCode
     * @return
     */
    List<CuProductParams> selectByWaresCode(@Param("waresCode") String waresCode, @Param("specialArea") Integer specialArea, @Param("isGift") Integer isGift);

    /**
     * 根据商品主键查询
     *
     * @param pkWares
     * @return
     */
    List<BdWaresDetailExt> selectByPkWares(@Param("pkWares") Integer pkWares);

    /**
     * 根据产品主键查询商品列表
     *
     * @param pkProducts
     * @return
     */
    List<WaresDetailVo> listByPkProduct(@Param("pkProducts") List<Integer> pkProducts);

    /**
     * 商品下产品查询
     *
     * @param pkWares
     * @return
     */
    List<WaresProductDetailVo> selectByList(@Param("pkWares") Integer pkWares);
}
