package com.fs.tzBank.dto;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 退款订单信息DTO
 *
 * <p>此类用于封装退款订单的相关信息，包括商户退款订单号、支付平台订单号、退款单状态、退款金额以及退款成功时间等。
 *
 * @author xdd
 * @since 2025-02-27
 */
@Getter
@Setter
@ToString
public class TzRefundOrderDTO implements Serializable {

    /**
     * 商户退款订单号
     * <p>企业自己生成的退款订单号, 长度限制为32个字符。</p>
     */
    private String refundOrderNo;

    /**
     * 支付平台订单号
     * <p>由行方生成的退款订单号, 同退款申请接口返回字段, 长度限制为32个字符。</p>
     */
    private String refundOrderFlowNo;

    /**
     * 退款单状态
     * <p>
     *     <ul>
     *         <li>40-待审核</li>
     *         <li>50-审核拒绝</li>
     *         <li>60-退款中</li>
     *         <li>70-退款失败</li>
     *         <li>90-退款成功</li>
     *     </ul>
     * </p>
     */
    private String refundOrdStatus;

    /**
     * 退款金额
     * <p>退款金额，格式为12位整数和2位小数。</p>
     */
    private BigDecimal refundOrdTransAmt;

    /**
     * 成功时间
     * <p>退款成功时返回, 格式为 yyyyMMddHHmmss (14位数字)。</p>
     */
    private String refundSuccTime;
}
