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/impl/AiProductQuestionLinkServiceImpl.java | 151 -------------------------------------------------
1 files changed, 2 insertions(+), 149 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionLinkServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionLinkServiceImpl.java
index 49cc62c..4986211 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionLinkServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionLinkServiceImpl.java
@@ -25,156 +25,9 @@
private final AiProductQuestionLinkMapper aiProductQuestionLinkMapper;
- @Override
- public AiProductQuestionLink getById(String id) {
- return this.getById(id);
- }
@Override
- public List<AiProductQuestionLink> getByCompanyId(String companyId) {
- LambdaQueryWrapper<AiProductQuestionLink> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiProductQuestionLink::getCompanyId, companyId);
- queryWrapper.orderByDesc(AiProductQuestionLink::getCreatedTime);
- return this.list(queryWrapper);
- }
-
- @Override
- public List<AiProductQuestionLink> getByProductQuestionId(String productQuestionId) {
- LambdaQueryWrapper<AiProductQuestionLink> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiProductQuestionLink::getProductQuestionId, productQuestionId);
- queryWrapper.orderByDesc(AiProductQuestionLink::getCreatedTime);
- return this.list(queryWrapper);
- }
-
- @Override
- public List<AiProductQuestionLink> getByProductId(String productId) {
- LambdaQueryWrapper<AiProductQuestionLink> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiProductQuestionLink::getProductId, productId);
- queryWrapper.orderByDesc(AiProductQuestionLink::getCreatedTime);
- return this.list(queryWrapper);
- }
-
- @Override
- public List<AiProductQuestionLink> getByCompanyIdAndProductId(String companyId, String productId) {
- LambdaQueryWrapper<AiProductQuestionLink> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiProductQuestionLink::getCompanyId, companyId);
- queryWrapper.eq(AiProductQuestionLink::getProductId, productId);
- queryWrapper.orderByDesc(AiProductQuestionLink::getCreatedTime);
- return this.list(queryWrapper);
- }
-
- @Override
- public List<AiProductQuestionLink> getByCompanyIdAndProductQuestionId(String companyId, String productQuestionId) {
- LambdaQueryWrapper<AiProductQuestionLink> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiProductQuestionLink::getCompanyId, companyId);
- queryWrapper.eq(AiProductQuestionLink::getProductQuestionId, productQuestionId);
- queryWrapper.orderByDesc(AiProductQuestionLink::getCreatedTime);
- return this.list(queryWrapper);
- }
-
- @Override
- public List<AiProductQuestionLink> getByProductIdAndProductQuestionId(String productId, String productQuestionId) {
- LambdaQueryWrapper<AiProductQuestionLink> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiProductQuestionLink::getProductId, productId);
- queryWrapper.eq(AiProductQuestionLink::getProductQuestionId, productQuestionId);
- queryWrapper.orderByDesc(AiProductQuestionLink::getCreatedTime);
- return this.list(queryWrapper);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean saveProductQuestionLink(AiProductQuestionLink aiProductQuestionLink) {
- try {
- return this.save(aiProductQuestionLink);
- } catch (Exception e) {
- log.error("保存产品题目关系失败: ", e);
- return false;
- }
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean saveBatchProductQuestionLinks(List<AiProductQuestionLink> productQuestionLinks) {
- try {
- return this.saveBatch(productQuestionLinks);
- } catch (Exception e) {
- log.error("批量保存产品题目关系失败: ", e);
- return false;
- }
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean updateProductQuestionLink(AiProductQuestionLink aiProductQuestionLink) {
- try {
- return this.updateById(aiProductQuestionLink);
- } catch (Exception e) {
- log.error("更新产品题目关系失败: ", e);
- return false;
- }
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean deleteById(String id) {
- try {
- return this.removeById(id);
- } catch (Exception e) {
- log.error("删除产品题目关系失败: ", e);
- return false;
- }
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean deleteByProductId(String productId) {
- try {
- LambdaQueryWrapper<AiProductQuestionLink> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiProductQuestionLink::getProductId, productId);
- return this.remove(queryWrapper);
- } catch (Exception e) {
- log.error("根据产品ID删除产品题目关系失败: ", e);
- return false;
- }
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean deleteByProductQuestionId(String productQuestionId) {
- try {
- LambdaQueryWrapper<AiProductQuestionLink> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiProductQuestionLink::getProductQuestionId, productQuestionId);
- return this.remove(queryWrapper);
- } catch (Exception e) {
- log.error("根据产品题目ID删除产品题目关系失败: ", e);
- return false;
- }
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean deleteByCompanyId(String companyId) {
- try {
- LambdaQueryWrapper<AiProductQuestionLink> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiProductQuestionLink::getCompanyId, companyId);
- return this.remove(queryWrapper);
- } catch (Exception e) {
- log.error("根据公司ID删除产品题目关系失败: ", e);
- return false;
- }
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean deleteByProductIdAndProductQuestionId(String productId, String productQuestionId) {
- try {
- LambdaQueryWrapper<AiProductQuestionLink> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiProductQuestionLink::getProductId, productId);
- queryWrapper.eq(AiProductQuestionLink::getProductQuestionId, productQuestionId);
- return this.remove(queryWrapper);
- } catch (Exception e) {
- log.error("根据产品ID和产品题目ID删除产品题目关系失败: ", e);
- return false;
- }
+ public List<AiProductQuestionLink> getListByQuery(LambdaQueryWrapper<AiProductQuestionLink> aiProductQuestionLinkLambdaQueryWrapper) {
+ return aiProductQuestionLinkMapper.selectList(aiProductQuestionLinkLambdaQueryWrapper);
}
}
--
Gitblit v1.9.1