diff --git a/SELECT b/SELECT new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/com/superbiz/agent/service/KnowledgeIndexService.java b/src/main/java/com/superbiz/agent/service/KnowledgeIndexService.java index 1d144ca..a97270b 100644 --- a/src/main/java/com/superbiz/agent/service/KnowledgeIndexService.java +++ b/src/main/java/com/superbiz/agent/service/KnowledgeIndexService.java @@ -29,6 +29,9 @@ import java.util.stream.Stream; @Service public class KnowledgeIndexService { + @Value("${knowledge.base-path:knowledge_base}") + private String knowledgeBasePath; + @Autowired private ApiDocumentRepository apiDocumentRepository; @@ -195,13 +198,15 @@ public class KnowledgeIndexService { /** * 读取文档内容 * - * @param filePath 文件路径 + * @param filePath 文件相对路径(如 api/payment-errors.md) * @param maxChars 最大字符数 * @return 文档内容(前 maxChars 字符),失败返回 null */ public String readDocument(String filePath, int maxChars) { try { - String content = Files.readString(Paths.get(filePath)); + // 拼接完整路径:knowledge_base + 相对路径 + Path fullPath = Paths.get(knowledgeBasePath, filePath); + String content = Files.readString(fullPath); if (content.length() > maxChars) { return content.substring(0, maxChars) + "..."; @@ -210,7 +215,7 @@ public class KnowledgeIndexService { return content; } catch (IOException e) { - log.error("读取文档失败: {}", filePath, e); + log.error("读取文档失败: {}/{}", knowledgeBasePath, filePath, e); return null; } } diff --git a/src/test/java/com/superbiz/agent/repository/ApiDocumentRepositoryTest.java b/src/test/java/com/superbiz/agent/repository/ApiDocumentRepositoryTest.java index 6fe2034..5ef1a3b 100644 --- a/src/test/java/com/superbiz/agent/repository/ApiDocumentRepositoryTest.java +++ b/src/test/java/com/superbiz/agent/repository/ApiDocumentRepositoryTest.java @@ -40,7 +40,7 @@ class ApiDocumentRepositoryTest { .filePath("/uploads/api-spec.md") .fileHash("abc123hash") .fileSize(1024L) - .faultCategory(FaultCategory.EXTERNAL_API) + .faultCategory(FaultCategory.API) .faultSource("广东") .apiName("查询接口") .status("PENDING") @@ -167,7 +167,7 @@ class ApiDocumentRepositoryTest { .docId(UUID.randomUUID().toString()) .fileName("guangdong-api.md") .faultSource("广东") - .faultCategory(FaultCategory.EXTERNAL_API) + .faultCategory(FaultCategory.API) .build(); repository.save(doc); diff --git a/src/test/java/com/superbiz/agent/repository/DiagnosisRecordRepositoryTest.java b/src/test/java/com/superbiz/agent/repository/DiagnosisRecordRepositoryTest.java index 6f825a5..da07f12 100644 --- a/src/test/java/com/superbiz/agent/repository/DiagnosisRecordRepositoryTest.java +++ b/src/test/java/com/superbiz/agent/repository/DiagnosisRecordRepositoryTest.java @@ -38,7 +38,7 @@ class DiagnosisRecordRepositoryTest { .sessionId("session-001") .businessId("order-12345") .traceId("trace-abc123") - .faultCategory(FaultCategory.EXTERNAL_API) + .faultCategory(FaultCategory.API) .faultSource("广东") .faultTarget("http://api.example.com/query") .errorCode("40003")