package com.yonge.cooleshow.biz.dal.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;

/**
 * 用户账户提现表
 */
@TableName("user_withdrawal")
@ApiModel(value = "UserWithdrawal对象", description = "用户账户提现表")
public class UserWithdrawal implements Serializable {
	private static final long serialVersionUID = 1L;
    @ApiModelProperty("提现id ")
    @TableId(value = "id_", type = IdType.AUTO)
    private Long id;
    @ApiModelProperty("用户表id ")
	@TableField(value = "user_id_")
    private Long userId;
    @ApiModelProperty("提现金额 ")
	@TableField(value = "amount_")
    private BigDecimal amount;
    @ApiModelProperty("平台服务费 ")
	@TableField(value = "plantform_fee_")
    private BigDecimal plantformFee;
    @ApiModelProperty("实际到账金额 ")
	@TableField(value = "actual_amount_")
    private BigDecimal actualAmount;
    @ApiModelProperty("银行卡 ")
	@TableField(value = "bank_card_")
    private String bankCard;
    @ApiModelProperty("银行流水号 ")
	@TableField(value = "bank_flow_no_")
    private String bankFlowNo;
    @ApiModelProperty("转账时间 ")
	@TableField(value = "transfer_time_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date transferTime;
    @ApiModelProperty("提现状态 DOING、提现中 PASS、成功 UNPASS、失败")
    @TableField(value = "status_")
    private AuthStatusEnum status;
    @ApiModelProperty("审核人")
    @TableField(value = "verify_user_id_")
    private Long verifyUserId;
    @ApiModelProperty("审核原因")
    @TableField(value = "verify_reason_")
    private String verifyReason;
    @ApiModelProperty("发起时间 ")
	@TableField(value = "create_time_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;
    @ApiModelProperty("修改时间 ")
	@TableField(value = "update_time_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;

	public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    
	public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }
    
	public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }
    
	public BigDecimal getPlantformFee() {
        return plantformFee;
    }

    public void setPlantformFee(BigDecimal plantformFee) {
        this.plantformFee = plantformFee;
    }
    
	public BigDecimal getActualAmount() {
        return actualAmount;
    }

    public void setActualAmount(BigDecimal actualAmount) {
        this.actualAmount = actualAmount;
    }
    
	public String getBankCard() {
        return bankCard;
    }

    public void setBankCard(String bankCard) {
        this.bankCard = bankCard;
    }

	public String getBankFlowNo() {
        return bankFlowNo;
    }

    public void setBankFlowNo(String bankFlowNo) {
        this.bankFlowNo = bankFlowNo;
    }
    
	public Date getTransferTime() {
        return transferTime;
    }

    public void setTransferTime(Date transferTime) {
        this.transferTime = transferTime;
    }
    
	public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    
	public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public AuthStatusEnum getStatus() {
        return status;
    }

    public void setStatus(AuthStatusEnum status) {
        this.status = status;
    }

    public Long getVerifyUserId() {
        return verifyUserId;
    }

    public void setVerifyUserId(Long verifyUserId) {
        this.verifyUserId = verifyUserId;
    }

    public String getVerifyReason() {
        return verifyReason;
    }

    public void setVerifyReason(String verifyReason) {
        this.verifyReason = verifyReason;
    }
}