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