Administrator
2025-08-27 2ef897d378675be4816266e5e7d466564880920b
src/main/java/cc/mrbird/febs/ai/service/AiProductService.java
@@ -1,6 +1,13 @@
package cc.mrbird.febs.ai.service;
import cc.mrbird.febs.ai.entity.AiProduct;
import cc.mrbird.febs.ai.req.product.ApiProductInfoDto;
import cc.mrbird.febs.ai.req.product.ApiProductPageDto;
import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryPageDto;
import cc.mrbird.febs.ai.res.product.ApiProductVo;
import cc.mrbird.febs.ai.res.productCategory.ApiProductCategoryVo;
import cc.mrbird.febs.common.entity.FebsResponse;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@@ -12,103 +19,13 @@
 */
public interface AiProductService extends IService<AiProduct> {
    /**
     * 根据ID查询AI产品
     * @param id 产品ID
     * @return AI产品信息
     */
    AiProduct getById(String id);
    /**
     * 根据公司ID查询AI产品列表
     * @param companyId 公司ID
     * @return AI产品列表
     */
    List<AiProduct> getByCompanyId(String companyId);
    Page<ApiProductVo> getPageListByQuery(Page<ApiProductVo> page , ApiProductPageDto dto);
    /**
     * 根据编码查询AI产品
     * @param code 产品编码
     * @return AI产品信息
     */
    AiProduct getByCode(String code);
    FebsResponse productList(ApiProductPageDto dto);
    /**
     * 根据名称查询AI产品列表
     * @param name 产品名称
     * @return AI产品列表
     */
    List<AiProduct> getByName(String name);
    FebsResponse productInfo(ApiProductInfoDto dto);
    /**
     * 根据产品类别ID查询AI产品列表
     * @param productCategoryId 产品类别ID
     * @return AI产品列表
     */
    List<AiProduct> getByProductCategoryId(String productCategoryId);
    /**
     * 根据状态查询AI产品列表
     * @param state 状态 0-禁用 1-启用 2-已删除
     * @return AI产品列表
     */
    List<AiProduct> getByState(Integer state);
    /**
     * 根据是否推荐查询AI产品列表
     * @param hotState 是否推荐到首页 1-推荐 0-不推荐
     * @return AI产品列表
     */
    List<AiProduct> getByHotState(Integer hotState);
    /**
     * 根据公司ID和状态查询AI产品列表
     * @param companyId 公司ID
     * @param state 状态 0-禁用 1-启用 2-已删除
     * @return AI产品列表
     */
    List<AiProduct> getByCompanyIdAndState(String companyId, Integer state);
    /**
     * 根据公司ID和推荐状态查询AI产品列表
     * @param companyId 公司ID
     * @param hotState 是否推荐到首页 1-推荐 0-不推荐
     * @return AI产品列表
     */
    List<AiProduct> getByCompanyIdAndHotState(String companyId, Integer hotState);
    /**
     * 保存AI产品
     * @param aiProduct AI产品实体
     * @return 是否保存成功
     */
    boolean saveProduct(AiProduct aiProduct);
    /**
     * 批量保存AI产品
     * @param products AI产品列表
     * @return 是否保存成功
     */
    boolean saveBatchProducts(List<AiProduct> products);
    /**
     * 更新AI产品
     * @param aiProduct AI产品实体
     * @return 是否更新成功
     */
    boolean updateProduct(AiProduct aiProduct);
    /**
     * 根据ID删除AI产品
     * @param id 产品ID
     * @return 是否删除成功
     */
    boolean deleteById(String id);
    /**
     * 根据公司ID删除AI产品
     * @param companyId 公司ID
     * @return 是否删除成功
     */
    boolean deleteByCompanyId(String companyId);
    FebsResponse pointInfoList(ApiProductInfoDto dto);
}