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