package com.yonge.cooleshow.biz.dal.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.yonge.cooleshow.biz.dal.enums.AccountBizTypeEnum;
import com.yonge.cooleshow.biz.dal.enums.InOrOutEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;

/**
 * 用户账户流水表
 */
@TableName("user_cash_account_record")
@ApiModel(value = "UserAccountRecord对象", description = "用户账户流水表")
public class UserAccountRecord implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("id ")
    @TableId(value = "id_", type = IdType.AUTO)
    private Long id;
    @ApiModelProperty("账户id ")
    @TableField(value = "account_id_")
    private Long accountId;
    @ApiModelProperty("交易金额 ")
    @TableField(value = "trans_amount_")
    private BigDecimal transAmount;
    @ApiModelProperty("账户余额 ")
    @TableField(value = "account_balance_")
    private BigDecimal accountBalance;
    @ApiModelProperty("收支类型：IN、收入 OUT、支出 ")
    @TableField(value = "in_or_out_")
    private InOrOutEnum inOrOut;
    @ApiModelProperty("业务类型：PRACTICE、陪练课 LIVE、直播课 VIDEO、视频课 MUSIC、乐谱 WITHDRAWAL、提现 ")
    @TableField(value = "biz_type_")
    private AccountBizTypeEnum bizType;
    @ApiModelProperty("业务id ")
    @TableField(value = "biz_id_")
    private Long bizId;
    @ApiModelProperty("业务名称 ")
    @TableField(value = "biz_name_")
    private String bizName;
    @ApiModelProperty("订单号 ")
    @TableField(value = "order_no_")
    private String orderNo;
    @ApiModelProperty("创建时间 ")
    @TableField(value = "create_time_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;

    public Long getId() {
        return id;
    }

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

    public Long getAccountId() {
        return accountId;
    }

    public void setAccountId(Long accountId) {
        this.accountId = accountId;
    }

    public BigDecimal getTransAmount() {
        return transAmount;
    }

    public void setTransAmount(BigDecimal transAmount) {
        this.transAmount = transAmount;
    }

    public BigDecimal getAccountBalance() {
        return accountBalance;
    }

    public void setAccountBalance(BigDecimal accountBalance) {
        this.accountBalance = accountBalance;
    }

    public InOrOutEnum getInOrOut() {
        return inOrOut;
    }

    public void setInOrOut(InOrOutEnum inOrOut) {
        this.inOrOut = inOrOut;
    }

    public AccountBizTypeEnum getBizType() {
        return bizType;
    }

    public void setBizType(AccountBizTypeEnum bizType) {
        this.bizType = bizType;
    }

    public Long getBizId() {
        return bizId;
    }

    public void setBizId(Long bizId) {
        this.bizId = bizId;
    }

    public String getBizName() {
        return bizName;
    }

    public void setBizName(String bizName) {
        this.bizName = bizName;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Date getCreateTime() {
        return createTime;
    }

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

}