From 9057dc8df0d79dc09c9bdcee750e91ce2fbe5dc5 Mon Sep 17 00:00:00 2001 From: lili Date: Wed, 8 Jul 2026 09:06:31 -0700 Subject: [PATCH] =?UTF-8?q?fix(ai):=20=E8=A1=A5=E4=BF=AE=20S8=20=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=8A=A0=20providerKey=20=E7=A0=B4=E5=9D=8F=20muse-se?= =?UTF-8?q?rver=20=E5=AF=BC=E5=85=A5=E5=90=91=E5=AF=BC=20IT=20=E7=BC=96?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit S8(0b109a29)给 MuseAiImportLlmParser 接口加 providerKey() 后它不再是函数式 接口,而 P1rContentImportWizardCompletedApprovalIT 的 importLlmParser() 测试 bean 仍以 lambda 提供 stub → muse-server test-compile 断裂。当时 S8 只跑 ai 模块单测 (20/0/0/0)、未编 muse-server 整分支,故漏(整分支视角收口价值)。改 lambda 为匿名 类实现 parse+providerKey;该 IT 只装配单个 parser bean、resolveImportLlmParser 对 size==1 直接返回,providerKey 不参与选择,返回 "stub" 占位。 验证:mvn -pl muse-server -am test-compile BUILD SUCCESS(MVN_EXIT=0)。 Co-Authored-By: Claude Opus 4.8 (1M context) --- ...ontentImportWizardCompletedApprovalIT.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/muse-cloud/muse-server/src/test/java/cn/iocoder/muse/server/framework/api/P1rContentImportWizardCompletedApprovalIT.java b/muse-cloud/muse-server/src/test/java/cn/iocoder/muse/server/framework/api/P1rContentImportWizardCompletedApprovalIT.java index de74a498..0bb67440 100644 --- a/muse-cloud/muse-server/src/test/java/cn/iocoder/muse/server/framework/api/P1rContentImportWizardCompletedApprovalIT.java +++ b/muse-cloud/muse-server/src/test/java/cn/iocoder/muse/server/framework/api/P1rContentImportWizardCompletedApprovalIT.java @@ -613,10 +613,23 @@ class P1rContentImportWizardCompletedApprovalIT { if (externalAcceptanceEnabled()) { return new NewApiMuseAiImportLlmParser(newApiProperties()); } - return command -> new MuseAiImportLlmParser.LlmParseResult(true, List.of( - new MuseAiImportLlmParser.LlmChapter("第一章 星门", "导入向导第一章正文。"), - new MuseAiImportLlmParser.LlmChapter("第二章 归航", "导入向导第二章正文。")), - null, null, false, Map.of("parser", "stub_llm_full_book", "chapterCount", 2)); + // S8 后 MuseAiImportLlmParser 增 providerKey() 不再是函数式接口,改匿名类实现两方法。 + return new MuseAiImportLlmParser() { + @Override + public MuseAiImportLlmParser.LlmParseResult parse(MuseAiImportLlmParser.LlmParseCommand command) { + return new MuseAiImportLlmParser.LlmParseResult(true, List.of( + new MuseAiImportLlmParser.LlmChapter("第一章 星门", "导入向导第一章正文。"), + new MuseAiImportLlmParser.LlmChapter("第二章 归航", "导入向导第二章正文。")), + null, null, false, Map.of("parser", "stub_llm_full_book", "chapterCount", 2)); + } + + @Override + public String providerKey() { + // 本 IT 只装配单个 parser bean,resolveImportLlmParser 对 size==1 直接返回, + // providerKey 取值不参与选择,仅需非空占位。 + return "stub"; + } + }; } private MuseAiProperties newApiProperties() {