package org.jeecg.modules.oroqen.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.oroqen.entity.OroqenProduct;

import java.util.List;

/**
 * @Description: 产品
 * @Author: jeecg-boot
 * @Date: 2025-01-08
 * @Version: V1.0
 */
public interface IOroqenProductService extends IService<OroqenProduct> {

    /**
     * 根据分类ID查询产品列表
     * @param categoryId
     * @return
     */
    List<OroqenProduct> getProductsByCategoryId(String categoryId);

    /**
     * 查询推荐产品
     * @param limit
     * @return
     */
    List<OroqenProduct> getFeaturedProducts(Integer limit);

    /**
     * 查询热销产品
     * @param limit
     * @return
     */
    List<OroqenProduct> getHotProducts(Integer limit);

    /**
     * 检查产品编码是否存在
     * @param productCode
     * @param excludeId
     * @return
     */
    boolean checkProductCodeExists(String productCode, String excludeId);

    /**
     * 更新销量
     * @param productId
     * @param quantity
     * @return
     */
    boolean updateSalesCount(String productId, Integer quantity);

    /**
     * 更新库存
     * @param productId
     * @param quantity
     * @return
     */
    boolean updateStock(String productId, Integer quantity);

    /**
     * 检查库存是否充足
     * @param productId
     * @param quantity
     * @return
     */
    boolean checkStock(String productId, Integer quantity);
}