
package com.tmerclub.cloud.payment.model;

import com.tmerclub.cloud.common.model.BaseModel;

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

/**
 * 订单支付记录
 *
 * @author tmerclub
 * @date 2020-12-25 09:50:59
 */
public class PayInfo extends BaseModel implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 支付单号
     */
    private Long payId;

    /**
     * 用户id
     */
    private Long userId;
    /**
     * 外部订单流水号
     */
    private String bizPayNo;

    /**
     * 本次支付关联的多个订单号
     */
    private String orderIds;

    /**
     * 本次支付关联的退款号
     */
    private Long refundId;

    /**
     * 系统类型 见SysTypeEnum
     */
    private Integer sysType;

    /**
     * 支付入口
     */
    private Integer payEntry;

    /**
     * 支付方式 1 微信支付 2 支付宝
     */
    private Integer payType;

    /**
     * 支付状态
     */
    private Integer payStatus;

    /**
     * 支付积分
     */
    private Long payScore;

    /**
     * 支付金额
     */
    private Long payAmount;

    /**
     * 版本号
     */
    private Integer version;

    /**
     * 回调内容
     */
    private String callbackContent;

    /**
     * 回调时间
     */
    private Date callbackTime;

    /**
     * 确认时间
     */
    private Date confirmTime;

    /**
     * 支付给商城的用户id，通联支付独有
     */
    private String toUserId;

    /**
     * TODO 暂时用不上系统支付类型
     */
    private Integer paySysType;

    /**
     * 支付的系统类型 1:pc  2:h5  3:小程序 4:安卓  5:ios
     */
    private Integer systemModel;

    /**
     * 第三方系统id
     */
    private String bizUserId;

    public String getBizUserId() {
        return bizUserId;
    }

    public void setBizUserId(String bizUserId) {
        this.bizUserId = bizUserId;
    }

    public Integer getSystemModel() {
        return systemModel;
    }

    public void setSystemModel(Integer systemModel) {
        this.systemModel = systemModel;
    }

    public Integer getPaySysType() {
        return paySysType;
    }

    public void setPaySysType(Integer paySysType) {
        this.paySysType = paySysType;
    }

    public String getToUserId() {
        return toUserId;
    }

    public void setToUserId(String toUserId) {
        this.toUserId = toUserId;
    }

    public Long getRefundId() {
        return refundId;
    }

    public void setRefundId(Long refundId) {
        this.refundId = refundId;
    }

    public Long getPayId() {
        return payId;
    }

    public void setPayId(Long payId) {
        this.payId = payId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getBizPayNo() {
        return bizPayNo;
    }

    public void setBizPayNo(String bizPayNo) {
        this.bizPayNo = bizPayNo;
    }

    public Integer getSysType() {
        return sysType;
    }

    public void setSysType(Integer sysType) {
        this.sysType = sysType;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public Long getPayScore() {
        return payScore;
    }

    public void setPayScore(Long payScore) {
        this.payScore = payScore;
    }

    public Long getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(Long payAmount) {
        this.payAmount = payAmount;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public String getCallbackContent() {
        return callbackContent;
    }

    public void setCallbackContent(String callbackContent) {
        this.callbackContent = callbackContent;
    }

    public Date getCallbackTime() {
        return callbackTime;
    }

    public void setCallbackTime(Date callbackTime) {
        this.callbackTime = callbackTime;
    }

    public Date getConfirmTime() {
        return confirmTime;
    }

    public void setConfirmTime(Date confirmTime) {
        this.confirmTime = confirmTime;
    }

    public String getOrderIds() {
        return orderIds;
    }

    public void setOrderIds(String orderIds) {
        this.orderIds = orderIds;
    }

    public Integer getPayEntry() {
        return payEntry;
    }

    public void setPayEntry(Integer payEntry) {
        this.payEntry = payEntry;
    }

    @Override
    public String toString() {
        return "PayInfo{" +
                "payId=" + payId +
                ", userId=" + userId +
                ", bizPayNo='" + bizPayNo + '\'' +
                ", orderIds='" + orderIds + '\'' +
                ", refundId=" + refundId +
                ", sysType=" + sysType +
                ", payEntry=" + payEntry +
                ", payType=" + payType +
                ", payStatus=" + payStatus +
                ", payScore=" + payScore +
                ", payAmount=" + payAmount +
                ", version=" + version +
                ", callbackContent='" + callbackContent + '\'' +
                ", callbackTime=" + callbackTime +
                ", confirmTime=" + confirmTime +
                ", toUserId='" + toUserId + '\'' +
                ", paySysType=" + paySysType +
                ", systemModel" + systemModel +
                ", bizUserId" + bizUserId +
                '}';
    }
}
