package com.ym.mec.education.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.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 现金账户明细表
 * </p>
 *
 * @author lemeng
 * @since 2019-09-25
 */
@TableName("sys_user_cash_account_detail")
public class SysUserCashAccountDetail extends Model<SysUserCashAccountDetail> {

    private static final long serialVersionUID = 1L;

    /**
     * 序号
     */
    @TableId(value = "id_", type = IdType.AUTO)
    private Long id;
    /**
     * 用户编号
     */
    @TableField("user_id_")
    private Integer userId;
    /**
     * 交易流水号
     */
    @TableField("trans_no_")
    private String transNo;
    /**
     * 交易类型 (RECHARGE 充值,WITHDRAW 提现,PAY_FEE 缴费,REFUNDS 退费,FILL_ACCOUNT 人工补账)
     */
    @TableField("type_")
    private String type;
    /**
     * 交易方式1.微信，2支付宝,3快捷
     */
    @TableField("trans_type_")
    private Integer transType;
    /**
     * 交易状态(1,交易中;2,成功交易;-1,交易失败;)
     */
    @TableField("status_")
    private Integer status;
    /**
     * 交易金额
     */
    @TableField("amount_")
    private BigDecimal amount;
    /**
     * 账户可用余额
     */
    @TableField("balance_")
    private BigDecimal balance;
    /**
     * 描述
     */
    @TableField("description_")
    private String description;
    /**
     * 后台备注
     */
    @TableField("comment_")
    private String comment;
    /**
     * 创建时间
     */
    @TableField("create_time_")
    private Date createTime;
    /**
     * 修改时间
     */
    @TableField("update_time_")
    private Date updateTime;


    public Long getId() {
        return id;
    }

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

    public Integer getUserId() {
        return userId;
    }

    public SysUserCashAccountDetail setUserId(Integer userId) {
        this.userId = userId;
        return this;
    }

    public String getTransNo() {
        return transNo;
    }

    public SysUserCashAccountDetail setTransNo(String transNo) {
        this.transNo = transNo;
        return this;
    }

    public String getType() {
        return type;
    }

    public SysUserCashAccountDetail setType(String type) {
        this.type = type;
        return this;
    }

    public Integer getTransType() {
        return transType;
    }

    public SysUserCashAccountDetail setTransType(Integer transType) {
        this.transType = transType;
        return this;
    }

    public Integer getStatus() {
        return status;
    }

    public SysUserCashAccountDetail setStatus(Integer status) {
        this.status = status;
        return this;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public SysUserCashAccountDetail setAmount(BigDecimal amount) {
        this.amount = amount;
        return this;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public SysUserCashAccountDetail setBalance(BigDecimal balance) {
        this.balance = balance;
        return this;
    }

    public String getDescription() {
        return description;
    }

    public SysUserCashAccountDetail setDescription(String description) {
        this.description = description;
        return this;
    }

    public String getComment() {
        return comment;
    }

    public SysUserCashAccountDetail setComment(String comment) {
        this.comment = comment;
        return this;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public SysUserCashAccountDetail setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

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

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "SysUserCashAccountDetail{" +
        ", id=" + id +
        ", userId=" + userId +
        ", transNo=" + transNo +
        ", type=" + type +
        ", transType=" + transType +
        ", status=" + status +
        ", amount=" + amount +
        ", balance=" + balance +
        ", description=" + description +
        ", comment=" + comment +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        "}";
    }
}
