package com.github.wxiaoqi.security.admin.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;


/**
 * 门店钱包提现表
 *
 * @author zjw
 * @email 18178966185@163.com
 * @date 2019-07-11 14:14:54
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "company_wallet_cath")
public class CompanyWalletCath implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @Id
    @GeneratedValue(generator = "JDBC")
    @ApiModelProperty("主键ID")
    private Long id;

    /**
     * 用户iD
     */
    @Column(name = "company_id")
    @ApiModelProperty(value = "门店ID")
    private Integer companyId;

    /**
     * 提现类别，第三方提现类别(0-微信，1-支付宝，2-银行卡)
     */
    @Column(name = "cath_type")
    @ApiModelProperty(value = "提现类别，第三方提现类别(0-微信，1-支付宝，2-银行卡)")
    private Integer cathType;


    @Column(name = "account_number")
    @ApiModelProperty(value = "用户账号")
    private String accountNumber;


    @Column(name = "cono")
    @ApiModelProperty(value = "提现单号")
    private String cono;


    /**
     * 提现金额
     */
    @Column(name = "balance")
    @ApiModelProperty(value = "当前钱包余额")
    private BigDecimal balance;


    /**
     * 提现金额
     */
    @Column(name = "amount")
    @ApiModelProperty(value = "提现金额")
    private BigDecimal amount;

    /**
     * 到账金额
     */
    @Column(name = "real_amount")
    @ApiModelProperty(value = "到账金额")
    private BigDecimal realAmount;


    /**
     * 手续费
     */
    @Column(name = "commission")
    @ApiModelProperty(value = "手续费")
    private BigDecimal commission;

    /**
     * 订单状态：0-未提现,待审核，1-已审核
     */
    @Column(name = "stauts")
    @ApiModelProperty(value = "订单状态：0-未提现,待审核，1-已审核")
    private Integer stauts;


    /**
     * 失败原因
     */
    @Column(name = "reason")
    @ApiModelProperty(value = "失败原因")
    private String reason;


    /**
     * 提现日期
     */
    @Column(name = "crt_time")
    @ApiModelProperty(value = "提现日期", hidden = true)
    private Long crtTime;

    /**
     * 审核日期
     */
    @Column(name = "finish_time")
    @ApiModelProperty(value = "审核日期")
    private Long finishTime;

    /**
     * 操作者ID
     */
    @Column(name = "upd_user")
    @ApiModelProperty(value = "操作者ID")
    private String updUser;

    @Column(name = "order_no")
    @ApiModelProperty(value = "第三方订单号：如微信，支付宝，银行卡等")
    private String orderNo;

    @Column(name = "account_name")
    private String accountName;

    @Column(name = "withdraw_way")
    @ApiModelProperty(value = "提现方式 1:线下自动 2:线下手动 3:线上自动")
    private Integer withdrawWay;

    @Column(name = "real_reason")
    private String realReason;
}
