package com.seer.teach.mall.app.good.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.seer.teach.common.PageListBean;
import com.seer.teach.mall.entity.GoodsEntity;
import com.seer.teach.mall.request.CategoryTypeReq;
import com.seer.teach.mall.request.GoodSearchReq;
import com.seer.teach.mall.request.GoodsDetailsReq;
import com.seer.teach.mall.response.GoodSpuDetailResp;
import com.seer.teach.mall.response.GoodsResp;

import java.util.Set;

/**
 * <p>
 *  商城商品服务类
 * </p>
 *
 * @author Captain
 * @since 2025-06-12
 */
public interface IAppGoodsService {

    /**
     * 根据商品类别查询
     * @param params
     * @return
     */
    IPage<GoodsEntity> getPageListByCategoryId(CategoryTypeReq params);

    /**
     * 商品详情页查询
     * @param params
     * @return
     */
    GoodSpuDetailResp getGoodsDetails(GoodsDetailsReq params);

    /**
     * Author: afa
     * Desc:  商品模糊查询
     * Params: params
     * Time: 2025/6/19 20:39
     */
    IPage<GoodsEntity> searchGoods(GoodSearchReq params);


    /**
     * 商品分页查询
     * @param params
     * @return
     */
    PageListBean<GoodsResp> getPageList(GoodSearchReq params);
}
