package com.gxwebsoft.shop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.shop.entity.Goods;
import com.gxwebsoft.shop.param.GoodsCategoryParam;
import com.gxwebsoft.shop.param.GoodsParam;

import java.util.List;

/**
 * 商品记录表Service
 *
 * @author 科技小王子
 * @since 2024-07-25 19:22:01
 */
public interface GoodsService extends IService<Goods> {

    /**
     * 分页关联查询
     *
     * @param param 查询参数
     * @return PageResult<Goods>
     */
    PageResult<Goods> pageRel(GoodsParam param);

    /**
     * 关联查询全部
     *
     * @param param 查询参数
     * @return List<Goods>
     */
    List<Goods> listRel(GoodsParam param);

    /**
     * 根据id查询
     *
     * @param goodsId 自增ID
     * @return Goods
     */
    Goods getByIdRel(Integer goodsId);

    void saveBatchByAsync(Goods goods);

    List<Goods> getGoodsSpec();

    // 商城商品
    List<Goods> getGoodsSpecType0(GoodsParam param);
    // 外卖商品
    List<Goods> getGoodsSpecType1(GoodsParam param);


    List<Goods> listByMerchant(Integer merchantId);
}
