package com.yonge.cooleshow.biz.dal.dto.excel;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yonge.cooleshow.biz.dal.convert.WithdrawalStatusConvert;
import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author: liweifan
 * @Data: 2022/4/15 18:01
 */
public class UserWithdrawalExport {
    @NotNull(message = "提现编号不能为空")
    @ExcelProperty(value = "提现编号", index = 0)
    private Long id;
    @ExcelProperty(value = "提现人", index = 1)
    private String	withdrawaUser;
    @ExcelProperty(value = "提现人编号", index = 2)
    @NotNull(message = "提现人编号不能为空")
    private Long userId;
    @ExcelProperty(value = "开户行", index = 3)
    private String bankName;
    @ExcelProperty(value = "银行卡号", index = 4)
    private String bankCard;
    @NotNull(message = "提现金额不能为空")
    @ExcelProperty(value = "提现金额", index = 5)
    private BigDecimal amount;
    @NotNull(message = "平台服务费不能为空")
    @ExcelProperty(value = "平台服务费", index = 6)
    private BigDecimal plantformFee;
    @ExcelProperty(value = "转账金额", index = 7)
    private BigDecimal actualAmount;

    @NotNull(message = "提现状态不能为空")
    @ExcelProperty(value = "提现状态 审核中/通过/不通过", index = 8,converter = WithdrawalStatusConvert.class)
    private AuthStatusEnum status;
    @ExcelProperty(value = "审核原因", index = 9)
    private String verifyReason;
    @ExcelProperty(value = "银行流水号", index = 10)
    private String bankFlowNo;
    @NotBlank(message = "签名不能为空")
    @ExcelProperty(value = "签名", index = 11)
    private String sign;

    public Long getId() {
        return id;
    }

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

    public String getWithdrawaUser() {
        return withdrawaUser;
    }

    public void setWithdrawaUser(String withdrawaUser) {
        this.withdrawaUser = withdrawaUser;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getBankCard() {
        return bankCard;
    }

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

    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 getBankFlowNo() {
        return bankFlowNo;
    }

    public void setBankFlowNo(String bankFlowNo) {
        this.bankFlowNo = bankFlowNo;
    }

    public AuthStatusEnum getStatus() {
        return status;
    }

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

    public String getVerifyReason() {
        return verifyReason;
    }

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

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }
}
