feat:增加模板渲染失败提示

This commit is contained in:
石崇礼 2025-03-14 16:33:03 +08:00
parent 46810f941d
commit 9d01a5d498
2 changed files with 14 additions and 9 deletions

View File

@ -24,33 +24,36 @@ import java.io.Serializable;
public class ReceiptPrintRequest implements Serializable { public class ReceiptPrintRequest implements Serializable {
/** /**
* 文件路径地址 * 文件路径地址填写本地路径默认为 D:/images
*/ */
@NotBlank(message = "文件路径不能为空") @NotBlank(message = "文件路径不能为空")
private String fileDir; private String fileDir = "D:/images";
/** /**
* 模板名称也可以是自己写的html的字符串文件 * 模板名称也可以是自己写的html的字符串文件
*/ */
private String templateName = "hospital"; private String templateName = "receipt";
/** /**
* 填充模板的数据,必填但是需要通过自己设置的模板名称进行设计部分设计规则 * 填充模板的数据,必填也可以通过自己设置的模板名称进行设计部分设计规则
* 特殊字段图片类型qrCodeBase64_2base64Type_120_120字段解析qrCodeBase64为字段名称 * <p>1特殊字段(二维码图片)类型qrCodeBase64_2base64Type_1_120_120字段解析qrCodeBase64为字段名称
* _2base64Type为将这个数据转换为图片类型的base64编码第一个_120图片的宽度第二个_120的为图片高度 * 第一个1为打印类型1为二维码2为条形码
* _2base64Type为将这个数据转换为图片类型的base64编码第二个_120图片的宽度第三个_120的为图片高度</p>
* <p>2需要对传入的JSON数据进行URI编码</p>
* <p>3{"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_120_120":"这里应是二维码的Base64编码数据如果有","terminalNumber":"12092794","printTime":"2025-01-15 13:10:08"}</p>
*/ */
@NotBlank(message = "模板填充数据不能为空") @NotBlank(message = "模板填充数据不能为空")
private String templateFillData; private String templateFillData;
/** /**
* 生成的模板的宽度默认为600 * 小票渲染宽度默认为600
*/ */
private Integer width = 600; private Integer width = 730;
/** /**
* 生成的模板的高度默认为950 * 生成的模板的高度默认为950
*/ */
private Integer height = 950; private Integer height = 1350;
} }

View File

@ -40,6 +40,8 @@ public class RegisterServiceImpl implements PrintService {
// 校验是否选中了模板,如果没选中模板的话则不需要另外生成了 // 校验是否选中了模板,如果没选中模板的话则不需要另外生成了
if ( !StringUtils.isEmpty(template) && !StringUtils.isEmpty(saveDir)){ if ( !StringUtils.isEmpty(template) && !StringUtils.isEmpty(saveDir)){
byte[] image = new TemplateUtils().generateReceiptImage(data, template, width, height, filePath); byte[] image = new TemplateUtils().generateReceiptImage(data, template, width, height, filePath);
}else {
throw new RRException("模板渲染错误");
} }
LexMarkDTO lexMarkDTO = new LexMarkDTO(); LexMarkDTO lexMarkDTO = new LexMarkDTO();