From eb832a81fb17402b1dded01459a01d7d99f16262 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 09 六月 2026 14:43:25 +0800
Subject: [PATCH] refactor(ai): 重构 Pinecone 向量存储配置和服务实现
---
src/main/java/com/ruoyi/approve/controller/KnowledgeBaseController.java | 27 +++++++++++++--------------
1 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/controller/KnowledgeBaseController.java b/src/main/java/com/ruoyi/approve/controller/KnowledgeBaseController.java
index ac4f93d..db7c4db 100644
--- a/src/main/java/com/ruoyi/approve/controller/KnowledgeBaseController.java
+++ b/src/main/java/com/ruoyi/approve/controller/KnowledgeBaseController.java
@@ -4,14 +4,13 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.approve.dto.KnowledgeBaseVectorVO;
import com.ruoyi.approve.pojo.KnowledgeBase;
-import com.ruoyi.approve.pojo.KnowledgeBaseVector;
import com.ruoyi.approve.service.KnowledgeBaseService;
import com.ruoyi.approve.service.KnowledgeBaseVectorService;
import com.ruoyi.basic.dto.StorageAttachmentDTO;
import com.ruoyi.basic.dto.StorageBlobDTO;
-import com.ruoyi.basic.pojo.StorageAttachment;
+import com.ruoyi.basic.pojo.StorageBlob;
import com.ruoyi.basic.service.StorageAttachmentService;
-import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.basic.service.StorageBlobService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.AjaxResult;
import io.swagger.v3.oas.annotations.Operation;
@@ -31,6 +30,7 @@
private KnowledgeBaseService knowledgeBaseService;
private KnowledgeBaseVectorService knowledgeBaseVectorService;
private StorageAttachmentService storageAttachmentService;
+ private StorageBlobService storageBlobService;
/**
* 鑾峰彇鍒楄〃
@@ -128,18 +128,10 @@
// 鍒涘缓鍚戦噺璁板綍骞惰Е鍙戝悜閲忓寲
for (Long blobId : dto.getStorageBlobIds()) {
// 鑾峰彇鏂囦欢淇℃伅
- var blob = storageAttachmentService.getBaseMapper()
- .selectOne(com.baomidou.mybatisplus.core.toolkit.Wrappers.<StorageAttachment>lambdaQuery()
- .eq(StorageAttachment::getStorageBlobId, blobId)
- .eq(StorageAttachment::getRecordType, "knowledge_base")
- .eq(StorageAttachment::getRecordId, dto.getKnowledgeBaseId())
- .last("limit 1"));
-
+ StorageBlob blob = storageBlobService.getById(blobId);
if (blob != null) {
- // 鑾峰彇鏂囦欢鍚嶏紝闇�瑕佷粠 storage_blob 琛ㄨ幏鍙�
- // 杩欓噷绠�鍖栧鐞嗭紝瀹為檯闇�瑕佹煡璇� storage_blob 琛�
- String fileName = "file_" + blobId;
- String fileType = "unknown";
+ String fileName = blob.getOriginalFilename();
+ String fileType = getFileExtension(fileName);
knowledgeBaseVectorService.createVectorRecord(
dto.getKnowledgeBaseId(),
@@ -153,6 +145,13 @@
return AjaxResult.success();
}
+ private String getFileExtension(String fileName) {
+ if (fileName == null || !fileName.contains(".")) {
+ return "unknown";
+ }
+ return fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase();
+ }
+
/**
* 鍒犻櫎鐭ヨ瘑搴撴枃浠�
*/
--
Gitblit v1.9.3