package com.mortals.xhx.busiz.req;

import com.mortals.xhx.module.print.model.PrintContent;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 打印请求
 * @author:
 * @date: 2022/12/26 10:24
 */
@Data
public class PrintReq implements Serializable {

    /**
     * PrinterJson中增加papertype参数，为空则按以前逻辑处理
     * ，为ticket、A3、A4则分别设置PrinterJson中打印机名称和宽度（按照中间件的配置来）
     * papertype为空则忽略，为ticket则将printername设为小票打印机名称，
     * 为a3则将printername设为A3打印机名称，
     * 为a4则将printername设为A4打印机名称
     */
    private String  papertype;

    /**
     * 打印机名称，为空则为默认打印机
     */
    private String printername;

    /**
     * 打印机纸张宽度
     */
    private String printerpaperwidth;

    /**
     * 打印类型，url/base64/normal，
     * url为网络文件打印，base64为串文件打印，normal为普通行打印
     */
    private String printertype;

    /**
     * 打印文件网络地址，当printertype为url时有效，其它参数时可省略，网络文件地址，
     * 支持doc、docx、xls、xlsx、pdf、图片文件等，但依靠windows默认对文件的打印支持
     */
    private String url;

    /**
     * 打印base64字符串，当printertype为base64时有效，其它参数时可省略，base64串打印支持，
     * 必须依靠【data:application/msword;base64,】前缀指明，支持doc、docx、xls、xlsx、pdf、txt几种格式，
     * 对应前缀：【application/msword】、【application/vnd.openxmlformats-officedocument.wordprocessingml.document】、
     * 【application/vnd.ms-excel】、【application/vnd.openxmlformats-officedocument.spreadsheetml.sheet】、【application/pdf】
     * 、【text/plain】 增加对图片格式的支持 2021-03-09【image/gif】、【image/png】、【image/jpeg】、【image/jpg】、【image/bmp】
     */
    private String base64;

    /**
     * 打印行集合，当printertype为normal时有效，其它参数时可省略
     */
    private List<PrintContent> contents;


}
