package com.ruoyi.mall.service;

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

import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import com.ruoyi.mall.domain.MallGoodsGoods;
import com.ruoyi.mall.domain.vo.IndexGoodsVO;

/**
 * 商品Service接口
 *
 * @author chang
 * @date 2021-11-25
 */
public interface IMallGoodsGoodsService
{
    /**
     * 查询商品
     *
     * @param id 商品主键
     * @return 商品
     */
    public MallGoodsGoods selectMallGoodsGoodsById(Long id);

    /**
     * 查询商品列表
     *
     * @param mallGoodsGoods 商品
     * @return 商品集合
     */
    public List<MallGoodsGoods> selectMallGoodsGoodsList(MallGoodsGoods mallGoodsGoods);


    /**
     * 查询商品列表
     *
     * @param mallGoodsGoods 商品
     * @return 商品集合
     */
    public PageInfo<IndexGoodsVO> selectMallGoodsGoodsListByPage(Integer pageNum, Integer pageSize, MallGoodsGoods mallGoodsGoods, String userId);
    /**
     * 新增商品
     *
     * @param mallGoodsGoods 商品
     * @return 结果
     */
    public int insertMallGoodsGoods(MallGoodsGoods mallGoodsGoods);

    /**
     * 修改商品
     *
     * @param mallGoodsGoods 商品
     * @return 结果
     */
    public int updateMallGoodsGoods(MallGoodsGoods mallGoodsGoods);

    /**
     * 批量删除商品
     *
     * @param ids 需要删除的商品主键集合
     * @return 结果
     */
    public int deleteMallGoodsGoodsByIds(Long[] ids);

    /**
     * 删除商品信息
     *
     * @param id 商品主键
     * @return 结果
     */
    public int deleteMallGoodsGoodsById(Long id);

    /*
    * 销量查询商品
    * */
    public List<IndexGoodsVO> selectMallGoodsBySales();

    /*
     * 新品
     * */
    public List<IndexGoodsVO> selectMallGoodsByCreatTime();

    /*
     * 热门
     * */
    public List<IndexGoodsVO> selectMallGoodsByhot();

    /*
    * 根据id查商品
    * */
    public IndexGoodsVO selectMallGoodsGoodsByIdVO(Map<String, Object> params);
}
