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.ClientEnum;
import com.yonge.cooleshow.common.enums.UserFirstTimeTypeEnum;
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;

/**
 * 时间记录表
 */
@TableName("user_first_time")
@ApiModel(value = "UserFirstTime对象", description = "时间记录表")
public class UserFirstTime implements Serializable {
	private static final long serialVersionUID = 1L;
    @ApiModelProperty("时间类型  ")
    @TableId(value = "id_", type = IdType.AUTO)
    private Long id;
    @ApiModelProperty("用户id ")
	@TableField(value = "user_id_")
    private Long userId;
    @ApiModelProperty("用户类型：STUDENT 学生 TEACHER 老师 ")
	@TableField(value = "user_type_")
    private ClientEnum userType;
    @ApiModelProperty("时间类型：ENTRY 达人认证 LIVEING 开通直播 ")
	@TableField(value = "time_type_")
    private UserFirstTimeTypeEnum timeType;
    @ApiModelProperty("时间点 ")
	@TableField(value = "time_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date time;
    @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 UserFirstTime() {
    }

    public UserFirstTime(Long userId, ClientEnum userType, UserFirstTimeTypeEnum timeType, Date time) {
        this.userId = userId;
        this.userType = userType;
        this.timeType = timeType;
        this.time = time;
    }

    public Long getId() {
        return id;
    }

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

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public ClientEnum getUserType() {
        return userType;
    }

    public void setUserType(ClientEnum userType) {
        this.userType = userType;
    }

    public UserFirstTimeTypeEnum getTimeType() {
        return timeType;
    }

    public void setTimeType(UserFirstTimeTypeEnum timeType) {
        this.timeType = timeType;
    }
    
	public Date getTime() {
        return time;
    }

    public void setTime(Date time) {
        this.time = time;
    }
    
	public Date getCreateTime() {
        return createTime;
    }

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