From e2a0ea3a333e46b22152d1e90356db4d2cda5f66 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 29 Sep 2025 14:03:18 +0800 Subject: [PATCH] feat(ai): 新增阿里云百炼知识库工具类 - 添加 KnowledgeBaseUtil 工具类,封装阿里云百炼知识库操作 - 实现文件上传、知识库创建与更新等核心功能 - 支持文件MD5计算、分类管理、索引任务提交与状态查询 - 集成阿里云百炼SDK依赖,版本为2.5.0 - 提供完整的知识库初始化与文件更新流程示例 - 添加文件解析状态轮询与错误处理机制 - 支持知识库中文档的追加导入与旧文档删除功能 --- src/main/java/cc/mrbird/febs/ai/service/impl/AiProductRoleLinkServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductRoleLinkServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductRoleLinkServiceImpl.java index 680f6c0..5aaa9cb 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductRoleLinkServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductRoleLinkServiceImpl.java @@ -1,12 +1,20 @@ package cc.mrbird.febs.ai.service.impl; +import cc.mrbird.febs.ai.entity.AiProductPointLink; import cc.mrbird.febs.ai.entity.AiProductRoleLink; import cc.mrbird.febs.ai.mapper.AiProductRoleLinkMapper; import cc.mrbird.febs.ai.service.AiProductRoleLinkService; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * @author Administrator @@ -15,4 +23,33 @@ @Service @RequiredArgsConstructor public class AiProductRoleLinkServiceImpl extends ServiceImpl<AiProductRoleLinkMapper, AiProductRoleLink> implements AiProductRoleLinkService { + + private final AiProductRoleLinkMapper aiProductRoleLinkMapper; + + @Override + public void deleteByProductRoleId(String id) { + List<AiProductRoleLink> list = this.selectListByRoleId(id); + if(CollUtil.isNotEmpty(list)){ + Set<String> collect = list.stream().map(AiProductRoleLink::getId).collect(Collectors.toSet()); + aiProductRoleLinkMapper.deleteBatchIds(collect); + } + } + + @Override + public List<AiProductRoleLink> selectListByRoleId(String id) { + LambdaQueryWrapper<AiProductRoleLink> query = Wrappers.lambdaQuery(AiProductRoleLink.class); + query.eq(AiProductRoleLink::getProductRoleId, id); + List<AiProductRoleLink> list = aiProductRoleLinkMapper.selectList(query); + return list; + } + + @Override + public List<AiProductRoleLink> selectListByQuery(LambdaQueryWrapper<AiProductRoleLink> query) { + return aiProductRoleLinkMapper.selectList( query); + } + + @Override + public void deleteByQuery(LambdaQueryWrapper<AiProductRoleLink> query) { + aiProductRoleLinkMapper.delete(query); + } } -- Gitblit v1.9.1