From ea5a55deffa6d33048a1f7e03b71424c8add5e31 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 08 五月 2026 14:51:52 +0800
Subject: [PATCH] feat(ai): 实现采购多文件分析附件存储与历史回显功能

---
 src/main/java/com/ruoyi/ai/service/impl/AiChatSessionServiceImpl.java |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/ai/service/impl/AiChatSessionServiceImpl.java b/src/main/java/com/ruoyi/ai/service/impl/AiChatSessionServiceImpl.java
index 6d8c945..0ea436d 100644
--- a/src/main/java/com/ruoyi/ai/service/impl/AiChatSessionServiceImpl.java
+++ b/src/main/java/com/ruoyi/ai/service/impl/AiChatSessionServiceImpl.java
@@ -114,7 +114,10 @@
             return new LinkedList<>();
         }
         List<ChatMessage> messages = mongoChatMemoryStore.getMessages(memoryId);
-        return messages.stream().map(this::convertMessage).collect(Collectors.toList());
+        List<AiChatMessageDto> messageDtos = messages.stream().map(this::convertMessage).collect(Collectors.toList());
+        List<List<String>> analyzeFilePathGroups = mongoChatMemoryStore.getAnalyzeFilePathGroups(memoryId);
+        attachAnalyzeFilePaths(messageDtos, analyzeFilePathGroups);
+        return messageDtos;
     }
 
     @Override
@@ -188,4 +191,22 @@
         }
         return new AiChatMessageDto("unknown", String.valueOf(message));
     }
+
+    private void attachAnalyzeFilePaths(List<AiChatMessageDto> messages,
+                                        List<List<String>> analyzeFilePathGroups) {
+        if (StringUtils.isEmpty(messages) || StringUtils.isEmpty(analyzeFilePathGroups)) {
+            return;
+        }
+        int analyzeIndex = 0;
+        for (AiChatMessageDto message : messages) {
+            if (!"user".equals(message.getRole()) || analyzeIndex >= analyzeFilePathGroups.size()) {
+                continue;
+            }
+            List<String> filePaths = analyzeFilePathGroups.get(analyzeIndex);
+            if (!StringUtils.isEmpty(filePaths)) {
+                message.setFilePaths(filePaths);
+            }
+            analyzeIndex++;
+        }
+    }
 }

--
Gitblit v1.9.3