From ea1b994ba52fd14635888224624b37934afedcf2 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 24 Oct 2025 14:59:19 +0800
Subject: [PATCH] feat(ai): 新增AI产品依赖管理功能
---
src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java | 37 ++++++++++++++++++++++++++++++++-----
1 files changed, 32 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 51e1572..1e500bc 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
@@ -55,6 +55,9 @@
if (StrUtil.isNotEmpty(dto.getProductCategoryId())){
query.eq(AiProduct::getProductCategoryId, dto.getProductCategoryId());
}
+ if (StrUtil.isNotEmpty(dto.getCompanyId())){
+ query.eq(AiProduct::getCompanyId, dto.getCompanyId());
+ }
query.ne(AiProduct::getState, 2);
query.orderByDesc(AiProduct::getHotState);
query.orderByAsc(AiProduct::getSort);
@@ -159,11 +162,12 @@
@Override
public List<AiProduct> selectList(String companyId) {
- return aiProductMapper.selectList(
- Wrappers.lambdaQuery(AiProduct.class)
- .eq(AiProduct::getCompanyId, companyId)
- .ne(AiProduct::getState, 2)
- );
+ LambdaQueryWrapper<AiProduct> query = Wrappers.lambdaQuery(AiProduct.class);
+ if (StrUtil.isNotEmpty(companyId)){
+ query.eq(AiProduct::getCompanyId, companyId);
+ }
+ query.ne(AiProduct::getState, 2);
+ return aiProductMapper.selectList(query);
}
@Override
@@ -173,15 +177,18 @@
List<String> chooseIds = dto.getChooseIds();
AiProduct aiProduct = this.getById(chooseId);
if (ObjectUtil.isNotNull(aiProduct)) {
+ String companyId = aiProduct.getCompanyId();
aiProductPointLinkService.deleteByQuery(
Wrappers.lambdaQuery(AiProductPointLink.class)
.eq(AiProductPointLink::getProductId,chooseId)
+ .eq(AiProductPointLink::getCompanyId,companyId)
);
if(CollUtil.isNotEmpty(chooseIds)){
Date createdTime = new Date();
for (String item : chooseIds){
AiProductPointLink entity = new AiProductPointLink();
entity.setId(UUID.getSimpleUUIDString());
+ entity.setCompanyId(companyId);
entity.setProductId(chooseId);
entity.setProductPointId(item);
entity.setCreatedTime(createdTime);
@@ -199,15 +206,18 @@
List<String> chooseIds = dto.getChooseIds();
AiProduct aiProduct = this.getById(chooseId);
if (ObjectUtil.isNotNull(aiProduct)) {
+ String companyId = aiProduct.getCompanyId();
aiProductRoleLinkService.deleteByQuery(
Wrappers.lambdaQuery(AiProductRoleLink.class)
.eq(AiProductRoleLink::getProductId,chooseId)
+ .eq(AiProductRoleLink::getCompanyId,companyId)
);
if(CollUtil.isNotEmpty(chooseIds)){
Date createdTime = new Date();
for (String item : chooseIds){
AiProductRoleLink entity = new AiProductRoleLink();
entity.setId(UUID.getSimpleUUIDString());
+ entity.setCompanyId(companyId);
entity.setProductId(chooseId);
entity.setProductRoleId(item);
entity.setCreatedTime(createdTime);
@@ -224,15 +234,18 @@
List<String> chooseIds = dto.getChooseIds();
AiProduct aiProduct = this.getById(chooseId);
if (ObjectUtil.isNotNull(aiProduct)) {
+ String companyId = aiProduct.getCompanyId();
aiProductQuestionLinkService.deleteByQuery(
Wrappers.lambdaQuery(AiProductQuestionLink.class)
.eq(AiProductQuestionLink::getProductId,chooseId)
+ .eq(AiProductQuestionLink::getCompanyId,companyId)
);
if(CollUtil.isNotEmpty(chooseIds)){
Date createdTime = new Date();
for (String item : chooseIds){
AiProductQuestionLink entity = new AiProductQuestionLink();
entity.setId(UUID.getSimpleUUIDString());
+ entity.setCompanyId(companyId);
entity.setProductId(chooseId);
entity.setProductQuestionId(item);
entity.setCreatedTime(createdTime);
@@ -242,4 +255,18 @@
}
return new FebsResponse().success().message("操作成功");
}
+
+ @Override
+ public List<AiProduct> listByCategory(AiProduct dto) {
+ LambdaQueryWrapper<AiProduct> query = Wrappers.lambdaQuery(AiProduct.class);
+ if (StrUtil.isNotEmpty(dto.getProductCategoryId())){
+ query.eq(AiProduct::getProductCategoryId, dto.getProductCategoryId());
+ }
+ if (StrUtil.isNotEmpty(dto.getCompanyId())){
+ query.eq(AiProduct::getCompanyId, dto.getCompanyId());
+ }
+ query.ne(AiProduct::getState, 2);
+ query.orderByAsc(AiProduct::getSort);
+ return aiProductMapper.selectList(query);
+ }
}
--
Gitblit v1.9.1