From c4b609f71ddf32d88996ca80a382dfb4befddac3 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 17 九月 2026 15:09:08 +0800
Subject: [PATCH] fix(qrcode): 修复二维码生成时临时目录创建和异常处理问题
---
src/main/java/com/ruoyi/common/utils/MatrixToImageWriter.java | 11 ++++++-----
.claude/settings.local.json | 33 +++++++++++++++++++++++++++++++++
src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java | 2 +-
3 files changed, 40 insertions(+), 6 deletions(-)
diff --git a/.claude/settings.local.json b/.claude/settings.local.json
new file mode 100644
index 0000000..b9ba4dd
--- /dev/null
+++ b/.claude/settings.local.json
@@ -0,0 +1,33 @@
+{
+ "permissions": {
+ "allow": [
+ "mcp__mcp_server_mysql__mysql_query",
+ "Bash(mvn -q compile -DskipTests -o)",
+ "Bash(mvn -q compile -DskipTests)",
+ "Bash(mvn compile *)",
+ "Bash(xargs grep -n \"\\(\\\\\"\")",
+ "mcp__playwright__browser_take_screenshot",
+ "mcp__playwright__browser_evaluate",
+ "mcp__playwright__browser_find",
+ "mcp__playwright__browser_click",
+ "mcp__playwright__browser_navigate",
+ "mcp__playwright__browser_network_requests",
+ "mcp__playwright__browser_network_request",
+ "mcp__playwright__browser_snapshot",
+ "Read(//d/鐗涢┈/鍗楅��/**)",
+ "Read(//d/鐗涢┈/**)",
+ "Bash(echo \"exit=$?\")",
+ "Bash(node -e \"const p=require\\('./package.json'\\);console.log\\(JSON.stringify\\(p.scripts\\)\\)\")",
+ "Bash(npx vite *)",
+ "Bash(echo \"EXIT=$?\")",
+ "Read(//tmp/**)",
+ "Bash(npm install *)",
+ "Bash(node -e \"require.resolve\\('html2canvas'\\) && console.log\\('html2canvas installed:', require\\('html2canvas/package.json'\\).version\\)\")",
+ "Read(//javaWork/product-inventory-management/file/temp/**)",
+ "Read(//d/javaWork/product-inventory-management/file/temp/**)"
+ ]
+ },
+ "enabledMcpjsonServers": [
+ "mysql"
+ ]
+}
diff --git a/src/main/java/com/ruoyi/common/utils/MatrixToImageWriter.java b/src/main/java/com/ruoyi/common/utils/MatrixToImageWriter.java
index ad9f2aa..c598207 100644
--- a/src/main/java/com/ruoyi/common/utils/MatrixToImageWriter.java
+++ b/src/main/java/com/ruoyi/common/utils/MatrixToImageWriter.java
@@ -54,14 +54,15 @@
hints.put(EncodeHintType.MARGIN, 0);
BitMatrix bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, 400, 400, hints);
File file1 = new File(path, codeName + "." + imageType);
+ File parent = file1.getParentFile();
+ if (parent != null && !parent.exists() && !parent.mkdirs()) {
+ throw new IOException("涓存椂鐩綍鍒涘缓澶辫触锛�" + parent.getPath());
+ }
writeToFile(bitMatrix, imageType, file1);
return file1.getPath();
- } catch (WriterException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
+ } catch (WriterException | IOException e) {
+ throw new RuntimeException("浜岀淮鐮佺敓鎴愬け璐ワ細" + e.getMessage(), e);
}
- throw new RuntimeException("浜岀淮鐮佺敓鎴愬け璐�");
}
}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java
index bd6f2df..c3116b4 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java
@@ -229,7 +229,7 @@
try {
codePath = new MatrixToImageWriter().code(taskDto.getId().toString(), tempDir);
} catch (Exception e) {
- throw new ServiceException("鐢熸垚浜岀淮鐮佸け璐�");
+ throw new ServiceException("鐢熸垚浜岀淮鐮佸け璐ワ細" + e.getMessage());
}
List<Map<String, Object>> images = buildTaskAttachmentImages(taskDto.getId());
--
Gitblit v1.9.3