From c07ff2323ae1d5497a16bb5d52c9eb422474d5f8 Mon Sep 17 00:00:00 2001 From: let5sne Date: Tue, 14 Jul 2026 08:34:05 +0800 Subject: [PATCH] fix(aihr): hide video processing errors --- .../java/org/dromara/aihr/service/AihrVideoService.java | 8 ++++---- .../org/dromara/aihr/service/AihrSensitiveTextTest.java | 4 ++++ scripts/demo-check.sh | 1 + 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrVideoService.java b/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrVideoService.java index 4a49aaed..0f755400 100644 --- a/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrVideoService.java +++ b/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrVideoService.java @@ -81,8 +81,8 @@ public class AihrVideoService { } catch (ServiceException e) { throw e; } catch (Exception e) { - log.warn("video extract failed for {}: {}", AihrSensitiveText.forModel(fileName), e.getMessage()); - throw new ServiceException("视频解析失败:" + e.getMessage()); + log.warn("video extract failed for {}(处理错误已隐藏)", AihrSensitiveText.forModel(fileName)); + throw new ServiceException("视频解析失败,请稍后重试"); } finally { cleanDirQuietly(workDir); } @@ -162,7 +162,7 @@ public class AihrVideoService { } catch (ServiceException e) { throw e; } catch (Exception e) { - throw new ServiceException("视频文件无法识别:" + e.getMessage()); + throw new ServiceException("视频文件无法识别,请更换文件后重试"); } } @@ -176,7 +176,7 @@ public class AihrVideoService { } int exit = process.exitValue(); if (exit != 0) { - log.debug("ffmpeg exit {}: {}", exit, new String(discarded, StandardCharsets.UTF_8)); + log.debug("ffmpeg exit {}(处理输出已隐藏)", exit); } return exit; } 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 6d5a8f77..899570c1 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 @@ -42,6 +42,7 @@ class AihrSensitiveTextTest { String interviewSource = Files.readString(source("AihrInterviewService.java")); String speechSource = Files.readString(source("AihrSpeechService.java")); String orgSyncSource = Files.readString(source("AihrOrgSyncService.java")); + String videoSource = Files.readString(source("AihrVideoService.java")); assertTrue(modelSource.contains("AihrSensitiveText.forModel(prompt)")); assertTrue(modelSource.contains("外部响应体已隐藏")); @@ -52,6 +53,9 @@ class AihrSensitiveTextTest { assertTrue(speechSource.contains("asr http {}(外部响应体已隐藏)")); assertTrue(orgSyncSource.contains("外部响应体已隐藏")); assertTrue(orgSyncSource.contains("AihrSensitiveText.forModel(e.getMessage())")); + assertTrue(videoSource.contains("视频解析失败,请稍后重试")); + assertTrue(videoSource.contains("视频文件无法识别,请更换文件后重试")); + assertTrue(videoSource.contains("处理输出已隐藏")); } private static Path source(String fileName) { diff --git a/scripts/demo-check.sh b/scripts/demo-check.sh index 5034d235..e5292735 100755 --- a/scripts/demo-check.sh +++ b/scripts/demo-check.sh @@ -459,6 +459,7 @@ contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/control contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrSopSeedService.java "仅支持 txt/md/markdown/pdf/doc/docx/xls/xlsx/ppt/pptx/图片文件" 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/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 "外部响应体已隐藏"