zss
3 天以前 9d42f647f5589e4a560d745d6b359ae6c273bd8d
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++;
        }
    }
}