package com.ruoyi.dz.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单对象 dz_payment_orders
 * 
 * @author ruoyi
 * @date 2025-09-12
 */
public class DzPaymentOrders extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 订单号 */
    @Excel(name = "订单号")
    private String code;

    /** 传微信单号 */
    @Excel(name = "传微信单号")
    private String outTradeNo;

    /** 二维码标识 */
    @Excel(name = "二维码标识")
    private String qrcodeId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String type;

    /** 电子卡 */
    @Excel(name = "电子卡")
    private Long cardId;

    /** 账号 */
    @Excel(name = "账号")
    private String cardNo;

    /** 价目标识 */
    @Excel(name = "价目标识")
    private String year;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phonenumber;

    /** 微信订单号 */
    @Excel(name = "微信订单号")
    private String transactionId;

    /** 用户 */
    @Excel(name = "用户")
    private String customerCode;

    /** 失效期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "失效期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outTime;

    /** 单价 */
    @Excel(name = "单价")
    private Long price;

    /** 数量 */
    @Excel(name = "数量")
    private Long num;

    /** 金额 */
    @Excel(name = "金额")
    private Long fee;

    /** 应付金额 */
    @Excel(name = "应付金额")
    private Long totalFee;

    /** 实付金额 */
    @Excel(name = "实付金额")
    private Long payFee;

    /** 创建者 */
    @Excel(name = "创建者")
    private String creator;

    /** 描述 */
    @Excel(name = "描述")
    private String body;

    /** 详情 */
    @Excel(name = "详情")
    private String detail;

    /** 附加数据 */
    @Excel(name = "附加数据")
    private String attach;

    /** 微信预支付标识 */
    @Excel(name = "微信预支付标识")
    private String prepayId;

    /** 支付者 */
    @Excel(name = "支付者")
    private String payer;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 支付回调结果 */
    @Excel(name = "支付回调结果")
    private String feedBack;

    /** 确认时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "确认时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date syncTime;

    /** 状态(-2:已退费,-1:支付失败,0:无效,1:未支付,2:已支付) */
    @Excel(name = "状态(-2:已退费,-1:支付失败,0:无效,1:未支付,2:已支付)")
    private Integer status;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setCode(String code) 
    {
        this.code = code;
    }

    public String getCode() 
    {
        return code;
    }

    public void setOutTradeNo(String outTradeNo) 
    {
        this.outTradeNo = outTradeNo;
    }

    public String getOutTradeNo() 
    {
        return outTradeNo;
    }

    public void setQrcodeId(String qrcodeId) 
    {
        this.qrcodeId = qrcodeId;
    }

    public String getQrcodeId() 
    {
        return qrcodeId;
    }

    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }

    public void setCardId(Long cardId) 
    {
        this.cardId = cardId;
    }

    public Long getCardId() 
    {
        return cardId;
    }

    public void setCardNo(String cardNo) 
    {
        this.cardNo = cardNo;
    }

    public String getCardNo() 
    {
        return cardNo;
    }

    public void setYear(String year) 
    {
        this.year = year;
    }

    public String getYear() 
    {
        return year;
    }

    public void setPhonenumber(String phonenumber) 
    {
        this.phonenumber = phonenumber;
    }

    public String getPhonenumber() 
    {
        return phonenumber;
    }

    public void setTransactionId(String transactionId) 
    {
        this.transactionId = transactionId;
    }

    public String getTransactionId() 
    {
        return transactionId;
    }

    public void setCustomerCode(String customerCode) 
    {
        this.customerCode = customerCode;
    }

    public String getCustomerCode() 
    {
        return customerCode;
    }

    public void setOutTime(Date outTime) 
    {
        this.outTime = outTime;
    }

    public Date getOutTime() 
    {
        return outTime;
    }

    public void setPrice(Long price) 
    {
        this.price = price;
    }

    public Long getPrice() 
    {
        return price;
    }

    public void setNum(Long num) 
    {
        this.num = num;
    }

    public Long getNum() 
    {
        return num;
    }

    public void setFee(Long fee) 
    {
        this.fee = fee;
    }

    public Long getFee() 
    {
        return fee;
    }

    public void setTotalFee(Long totalFee) 
    {
        this.totalFee = totalFee;
    }

    public Long getTotalFee() 
    {
        return totalFee;
    }

    public void setPayFee(Long payFee) 
    {
        this.payFee = payFee;
    }

    public Long getPayFee() 
    {
        return payFee;
    }

    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }

    public void setBody(String body) 
    {
        this.body = body;
    }

    public String getBody() 
    {
        return body;
    }

    public void setDetail(String detail) 
    {
        this.detail = detail;
    }

    public String getDetail() 
    {
        return detail;
    }

    public void setAttach(String attach) 
    {
        this.attach = attach;
    }

    public String getAttach() 
    {
        return attach;
    }

    public void setPrepayId(String prepayId) 
    {
        this.prepayId = prepayId;
    }

    public String getPrepayId() 
    {
        return prepayId;
    }

    public void setPayer(String payer) 
    {
        this.payer = payer;
    }

    public String getPayer() 
    {
        return payer;
    }

    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }

    public void setFeedBack(String feedBack) 
    {
        this.feedBack = feedBack;
    }

    public String getFeedBack() 
    {
        return feedBack;
    }

    public void setSyncTime(Date syncTime) 
    {
        this.syncTime = syncTime;
    }

    public Date getSyncTime() 
    {
        return syncTime;
    }

    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("code", getCode())
            .append("outTradeNo", getOutTradeNo())
            .append("qrcodeId", getQrcodeId())
            .append("type", getType())
            .append("cardId", getCardId())
            .append("cardNo", getCardNo())
            .append("year", getYear())
            .append("phonenumber", getPhonenumber())
            .append("transactionId", getTransactionId())
            .append("customerCode", getCustomerCode())
            .append("outTime", getOutTime())
            .append("price", getPrice())
            .append("num", getNum())
            .append("fee", getFee())
            .append("totalFee", getTotalFee())
            .append("payFee", getPayFee())
            .append("createTime", getCreateTime())
            .append("creator", getCreator())
            .append("body", getBody())
            .append("detail", getDetail())
            .append("attach", getAttach())
            .append("prepayId", getPrepayId())
            .append("payer", getPayer())
            .append("payTime", getPayTime())
            .append("feedBack", getFeedBack())
            .append("syncTime", getSyncTime())
            .append("status", getStatus())
            .toString();
    }
}
