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