From b2aa119a3e476cbb43f23a82745159d8071925f7 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 12 Sep 2025 16:30:58 +0800
Subject: [PATCH] feat(ai): 添加产品类别层级功能
---
src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java | 34 +++++++++++++++++++++++++++++-----
1 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java
index 6feb107..5ab494e 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java
@@ -3,15 +3,13 @@
import cc.mrbird.febs.ai.entity.*;
import cc.mrbird.febs.ai.mapper.AiProductMapper;
import cc.mrbird.febs.ai.req.AdminMoveChooseInfoDto;
-import cc.mrbird.febs.ai.service.AiProductCategoryService;
-import cc.mrbird.febs.ai.service.AiProductPointLinkService;
-import cc.mrbird.febs.ai.service.AiProductRoleLinkService;
-import cc.mrbird.febs.ai.service.AiProductService;
+import cc.mrbird.febs.ai.service.*;
import cc.mrbird.febs.ai.util.UUID;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -42,6 +40,7 @@
private final AiProductCategoryService aiProductCategoryService;
private final AiProductPointLinkService aiProductPointLinkService;
private final AiProductRoleLinkService aiProductRoleLinkService;
+ private final AiProductQuestionLinkService aiProductQuestionLinkService;
@Override
public AiProduct getById(String id) {
@@ -53,7 +52,7 @@
Page<AiProduct> page = new Page<>(request.getPageNum(), request.getPageSize());
LambdaQueryWrapper<AiProduct> query = Wrappers.lambdaQuery(AiProduct.class);
- if (ObjectUtil.isNotNull(dto.getProductCategoryId())){
+ if (StrUtil.isNotEmpty(dto.getProductCategoryId())){
query.eq(AiProduct::getProductCategoryId, dto.getProductCategoryId());
}
query.ne(AiProduct::getState, 2);
@@ -217,4 +216,29 @@
}
return new FebsResponse().success().message("操作成功");
}
+
+ @Override
+ public FebsResponse productQuestionSet(AdminMoveChooseInfoDto dto) {
+ String chooseId = dto.getChooseId();
+ List<String> chooseIds = dto.getChooseIds();
+ AiProduct aiProduct = this.getById(chooseId);
+ if (ObjectUtil.isNotNull(aiProduct)) {
+ aiProductQuestionLinkService.deleteByQuery(
+ Wrappers.lambdaQuery(AiProductQuestionLink.class)
+ .eq(AiProductQuestionLink::getProductId,chooseId)
+ );
+ if(CollUtil.isNotEmpty(chooseIds)){
+ Date createdTime = new Date();
+ for (String item : chooseIds){
+ AiProductQuestionLink entity = new AiProductQuestionLink();
+ entity.setId(UUID.getSimpleUUIDString());
+ entity.setProductId(chooseId);
+ entity.setProductQuestionId(item);
+ entity.setCreatedTime(createdTime);
+ aiProductQuestionLinkService.getBaseMapper().insert(entity);
+ }
+ }
+ }
+ return new FebsResponse().success().message("操作成功");
+ }
}
--
Gitblit v1.9.1