package com.ruoyi.frequency.bondwithdrawalrecord.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.vo.UserInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 保证金提现记录对象 t_bond_withdrawal_record
 *
 * @author liwenlong
 * @date 2023-10-31
 */
@Data
@Accessors(chain = true)
@TableName("t_bond_withdrawal_record")
public class BondWithdrawalRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    @ApiModelProperty("租户号")
    private Long id;

    @ApiModelProperty("删除标识;1 正常 2 删除 3 禁用")
    private Integer delFlag;

    @ApiModelProperty("用户类型;")
    @Excel(name = "用户类型;")
    private Integer userType;

    @ApiModelProperty("用户id")
    @Excel(name = "用户id")
    private Long userId;

    @ApiModelProperty("转账金额")
    @Excel(name = "转账金额")
    private BigDecimal price;

    @ApiModelProperty("手续费")
    @Excel(name = "手续费")
    private BigDecimal serviceCharge;

    @ApiModelProperty("用户备注")
    @Excel(name = "用户备注")
    private String remarks;

    @ApiModelProperty("状态1审核中2审核通过3审核失败")
    @Excel(name = "状态1审核中2审核通过3审核失败")
    private Integer status;

    @ApiModelProperty("转账凭证")
    @Excel(name = "转账凭证")
    private String transferVoucher;

    @ApiModelProperty("失败原因")
    @Excel(name = "失败原因")
    private String refuseReason;

    @ApiModelProperty("提现方式ID")
    @Excel(name = "提现方式ID")
    private Long wiId;

    @ApiModelProperty("扣款")
    @Excel(name = "扣款")
    private BigDecimal violationDeduction;

    @ApiModelProperty("开户行")
    private String bank;

    @ApiModelProperty("开户支行")
    private String subbranch;

    @ApiModelProperty("银行卡")
    private String bankCard;

    @ApiModelProperty("姓名")
    private String fullName;

    @ApiModelProperty("银行卡Id")
    private Long bankCardId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("审核时间")
    private Date processTime;

    @ApiModelProperty("用户信息")
    @TableField(exist = false)
    private UserInfo userInfo;

    @ApiModelProperty("姓名")
    @TableField(exist = false)
    private String name;

    @ApiModelProperty("开始时间")
    @TableField(exist = false)
    private Date beginTime;

    @ApiModelProperty("结束时间")
    @TableField(exist = false)
    private Date endTime;


    @ApiModelProperty("开始时间")
    @TableField(exist = false)
    private Date processBeginTime;

    @ApiModelProperty("结束时间")
    @TableField(exist = false)
    private Date processEndTime;

}
