package com.ruoyi.business.domain;

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;

/**
 * 支付对象 tb_payment
 * 
 * @author xiatao
 * @date 2022-01-18
 */
public class TbPayment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

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

    /** 商户编号 */
    @Excel(name = "商户编号")
    private String merId;

    /** 应用ID */
    @Excel(name = "应用ID")
    private String appId;

    /** 支付类型（0：正常支付；1：退款：2：提现） */
    @Excel(name = "支付类型", readConverterExp = "0=：正常支付；1：退款：2：提现")
    private Integer payType;

    /** 支付渠道(WECHAT：微信；ALIPAY：支付宝) */
    @Excel(name = "支付渠道(WECHAT：微信；ALIPAY：支付宝)")
    private String payChannel;

    /** 渠道编码 */
    @Excel(name = "渠道编码")
    private String qudaoCode;

    /** 卖家支付宝用户号 */
    @Excel(name = "卖家支付宝用户号")
    private String sellerId;

    /** 买家支付宝用户号 */
    @Excel(name = "买家支付宝用户号")
    private String buyerId;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private Long userId;

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

    /** 支付状态(0：交易成功；1：交易失败) */
    @Excel(name = "支付状态(0：交易成功；1：交易失败)")
    private Integer transState;

    /** 随机字符串 */
    @Excel(name = "随机字符串")
    private String nonceStr;

    /** 签名类型 */
    @Excel(name = "签名类型")
    private String signType;

    /** 业务结果,微信:SUCCESS/FAIL */
    @Excel(name = "业务结果,微信:SUCCESS/FAIL")
    private String resultCode;

    /** 是否关注公众账号(Y-关注，N-未关注) */
    @Excel(name = "是否关注公众账号(Y-关注，N-未关注)")
    private String isSubscribe;

    /** 交易类型 */
    @Excel(name = "交易类型")
    private String tradeType;

    /** 付款银行 */
    @Excel(name = "付款银行")
    private String bankType;

    /** 订单金额/申请退款金额 */
    @Excel(name = "订单金额/申请退款金额")
    private Integer totalFee;

    /** 应结订单金额/退款金额/实收金额 */
    @Excel(name = "应结订单金额/退款金额/实收金额")
    private Integer settlementTotalFee;

    /** 现金支付金额/付款金额 */
    @Excel(name = "现金支付金额/付款金额")
    private Integer cashFee;

    /** 集分宝金额 */
    @Excel(name = "集分宝金额")
    private Integer pointAmount;

    /** 现金支付货币类型，默认人民币：CNY */
    @Excel(name = "现金支付货币类型，默认人民币：CNY")
    private String cashFeeType;

    /** 微信退款单号 */
    @Excel(name = "微信退款单号")
    private String refundId;

    /** 商户退款单号 */
    @Excel(name = "商户退款单号")
    private String outRefundNo;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private Integer refundFee;

    /** 退款入账账户 */
    @Excel(name = "退款入账账户")
    private String refundRecvAccout;

    /** 退款资金来源 */
    @Excel(name = "退款资金来源")
    private String refundAccount;

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

    /** 签名串 */
    @Excel(name = "签名串")
    private String signStr;

    /** 支付完成时间,格式为yyyyMMddHHmmss */
    @Excel(name = "支付完成时间,格式为yyyyMMddHHmmss")
    private String transTime;

    /** 统一下单接口返回码，微信：SUCCESS/FAIL */
    @Excel(name = "统一下单接口返回码，微信：SUCCESS/FAIL")
    private String returnCode;

    /** 统一下单接口返回码信息 */
    @Excel(name = "统一下单接口返回码信息")
    private String returnMsg;

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

    public Long getId() 
    {
        return id;
    }
    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }
    public void setMerId(String merId) 
    {
        this.merId = merId;
    }

    public String getMerId() 
    {
        return merId;
    }
    public void setAppId(String appId) 
    {
        this.appId = appId;
    }

    public String getAppId() 
    {
        return appId;
    }
    public void setPayType(Integer payType) 
    {
        this.payType = payType;
    }

    public Integer getPayType() 
    {
        return payType;
    }
    public void setPayChannel(String payChannel) 
    {
        this.payChannel = payChannel;
    }

    public String getPayChannel() 
    {
        return payChannel;
    }
    public void setQudaoCode(String qudaoCode) 
    {
        this.qudaoCode = qudaoCode;
    }

    public String getQudaoCode() 
    {
        return qudaoCode;
    }
    public void setSellerId(String sellerId) 
    {
        this.sellerId = sellerId;
    }

    public String getSellerId() 
    {
        return sellerId;
    }
    public void setBuyerId(String buyerId) 
    {
        this.buyerId = buyerId;
    }

    public String getBuyerId() 
    {
        return buyerId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setTransactionId(String transactionId) 
    {
        this.transactionId = transactionId;
    }

    public String getTransactionId() 
    {
        return transactionId;
    }
    public void setTransState(Integer transState) 
    {
        this.transState = transState;
    }

    public Integer getTransState() 
    {
        return transState;
    }
    public void setNonceStr(String nonceStr) 
    {
        this.nonceStr = nonceStr;
    }

    public String getNonceStr() 
    {
        return nonceStr;
    }
    public void setSignType(String signType) 
    {
        this.signType = signType;
    }

    public String getSignType() 
    {
        return signType;
    }
    public void setResultCode(String resultCode) 
    {
        this.resultCode = resultCode;
    }

    public String getResultCode() 
    {
        return resultCode;
    }
    public void setIsSubscribe(String isSubscribe) 
    {
        this.isSubscribe = isSubscribe;
    }

    public String getIsSubscribe() 
    {
        return isSubscribe;
    }
    public void setTradeType(String tradeType) 
    {
        this.tradeType = tradeType;
    }

    public String getTradeType() 
    {
        return tradeType;
    }
    public void setBankType(String bankType) 
    {
        this.bankType = bankType;
    }

    public String getBankType() 
    {
        return bankType;
    }
    public void setTotalFee(Integer totalFee) 
    {
        this.totalFee = totalFee;
    }

    public Integer getTotalFee() 
    {
        return totalFee;
    }
    public void setSettlementTotalFee(Integer settlementTotalFee) 
    {
        this.settlementTotalFee = settlementTotalFee;
    }

    public Integer getSettlementTotalFee() 
    {
        return settlementTotalFee;
    }
    public void setCashFee(Integer cashFee) 
    {
        this.cashFee = cashFee;
    }

    public Integer getCashFee() 
    {
        return cashFee;
    }
    public void setPointAmount(Integer pointAmount) 
    {
        this.pointAmount = pointAmount;
    }

    public Integer getPointAmount() 
    {
        return pointAmount;
    }
    public void setCashFeeType(String cashFeeType) 
    {
        this.cashFeeType = cashFeeType;
    }

    public String getCashFeeType() 
    {
        return cashFeeType;
    }
    public void setRefundId(String refundId) 
    {
        this.refundId = refundId;
    }

    public String getRefundId() 
    {
        return refundId;
    }
    public void setOutRefundNo(String outRefundNo) 
    {
        this.outRefundNo = outRefundNo;
    }

    public String getOutRefundNo() 
    {
        return outRefundNo;
    }
    public void setRefundFee(Integer refundFee) 
    {
        this.refundFee = refundFee;
    }

    public Integer getRefundFee() 
    {
        return refundFee;
    }
    public void setRefundRecvAccout(String refundRecvAccout) 
    {
        this.refundRecvAccout = refundRecvAccout;
    }

    public String getRefundRecvAccout() 
    {
        return refundRecvAccout;
    }
    public void setRefundAccount(String refundAccount) 
    {
        this.refundAccount = refundAccount;
    }

    public String getRefundAccount() 
    {
        return refundAccount;
    }
    public void setMobile(String mobile) 
    {
        this.mobile = mobile;
    }

    public String getMobile() 
    {
        return mobile;
    }
    public void setSignStr(String signStr) 
    {
        this.signStr = signStr;
    }

    public String getSignStr() 
    {
        return signStr;
    }
    public void setTransTime(String transTime) 
    {
        this.transTime = transTime;
    }

    public String getTransTime() 
    {
        return transTime;
    }
    public void setReturnCode(String returnCode) 
    {
        this.returnCode = returnCode;
    }

    public String getReturnCode() 
    {
        return returnCode;
    }
    public void setReturnMsg(String returnMsg) 
    {
        this.returnMsg = returnMsg;
    }

    public String getReturnMsg() 
    {
        return returnMsg;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("merId", getMerId())
            .append("appId", getAppId())
            .append("payType", getPayType())
            .append("payChannel", getPayChannel())
            .append("qudaoCode", getQudaoCode())
            .append("sellerId", getSellerId())
            .append("buyerId", getBuyerId())
            .append("userId", getUserId())
            .append("transactionId", getTransactionId())
            .append("transState", getTransState())
            .append("nonceStr", getNonceStr())
            .append("signType", getSignType())
            .append("resultCode", getResultCode())
            .append("isSubscribe", getIsSubscribe())
            .append("tradeType", getTradeType())
            .append("bankType", getBankType())
            .append("totalFee", getTotalFee())
            .append("settlementTotalFee", getSettlementTotalFee())
            .append("cashFee", getCashFee())
            .append("pointAmount", getPointAmount())
            .append("cashFeeType", getCashFeeType())
            .append("refundId", getRefundId())
            .append("outRefundNo", getOutRefundNo())
            .append("refundFee", getRefundFee())
            .append("refundRecvAccout", getRefundRecvAccout())
            .append("refundAccount", getRefundAccount())
            .append("mobile", getMobile())
            .append("signStr", getSignStr())
            .append("transTime", getTransTime())
            .append("returnCode", getReturnCode())
            .append("returnMsg", getReturnMsg())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .toString();
    }
}
