package cn.ysk.cashier.dto.shop;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 店铺小票打印记录
 *
 * @author tankaikai
 * @since 2024-10-8 16:44
 */
@Data
public class ShopPrintLogDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    private Long id;
    @ApiModelProperty(value = "打印机类型 本地打印机-local USB打印机-USB 云打印机-network")
    private String connectionType;
    @ApiModelProperty(value = "打印机品牌 云想印 = yxyPrinter飞鹅 = fePrinter 本地 = local USB = printer")
    private String contentType;
    @ApiModelProperty(value = "打印小票 标签-label 出品-kitchen 小票-cash")
    private String subType;
    @ApiModelProperty(value = "打印机名称")
    private String name;
    @ApiModelProperty(value = "IP地址/打印机编号")
    private String address;
    @ApiModelProperty(value = "端口/打印机秘钥")
    private String port;
    @ApiModelProperty(value = "小票尺寸 58mm 80mm")
    private String receiptSize;
    @ApiModelProperty(value = "分类打印 0-所以 1-部分分类 2-部分商品")
    private String classifyPrint;
    @ApiModelProperty(value = "桌台打印 0-所有 1-部分")
    private String tablePrint;
    @ApiModelProperty(value = "打印数量 c1m1^2=顾客+商家[2张] m1^1=商家[1张] c1^1顾客[1张] c2m1^3=顾客2+商家1[3张]")
    private String printQty;
    @ApiModelProperty(value = "打印方式 all-全部打印 normal-仅打印结账单「前台」one-仅打印制作单「厨房」")
    private String printMethod;
    @ApiModelProperty(value = "打印类型，JSON数组 refund-确认退款单 handover-交班单 queue-排队取号，如：['refund','handover','queue']")
    private String printType;
    @ApiModelProperty(value = "打印票据 0-全部打印 1-仅厨房 2-仅前台")
    private String printReceipt;
    @ApiModelProperty(value = "打印内容")
    private String printContent;
    @ApiModelProperty(value = "店铺id")
    private String shopId;
    @ApiModelProperty(value = "业务类型")
    private String bizType;
    @ApiModelProperty(value = "打印人id")
    private Long createUserId;
    @ApiModelProperty(value = "打印人名称")
    private String createUserName;
    @ApiModelProperty(value = "打印任务创建时间")
    @JsonProperty(access = JsonProperty.Access.READ_ONLY)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty(value = "打印任务id，用于复查打印状态，云想印=orderId")
    private String taskId;
    @ApiModelProperty(value = "实际打印时间")
    @JsonProperty(access = JsonProperty.Access.READ_ONLY)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date printTime;
    @ApiModelProperty(value = "失败标识 1-是 0-否")
    private Integer failFlag;
    @ApiModelProperty(value = "响应代码")
    private String respCode;
    @ApiModelProperty(value = "响应消息")
    private String respMsg;
    @ApiModelProperty(value = "打印结果")
    private String printResult;
    @ApiModelProperty(value = "失败原因")
    private String failReason;

}
