From e311a184142636fcd423bde2f354690a6aac1641 Mon Sep 17 00:00:00 2001 From: let5sne Date: Tue, 14 Jul 2026 08:40:22 +0800 Subject: [PATCH] fix(aihr): hide knowledge processing errors --- .../java/org/dromara/aihr/service/AihrSopSeedService.java | 6 +++--- .../org/dromara/aihr/service/AihrUploadQueueService.java | 4 ++-- .../org/dromara/aihr/service/AihrSensitiveTextTest.java | 1 + .../dromara/aihr/service/AihrUploadQueueServiceTest.java | 1 + scripts/demo-check.sh | 1 + 5 files changed, 8 insertions(+), 5 deletions(-) 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 649fdc99..17cafce3 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 @@ -2993,7 +2993,7 @@ public class AihrSopSeedService { String text = callVisionOcr(runtime.get(), bytes, guessMimeType(fileName)); return normalizeExtractedText(text); } catch (Exception e) { - log.warn("image ocr failed for {} via {}: {}", fileName, runtime.get().modelName(), e.getMessage()); + log.warn("image ocr failed for {} via {}(处理错误已隐藏)", AihrSensitiveText.forModel(fileName), runtime.get().modelName()); return ""; } } @@ -3020,7 +3020,7 @@ public class AihrSopSeedService { try { return Optional.of(normalizeExtractedText(callVisionOcr(runtime.get(), bytes, mimeType, FRAME_PROMPT))); } catch (Exception e) { - log.warn("video frame ocr failed for {}: {}", fileName, e.getMessage()); + log.warn("video frame ocr failed for {}(处理错误已隐藏)", AihrSensitiveText.forModel(fileName)); return Optional.empty(); } }); @@ -3036,7 +3036,7 @@ public class AihrSopSeedService { String text = callVisionOcr(runtime.get(), bytes, guessMimeType(fileName)); return normalizeExtractedText(text); } catch (Exception e) { - log.warn("image ocr failed for {} via {}: {}", fileName, runtime.get().modelName(), e.getMessage()); + log.warn("image ocr failed for {} via {}(处理错误已隐藏)", AihrSensitiveText.forModel(fileName), runtime.get().modelName()); return ""; } } diff --git a/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrUploadQueueService.java b/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrUploadQueueService.java index 109e5904..ed4fcdc7 100644 --- a/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrUploadQueueService.java +++ b/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrUploadQueueService.java @@ -285,8 +285,8 @@ public class AihrUploadQueueService { log.info("upload item {} finished but row was re-claimed, skip status write", id); } } catch (Exception e) { - log.warn("upload item {} process failed: {}", id, e.getMessage()); - markFailed(tenantId, id, e.getMessage()); + log.warn("upload item {} process failed(处理错误已隐藏)", id); + markFailed(tenantId, id, "资料加工失败,请重试或联系管理员"); } } diff --git a/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSensitiveTextTest.java b/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSensitiveTextTest.java index 8eab8dfb..0a55730f 100644 --- a/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSensitiveTextTest.java +++ b/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrSensitiveTextTest.java @@ -49,6 +49,7 @@ class AihrSensitiveTextTest { assertTrue(modelSource.contains("模型调用失败,已回退内置兜底;请检查模型供应商配置。")); assertTrue(sopSource.contains("AihrSensitiveText.forModel(renderPrompt(prompt.template(), queryText, context))")); assertTrue(sopSource.contains("AihrSensitiveText.forModel(\"\"\"")); + assertTrue(sopSource.contains("处理错误已隐藏")); assertTrue(interviewSource.contains("AihrSensitiveText.personName(candidate.name(), \"候选人\")")); assertTrue(speechSource.contains("AihrSensitiveText.forModel(text.trim())")); assertTrue(speechSource.contains("asr http {}(外部响应体已隐藏)")); diff --git a/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrUploadQueueServiceTest.java b/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrUploadQueueServiceTest.java index 9813162d..fc10ee5c 100644 --- a/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrUploadQueueServiceTest.java +++ b/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrUploadQueueServiceTest.java @@ -26,6 +26,7 @@ class AihrUploadQueueServiceTest { assertTrue(code.contains("TenantHelper.dynamic(tenantId")); assertTrue(code.contains("new ItemRow(rs.getString(\"tenant_id\")")); assertTrue(code.contains("where status = 1\n and (")); + assertTrue(code.contains("资料加工失败,请重试或联系管理员")); assertFalse(code.contains("where tenant_id = ? and status = 1\n and (")); } } diff --git a/scripts/demo-check.sh b/scripts/demo-check.sh index 54546edf..269aa781 100755 --- a/scripts/demo-check.sh +++ b/scripts/demo-check.sh @@ -461,6 +461,7 @@ contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java "/embeddings" contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java "aihr_knowledge_gap" contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrVideoService.java "处理输出已隐藏" +contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrUploadQueueService.java "资料加工失败,请重试或联系管理员" contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSensitiveText.java "外部 AI 模型前" contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrModelSeedService.java "AihrSensitiveText.forModel(prompt)" contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrModelSeedService.java "外部响应体已隐藏"