From 413a57e2524cb0b839d5d83d961de3b59814eb6e Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 24 Oct 2025 16:53:11 +0800
Subject: [PATCH] feat(ai): 实现产品依赖解锁功能 - 在AiMemberAnswerServiceImpl中注入AiProductDependencyService和AiMemberProductUnlockService - 修改insure方法,根据答题分数解锁符合条件的产品 - 新增selectListByProductIds和insertList方法到AiMemberProductUnlockService - 实现产品依赖关系查询方法selectListByProductId到AiProductDependencyService- 在AiProductServiceImpl中增加产品状态判断逻辑,支持锁定和解锁状态显示 - 添加memberId字段到ApiProductPageDto用于查询用户已解锁产品 - 在ApiProductVo中新增state字段表示产品锁定/解锁状态
---
src/main/java/cc/mrbird/febs/ai/service/AiProductCategoryService.java | 106 ++++++++---------------------------------------------
1 files changed, 16 insertions(+), 90 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiProductCategoryService.java b/src/main/java/cc/mrbird/febs/ai/service/AiProductCategoryService.java
index d9081cb..1e44cf2 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiProductCategoryService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiProductCategoryService.java
@@ -1,7 +1,15 @@
package cc.mrbird.febs.ai.service;
import cc.mrbird.febs.ai.entity.AiProductCategory;
+import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryAllDto;
+import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryHotDto;
+import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryPageDto;
+import cc.mrbird.febs.ai.res.productCategory.ApiProductCategoryVo;
+import cc.mrbird.febs.common.entity.FebsResponse;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+
import java.util.List;
/**
@@ -12,102 +20,20 @@
*/
public interface AiProductCategoryService extends IService<AiProductCategory> {
- /**
- * 根据ID查询AI产品类别
- * @param id 类别ID
- * @return AI产品类别信息
- */
- AiProductCategory getById(String id);
- /**
- * 根据公司ID查询AI产品类别列表
- * @param companyId 公司ID
- * @return AI产品类别列表
- */
- List<AiProductCategory> getByCompanyId(String companyId);
+ List<AiProductCategory> getListByQuery(LambdaQueryWrapper<AiProductCategory> query);
- /**
- * 根据编码查询AI产品类别
- * @param code 类别编码
- * @return AI产品类别信息
- */
- AiProductCategory getByCode(String code);
+ Page<ApiProductCategoryVo> getPageListByQuery(Page<ApiProductCategoryVo> page , ApiProductCategoryPageDto dto);
- /**
- * 根据名称查询AI产品类别列表
- * @param name 类别名称
- * @return AI产品类别列表
- */
- List<AiProductCategory> getByName(String name);
+ FebsResponse hot();
- /**
- * 根据状态查询AI产品类别列表
- * @param state 状态 0-禁用 1-启用 2-已删除
- * @return AI产品类别列表
- */
- List<AiProductCategory> getByState(Integer state);
+ FebsResponse hotV1(ApiProductCategoryHotDto dto);
- /**
- * 根据是否推荐查询AI产品类别列表
- * @param hotState 是否推荐到首页 1-推荐 0-不推荐
- * @return AI产品类别列表
- */
- List<AiProductCategory> getByHotState(Integer hotState);
+ FebsResponse hotV2(ApiProductCategoryHotDto dto);
- /**
- * 根据公司ID和状态查询AI产品类别列表
- * @param companyId 公司ID
- * @param state 状态 0-禁用 1-启用 2-已删除
- * @return AI产品类别列表
- */
- List<AiProductCategory> getByCompanyIdAndState(String companyId, Integer state);
+ FebsResponse categoryChildList(ApiProductCategoryPageDto dto);
- /**
- * 根据公司ID和推荐状态查询AI产品类别列表
- * @param companyId 公司ID
- * @param hotState 是否推荐到首页 1-推荐 0-不推荐
- * @return AI产品类别列表
- */
- List<AiProductCategory> getByCompanyIdAndHotState(String companyId, Integer hotState);
+ String getDefaultProductCategoryId();
- /**
- * 获取启用状态下的所有AI产品类别,按排序字段升序排列
- * @return 启用的AI产品类别列表
- */
- List<AiProductCategory> getEnabledCategories();
-
- /**
- * 保存AI产品类别
- * @param aiProductCategory AI产品类别实体
- * @return 是否保存成功
- */
- boolean saveProductCategory(AiProductCategory aiProductCategory);
-
- /**
- * 批量保存AI产品类别
- * @param productCategories AI产品类别列表
- * @return 是否保存成功
- */
- boolean saveBatchProductCategories(List<AiProductCategory> productCategories);
-
- /**
- * 更新AI产品类别
- * @param aiProductCategory AI产品类别实体
- * @return 是否更新成功
- */
- boolean updateProductCategory(AiProductCategory aiProductCategory);
-
- /**
- * 根据ID删除AI产品类别
- * @param id 类别ID
- * @return 是否删除成功
- */
- boolean deleteById(String id);
-
- /**
- * 根据公司ID删除AI产品类别
- * @param companyId 公司ID
- * @return 是否删除成功
- */
- boolean deleteByCompanyId(String companyId);
+ FebsResponse allList(ApiProductCategoryAllDto dto);
}
--
Gitblit v1.9.1