package com.seer.teach.pay.admin.financial.controller.request;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
import java.math.BigDecimal;

/**
 * 线下转账记录请求参数
 */
@Data
@Schema(description = "线下转账记录请求参数")
public class AdminPayOfflineTransferRecordReq {
    
    @Schema(description = "记录ID")
    private Long id;
    
    @Schema(description = "提现订单号")
    private String withdrawalNo;
    
    @Schema(description = "转账方式：1-企业网银，2-银行柜台，3-手机银行")
    private Integer transferType;
    
    @Schema(description = "付款账户")
    private String payerAccount;
    
    @Schema(description = "收款账户")
    private String payeeAccount;
    
    @Schema(description = "转账金额")
    private BigDecimal transferAmount;
    
    @Schema(description = "银行流水号")
    private String bankFlowNo;
    
    @Schema(description = "转账时间")
    private Date transferTime;
    
    @Schema(description = "转账操作人ID")
    private Long operatorId;
    
    @Schema(description = "转账状态：1-已发起，2-银行确认，3-转账失败")
    private Integer transferStatus;
    
    @Schema(description = "失败原因")
    private String failureReason;
    
    @Schema(description = "转账凭证")
    private String voucherUrl;
}