package com.dora.entity;

import lombok.Data;

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

/**
 * 提现申请实体类
 */
@Data
public class WithdrawRequest {
    
    /**
     * 主键ID
     */
    private Long id;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 提现金额
     */
    private BigDecimal amount;
    
    /**
     * 提现类型（promotion/workflow/video）
     */
    private String withdrawType;
    
    /**
     * 作品ID（工作流或视频提现时）
     */
    private Long contentId;
    
    /**
     * 收款账户类型（alipay/wechat/bank）
     */
    private String accountType;
    
    /**
     * 收款账户（支付宝账号/微信ID/银行卡号）
     */
    private String account;
    
    /**
     * 收款人姓名
     */
    private String accountName;
    
    /**
     * 开户行名称（银行卡提现时必填）
     */
    private String bankName;
    
    /**
     * 支行名称（银行卡提现时可选）
     */
    private String bankBranch;
    
    /**
     * 状态（0待审核/1通过/2拒绝）
     */
    private Integer status;
    
    /**
     * 拒绝原因
     */
    private String reason;
    
    /**
     * 审核人ID
     */
    private Long reviewerId;
    
    /**
     * 第三方交易流水号
     */
    private String transactionNo;
    
    /**
     * 手续费金额
     */
    private BigDecimal feeAmount;
    
    /**
     * 实际到账金额
     */
    private BigDecimal actualAmount;
    
    /**
     * 处理完成时间
     */
    private LocalDateTime processedAt;
    
    /**
     * 申请时间
     */
    private LocalDateTime createTime;
    
    /**
     * 审核时间
     */
    private LocalDateTime reviewedAt;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
    
    /**
     * 是否删除
     */
    private Integer isDeleted;
} 