package com.seer.teach.pay.admin.withdrawal.controller.response;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.math.BigDecimal;

/**
 * PayWithdrawalApply响应类
 */
@Data
@Schema(description = "提现申请响应参数")
public class PayWithdrawalApplyResponse {
    @Schema(description = "提现申请ID")
    private Long withdrawalId;
    
    @Schema(description = "提现申请编号")
    private String withdrawalNo;
    
    @Schema(description = "用户ID")
    private Long userId;
    
    @Schema(description = "账户ID")
    private Long accountId;
    
    @Schema(description = "申请金额")
    private BigDecimal applyAmount;
    
    @Schema(description = "平台费用")
    private BigDecimal platformFee;
    
    @Schema(description = "税费")
    private BigDecimal taxAmount;
    
    @Schema(description = "实际金额")
    private BigDecimal actualAmount;
    
    @Schema(description = "金额拆分说明")
    private String amountSplitDesc;
    
    @Schema(description = "结算ID集合")
    private String settlementIds;
    
    @Schema(description = "申请状态")
    private Integer applyStatus;
    
    @Schema(description = "审核用户ID")
    private Long auditUserId;
    
    @Schema(description = "审核时间")
    private LocalDateTime auditTime;
    
    @Schema(description = "审核备注")
    private String auditRemark;
    
    @Schema(description = "转账凭证URL")
    private String transferVoucherUrl;

    @Schema(description = "银行卡账号")
    private String accountNo;

    @Schema(description = "账号类型")
    private Integer accountType;
    
    @Schema(description = "转账时间")
    private LocalDateTime transferTime;
    
    @Schema(description = "创建时间")
    private LocalDateTime createTime;
    
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
}