From d7953d723a0b629fd9adc55ca140a93d27ec1887 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 30 Sep 2025 10:30:24 +0800
Subject: [PATCH] feat(rabbitmq): 新增知识库同步功能

---
 src/main/java/cc/mrbird/febs/ai/service/impl/AiKnowledgeFileServiceImpl.java |   36 +++++++++++++++++++++++++-----------
 1 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiKnowledgeFileServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiKnowledgeFileServiceImpl.java
index ba6b536..68b811f 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiKnowledgeFileServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiKnowledgeFileServiceImpl.java
@@ -12,6 +12,7 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.rabbit.producter.AgentProducer;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -38,6 +39,7 @@
 
     private final AiKnowledgeFileMapper aiKnowledgeFileMapper;
     private final AiCompanyService aiCompanyService;
+    private final AgentProducer agentProducer;
 
     @Override
     public IPage<AiKnowledgeFile> listInPage(AiKnowledgeFile dto, QueryRequest request) {
@@ -62,10 +64,26 @@
         entity.setCreatedTime(new Date());
         this.save(entity);
 
+        agentProducer.sendAddKnowledge( entity.getId());
+        return new FebsResponse().success().message("操作成功");
+    }
+
+    @Override
+    public FebsResponse update(AiKnowledgeFile dto) {
+        return null;
+    }
+
+    @Override
+    public void getAddKnowledge(String id) {
+        AiKnowledgeFile aiKnowledgeFile = this.getById(id);
+        if (ObjectUtil.isNull(aiKnowledgeFile)){
+            return;
+        }
+
         String categoryId = null;
         String knowledgeId = null;
-        if (StrUtil.isNotEmpty(entity.getCompanyId())){
-            AiCompany aiCompany = aiCompanyService.getById(entity.getCompanyId());
+        if (StrUtil.isNotEmpty(aiKnowledgeFile.getCompanyId())){
+            AiCompany aiCompany = aiCompanyService.getById(aiKnowledgeFile.getCompanyId());
             if (StrUtil.isNotEmpty(aiCompany.getCategoryId())){
                 categoryId = aiCompany.getCategoryId();
                 knowledgeId = aiCompany.getKnowledgeId();
@@ -75,9 +93,10 @@
             knowledgeId = KnowledgeBaseUtil.DEFAULT_KNOWLEDGE_ID;
         }
 
-        String fileId = KnowledgeBaseUtil.uploadFileToAppData(entity.getSavePath(), categoryId);
+        String fileId = KnowledgeBaseUtil.uploadFileToAppData(aiKnowledgeFile.getSavePath(), categoryId);
         if (StrUtil.isBlank(fileId)){
-            throw new FebsException("初始化应用数据失败");
+            log.info("初始化应用数据失败");
+            return ;
         }
 
         String jobId = KnowledgeBaseUtil.updateKnowledgeBase(fileId, knowledgeId, null);
@@ -85,13 +104,8 @@
                 Wrappers.lambdaUpdate(AiKnowledgeFile.class)
                         .set(AiKnowledgeFile::getFileId, fileId)
                         .set(AiKnowledgeFile::getJobId, jobId)
-                        .eq(AiKnowledgeFile::getId, entity.getId())
-                );
-        return new FebsResponse().success().message("操作成功");
-    }
+                        .eq(AiKnowledgeFile::getId, aiKnowledgeFile.getId())
+        );
 
-    @Override
-    public FebsResponse update(AiKnowledgeFile dto) {
-        return null;
     }
 }

--
Gitblit v1.9.1