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); + } + } + } + +} +