package com.ruoyi.frequency.withdrawalrecord.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.frequency.klkwithdrawalrecord.entity.KlkWithdrawalRecord;
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_withdrawal_record
 *
 * @author liwenlong
 * @date 2023-07-20
 */
@Data
@Accessors(chain = true)
@TableName("t_withdrawal_record")
public class WithdrawalRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 租户号 */
    private Long id;



    /** 删除标识;1 正常 2 删除 3 禁用 */
    private Integer delFlag;

    /** 用户类型;1 普通用户 2 师傅 */
    @Excel(name = "用户类型;1 普通用户 2 师傅")
    private Integer userType;

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

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

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

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

    /** 状态1审核中2审核通过3审核失败 */
    @Excel(name = "状态1审核中2审核通过3审核失败4-转账中5-已转账")
    private Integer status;

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

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

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

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


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

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

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

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

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

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


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

    @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;

    /** 转账金额 */
    @Excel(name = "转账金额")
    @TableField(exist = false)
    private BigDecimal amount;

    /** 总金额 */
    @Excel(name = "总金额")
    private BigDecimal totalAmount;

    @TableField(exist = false)
    @ApiModelProperty("拉卡拉提现记录")
    private KlkWithdrawalRecord klkWithdrawalRecord;

}
