package com.jsowell.pile.domain;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * adapay_refund_record
 *
 * @author jsowell
 * @date 2023-05-31
 */
public class AdapayRefundRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @JsonIgnore
    private Integer id;

    /**
     * 会员id
     */
    @Excel(name = "会员id")
    private String memberId;

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

    /**
     * 状态
     */
    @Excel(name = "状态")
    private String status;

    /**
     * 退款id
     */
    @Excel(name = "退款id")
    private String refundId;

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

    /**
     * 支付id(支付流水号)
     */
    @Excel(name = "支付id(支付流水号)")
    private String paymentId;

    /**
     * 支付单号
     */
    @Excel(name = "支付单号")
    private String paymentOrderNo;

    /**
     * 退款金额
     */
    @Excel(name = "退款金额")
    private BigDecimal refundAmt;

    /**
     * 手续费金额
     */
    @Excel(name = "手续费金额")
    private BigDecimal feeAmt;

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

    /**
     * 退款创建时间（汇付创建的时间）
     */
    @Excel(name = "退款创建时间", readConverterExp = "汇=付创建的时间")
    private String createdTime;

    /**
     * 退款完成时间
     */
    @Excel(name = "退款完成时间")
    private String succeedTime;

    /**
     * 汇付商户appId
     */
    @Excel(name = "汇付商户appId")
    private String appId;

    /**
     * 原因
     */
    @Excel(name = "原因")
    private String reason;

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

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

    /**
     * 删除标识（0-正常；1-删除）
     */
    private String delFlag;

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

    public Integer getId() {
        return id;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setOrderCode(String orderCode) {
        this.orderCode = orderCode;
    }

    public String getOrderCode() {
        return orderCode;
    }

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

    public String getStatus() {
        return status;
    }

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

    public String getRefundId() {
        return refundId;
    }

    public void setRefundOrderNo(String refundOrderNo) {
        this.refundOrderNo = refundOrderNo;
    }

    public String getRefundOrderNo() {
        return refundOrderNo;
    }

    public void setPaymentId(String paymentId) {
        this.paymentId = paymentId;
    }

    public String getPaymentId() {
        return paymentId;
    }

    public void setPaymentOrderNo(String paymentOrderNo) {
        this.paymentOrderNo = paymentOrderNo;
    }

    public String getPaymentOrderNo() {
        return paymentOrderNo;
    }

    public void setRefundAmt(BigDecimal refundAmt) {
        this.refundAmt = refundAmt;
    }

    public BigDecimal getRefundAmt() {
        return refundAmt;
    }

    public void setFeeAmt(BigDecimal feeAmt) {
        this.feeAmt = feeAmt;
    }

    public BigDecimal getFeeAmt() {
        return feeAmt;
    }

    public void setChannelNo(String channelNo) {
        this.channelNo = channelNo;
    }

    public String getChannelNo() {
        return channelNo;
    }

    public void setCreatedTime(String createdTime) {
        this.createdTime = createdTime;
    }

    public String getCreatedTime() {
        return createdTime;
    }

    public void setSucceedTime(String succeedTime) {
        this.succeedTime = succeedTime;
    }

    public String getSucceedTime() {
        return succeedTime;
    }

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

    public String getAppId() {
        return appId;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getReason() {
        return reason;
    }

    public void setProdMode(String prodMode) {
        this.prodMode = prodMode;
    }

    public String getProdMode() {
        return prodMode;
    }

    public void setObject(String object) {
        this.object = object;
    }

    public String getObject() {
        return object;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
                .append("id", getId())
                .append("memberId", getMemberId())
                .append("orderCode", getOrderCode())
                .append("status", getStatus())
                .append("refundId", getRefundId())
                .append("refundOrderNo", getRefundOrderNo())
                .append("paymentId", getPaymentId())
                .append("paymentOrderNo", getPaymentOrderNo())
                .append("refundAmt", getRefundAmt())
                .append("feeAmt", getFeeAmt())
                .append("channelNo", getChannelNo())
                .append("createdTime", getCreatedTime())
                .append("succeedTime", getSucceedTime())
                .append("appId", getAppId())
                .append("reason", getReason())
                .append("prodMode", getProdMode())
                .append("object", getObject())
                .append("createTime", getCreateTime())
                .append("delFlag", getDelFlag())
                .toString();
    }
}
