From ab35bef704b1c38df5786091aee9e601ea4a8648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E5=A4=B4=E4=BA=BA?= <3076767823@qq.com> Date: Mon, 31 Mar 2025 17:41:48 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E5=A2=9E=E5=8A=A0=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=88=9B=E5=BB=BA=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ReceiptPrintController.java | 3 ++ .../autoReplyPrint/utils/FolderUtils.java | 40 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 src/main/java/com/dpkj/modules/autoReplyPrint/utils/FolderUtils.java diff --git a/src/main/java/com/dpkj/modules/autoReplyPrint/controller/ReceiptPrintController.java b/src/main/java/com/dpkj/modules/autoReplyPrint/controller/ReceiptPrintController.java index 340ad46..d21d49c 100644 --- a/src/main/java/com/dpkj/modules/autoReplyPrint/controller/ReceiptPrintController.java +++ b/src/main/java/com/dpkj/modules/autoReplyPrint/controller/ReceiptPrintController.java @@ -9,6 +9,7 @@ import com.dpkj.modules.autoReplyPrint.enums.ReceiptTemplateEnum; import com.dpkj.modules.autoReplyPrint.request.ReceiptPrintRequest; import com.dpkj.modules.autoReplyPrint.service.ImagePrintService; import com.dpkj.modules.autoReplyPrint.service.impl.TemplateService; +import com.dpkj.modules.autoReplyPrint.utils.FolderUtils; import com.dpkj.modules.autoReplyPrint.vo.PrinterStatus; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; @@ -48,6 +49,8 @@ public class ReceiptPrintController { @PostMapping("/print") private Result print(@Validated @RequestBody ReceiptPrintRequest request) throws UnsupportedEncodingException { + FolderUtils.checkFolderAndCreate(request.getFileDir()); + String devName = "VID:0x0FE6,PID:0x811E"; // 采用默认的devName,不进行入参传值了 String templateName = ReceiptTemplateEnum.getTemplateName(request.getTemplateName()); diff --git a/src/main/java/com/dpkj/modules/autoReplyPrint/utils/FolderUtils.java b/src/main/java/com/dpkj/modules/autoReplyPrint/utils/FolderUtils.java new file mode 100644 index 0000000..c93ac89 --- /dev/null +++ b/src/main/java/com/dpkj/modules/autoReplyPrint/utils/FolderUtils.java @@ -0,0 +1,40 @@ +package com.dpkj.modules.autoReplyPrint.utils; + +import lombok.extern.slf4j.Slf4j; + +import java.io.File; + +/** + * 文件夹处理 + * + * @author 石头人 + * @version 1.0 + * @since 2025-03-31 17:28:34 + */ +@Slf4j +public class FolderUtils { + + public static void checkFolderAndCreate(String folderPath){ + File fileOrFolder = new File(folderPath); + String targetPath; + if (fileOrFolder.isFile()) { + // 如果是文件,获取文件所在目录路径 + targetPath = fileOrFolder.getParent(); + } else { + // 如果不是文件(可能是不存在的文件夹或已存在的文件夹),使用原始路径 + targetPath = folderPath; + } + + File targetFolder = new File(targetPath); + if (!targetFolder.exists()) { + boolean success = targetFolder.mkdirs(); + if (success) { + log.info("文件夹创建成功: " + targetPath); + } else { + log.error("文件夹创建失败: " + targetPath); + } + } + } + +} +