package com.yonge.cooleshow.biz.dal.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

import java.math.BigDecimal;

/**
 * 机构老师流水表
 * 2023-10-09 17:39:42
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(" TenantTeacherAccountRecord-机构老师流水表")
@TableName("tenant_teacher_account_record")
public class TenantTeacherAccountRecord implements Serializable {

    @ApiModelProperty("id") 
	    @TableId(value = "id_",type = IdType.AUTO)
	    private Long id;

    @ApiModelProperty("机构id") 
	@TableField(value = "tenant_id_")
    private Long tenantId;

    @ApiModelProperty("老师id") 
	@TableField(value = "teacher_id_")
    private Long teacherId;

    @ApiModelProperty("机构流水ID") 
	@TableField(value = "account_record_id_")
    private Long accountRecordId;

    @ApiModelProperty("数据类型（平台，机构,老师）") 
	@TableField(value = "source_type_")
    private SourceTypeEnum sourceType;

    @ApiModelProperty("交易金额") 
	@TableField(value = "trans_amount_")
    private BigDecimal transAmount;

    @ApiModelProperty("收支类型：IN、收入 OUT、支出") 
	@TableField(value = "in_or_out_")
    private String inOrOut;

    @ApiModelProperty("入账状态 WAIT 待入账 FROZEN 冻结入账 RECORDED 已入账 CANCEL 取消") 
	@TableField(value = "post_status_")
    private String postStatus;

    @ApiModelProperty("业务类型：PRACTICE、陪练课 LIVE、直播课 VIDEO、视频课 MUSIC、乐谱 WITHDRAWAL、提现 LIVE_SHARE、直播课分润 VIDEO_SHARE、视频课分润 MUSIC_SHARE、乐谱分润 VIP_SHARE、会员分润 MALL_SHARE、商品分润") 
	@TableField(value = "biz_type_")
    private String 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_")
    private Date createTime;

    @ApiModelProperty("更新时间") 
	@TableField(value = "update_time_")
    private Date updateTime;

    @ApiModelProperty("是否异常入账") 
	@TableField(value = "err_flag_")
    private Integer errFlag;

    @ApiModelProperty("异常信息") 
	@TableField(value = "err_msg_")
    private String errMsg;

}