package com.yida.data.common.core.entity.consume;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 消费机充值类
 *
 * @author ZYJ
 * @date 2023/4/6
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Recharge implements Serializable {

    private static final long serialVersionUID = 6448914388280845022L;

    /**
     * 金额
     */
    private String amount;

    /**
     * 校园卡号
     */
    private String accountNo;

    /**
     * 增减方式. true:充值, false:提取
     */
    private boolean increase;

    /**
     * 充值钱包类型. 1:现金, 2:补贴
     */
    private Integer walletType;

    /**
     * 流水号
     */
    private String transactionNumber;

    /**
     * PaymentModel类
     */
    private PaymentModel paymentModel;

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class PaymentModel implements Serializable {

        private static final long serialVersionUID = -7667143304803691806L;

        /**
         * 支付方式. 0：现金 1：微信 2：支付宝 4：银行卡 8：其他APP
         */
        private Integer payType;

        /**
         * 第三方支付时间（格式：yyyy-MM-dd HH:mm:ss)
         */
        private String payTime;

        /**
         * 终端向第三方发起交易请求的订单号
         */
        private String orderNumber;

        /**
         * 第三方返回给终端的支付交易号
         */
        private String innerOrderNumber;
    }
}
