From d640da3dac5b5f811284ab9a7c386da1e7ab6739 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 30 四月 2026 17:30:57 +0800
Subject: [PATCH] feat(ai): 增强AI文件提取和审批待办功能

---
 src/main/java/com/ruoyi/ai/service/AiFileTextExtractor.java |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/ai/service/AiFileTextExtractor.java b/src/main/java/com/ruoyi/ai/service/AiFileTextExtractor.java
index 82cf1eb..6e37451 100644
--- a/src/main/java/com/ruoyi/ai/service/AiFileTextExtractor.java
+++ b/src/main/java/com/ruoyi/ai/service/AiFileTextExtractor.java
@@ -44,7 +44,17 @@
         if ("xls".equals(ext)) {
             return extractXls(bytes);
         }
+        if (isImage(ext)) {
+            return "鍥剧墖鏂囦欢锛�" + filename + "锛屽凡涓婁紶锛岃缁撳悎鍥剧墖鍐呭璇嗗埆閲囪喘鍗曟嵁銆佽〃鏍煎拰浜у搧鏄庣粏銆�";
+        }
         throw new IllegalArgumentException("鏆備笉鏀寔璇ユ枃浠剁被鍨�: " + ext);
+    }
+
+    public boolean isImageFile(MultipartFile file) {
+        if (file == null) {
+            return false;
+        }
+        return isImage(getExtension(file.getOriginalFilename()));
     }
 
     private String extractDocx(byte[] bytes) throws IOException {
@@ -114,4 +124,8 @@
                 "txt", "md", "markdown", "json", "xml", "yaml", "yml", "csv", "log", "properties",
                 "java", "js", "ts", "vue", "html", "css", "sql", "py", "go", "sh", "bat");
     }
+
+    private boolean isImage(String ext) {
+        return StringUtils.inStringIgnoreCase(ext, "png", "jpg", "jpeg", "webp", "bmp");
+    }
 }

--
Gitblit v1.9.3