package com.fs.tzBank.dto;

import lombok.Data;

import java.io.Serializable;

/**
 * 订单信息DTO.
 *
 * <p>
 *  此类包含了订单的各种状态信息，例如订单状态、成功时间、成功金额、支付方式等。
 *  它是用于数据传输的对象，方便在不同系统或服务之间传递订单数据。
 * </p>
 *
 * @author xdd
 * @date 2025-02-27
 */
@Data
public class TzOrderInfoDTO implements Serializable {

    /**
     * 订单状态.
     * <p>
     *  10-初始状态，60-交易中，70-交易失败，80-订单关闭，90-交易成功
     * </p>
     */
    private String status;

    /**
     * 成功时间.
     * <p>
     *  格式：yyyyMMddHHmmss (14位字符串)
     *  当订单状态为成功时返回
     * </p>
     */
    private String succTime;

    /**
     * 支付成功金额.
     * <p>
     *  单位：元，保留两位小数。
     *  订单状态为成功时返回。
     * </p>
     */
    private Double succTrxAmt;

    /**
     * 支付方式.
     * <p>
     *  具体支付方式枚举可见门户个人中心-下载中心下《线上收银台支付方式下载》。
     * </p>
     */
    private String payType;

    /**
     * 白条支付订单号.
     * <p>
     *  当支付方式为白条支付时，会返回该字段；其含义为在支付平台在白条系统的订单号。
     * </p>
     */
    private String loanPayOrder;

    /**
     * 商户手续费.
     * <p>
     *  单位：元，保留两位小数。
     *  订单状态为成功时返回，以业务协议为准，现阶段都是 0。
     * </p>
     */
    private Double fee;

    /**
     * 支付来源.
     * <p>
     *  00-PC；01-APP；02-H5
     * </p>
     */
    private String trxPaySource;

    /**
     * 付款客户号.
     * <p>
     *  第三方客户号
     * </p>
     */
    private String payCstNo;

    /**
     * 前台返回地址.
     * <p>
     *  预下单传了返回地址，此字段会返回相应数据。
     * </p>
     */
    private String payReturnUrl;

    /**
     * 渠道交易流水号.
     */
    private String chlTrxId;
}
