diff --git a/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java b/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java index 82d75ab4..3008a2c6 100644 --- a/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java +++ b/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java @@ -3599,8 +3599,11 @@ public class AihrSopSeedService { return truncate(firstNonBlank(cleaned, "请参考下方命中片段。"), 180); } - private static boolean isNoEvidenceAnswer(String answer) { - return NO_CLEAR_SOP_EVIDENCE.equals(Optional.ofNullable(answer).orElse("").trim()); + static boolean isNoEvidenceAnswer(String answer) { + String normalized = Optional.ofNullable(answer).orElse("") + .replaceAll("\\s+", "") + .trim(); + return NO_CLEAR_SOP_EVIDENCE.replaceAll("\\s+", "").equals(normalized); } private static SearchResponse noEvidenceResponse(String queryText, String category) { diff --git a/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSopSeedServiceTest.java b/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSopSeedServiceTest.java index 44491259..79d9d94d 100644 --- a/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSopSeedServiceTest.java +++ b/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSopSeedServiceTest.java @@ -30,6 +30,15 @@ import static org.mockito.Mockito.verify; public class AihrSopSeedServiceTest { + @Test + @Tag("dev") + public void noEvidenceAnswerIgnoresModelWhitespaceDifferences() { + assertTrue(AihrSopSeedService.isNoEvidenceAnswer("未在已入库 SOP 中找到明确依据")); + assertTrue(AihrSopSeedService.isNoEvidenceAnswer("未在已入库SOP中找到明确依据")); + assertTrue(AihrSopSeedService.isNoEvidenceAnswer(" 未在已入库\tSOP 中找到明确依据 ")); + assertFalse(AihrSopSeedService.isNoEvidenceAnswer("已找到正式制度依据")); + } + @Test @Tag("dev") public void rawHitResponseKeepsSnippetsWhenDigestUnavailable() {