From b2e6b71c2b47413508462d6c8db4959f19eb5c67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E5=A4=B4=E4=BA=BA?= <3076767823@qq.com> Date: Wed, 19 Mar 2025 13:48:33 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E5=A4=8D=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E6=95=B0=E6=8D=AE=E5=A1=AB=E5=85=85=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ReceiptPrintController.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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 3880257..b024ba6 100644 --- a/src/main/java/com/dpkj/modules/autoReplyPrint/controller/ReceiptPrintController.java +++ b/src/main/java/com/dpkj/modules/autoReplyPrint/controller/ReceiptPrintController.java @@ -12,6 +12,8 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.thymeleaf.util.StringUtils; import java.io.File; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; import javax.annotation.Resource; @@ -34,14 +36,19 @@ public class ReceiptPrintController { private TemplateService templateService; @PostMapping("/print") - private Result print(@Validated @RequestBody ReceiptPrintRequest request){ + private Result print(@Validated @RequestBody ReceiptPrintRequest request) throws UnsupportedEncodingException { String devName = "VID:0x0FE6,PID:0x811E"; // 采用默认的devName,不进行入参传值了 // 进行模板填充 // String testData = "{\"hospitalName\":\"澜沧县中医医院\",\"registeTerminalName\":\"中国农业银行自助终端\",\"registeType\":\"自助挂号\",\"name\":\"刘博雅\",\"gender\":\"男\",\"age\":28,\"birthDate\":\"1996-06-31\",\"cardNumber\":\"6221**********0731\",\"outpatientNumber\":\"2501150038\",\"department\":\"普外科门诊\",\"visitLevel\":\"普通号\",\"doctor\":\"普通门诊\",\"sequence\":\"1\",\"registerDate\":\"2025-01-15\",\"totalFee\":4.00,\"paymentMethod\":\"微信扫码支付\",\"orderNumber\":\"\",\"transactionNumber\":\"2025011513090412092794szztzzj\",\"qrCodeBase64_2base64Type_1_250_250\":\"maby this is a Base64 code data if has\",\"terminalNumber\":\"12092794\",\"printTime\":\"2025-01-15 13:10:08\"}"; StringBuilder filePath = new StringBuilder(request.getFileDir()); // 校验是否选中了模板,如果没选中模板的话则不需要另外生成了 if ( !StringUtils.isEmpty(request.getTemplateName()) && !StringUtils.isEmpty(request.getFileDir())){ - byte[] image = templateService.generateReceiptImage(JSONObject.parseObject(request.getTemplateFillData()), request.getTemplateName(), request.getWidth(), request.getHeight(), filePath); + byte[] image = templateService.generateReceiptImage( + JSONObject.parseObject(URLDecoder.decode(request.getTemplateFillData(), "UTF-8")), + request.getTemplateName(), + request.getWidth(), + request.getHeight(), + filePath); }else { throw new RRException("模板渲染错误"); }