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

import com.baomidou.mybatisplus.annotation.*;
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("student")
@ApiModel(value = "Student对象", description = "学生表")
public class Student implements Serializable {
	private static final long serialVersionUID = 1L;
    @TableId(value = "user_id_")
    private Long userId;
    /** 
    * 学员声部 
    */
    @ApiModelProperty("学员声部 ")
	@TableField(value = "subject_id_")
    private String subjectId;
    /**
    * 会员等级 
    */
    @ApiModelProperty("会员等级 ")
	@TableField(value = "member_rank_setting_id_")
    private Long memberRankSettingId;
    /** 
    * 有效期开始时间 
    */
    @ApiModelProperty("有效期开始时间 ")
	@TableField(value = "membership_start_time_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date membershipStartTime;
    /** 
    * 有效期结束时间 
    */
    @ApiModelProperty("有效期结束时间 ")
	@TableField(value = "membership_end_time_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date membershipEndTime;
    /** 
    * 云教练连续使用天数 
    */
    @ApiModelProperty("云教练连续使用天数 ")
	@TableField(value = "cloud_study_sequence_days_")
    private Integer cloudStudySequenceDays;
    /** 
    * 云教练最后使用日期 
    */
    @ApiModelProperty("云教练最后使用日期 ")
	@TableField(value = "cloud_study_use_last_day_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date cloudStudyUseLastDay;
	@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;
	@TableField(value = "update_time_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;

    public Long getUserId() {
        return userId;
    }

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

    public String getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(String subjectId) {
        this.subjectId = subjectId;
    }

    public Long getMemberRankSettingId() {
        return memberRankSettingId;
    }

    public void setMemberRankSettingId(Long memberRankSettingId) {
        this.memberRankSettingId = memberRankSettingId;
    }

    public Date getMembershipStartTime() {
        return membershipStartTime;
    }

    public void setMembershipStartTime(Date membershipStartTime) {
        this.membershipStartTime = membershipStartTime;
    }

    public Date getMembershipEndTime() {
        return membershipEndTime;
    }

    public void setMembershipEndTime(Date membershipEndTime) {
        this.membershipEndTime = membershipEndTime;
    }

    public Integer getCloudStudySequenceDays() {
        return cloudStudySequenceDays;
    }

    public void setCloudStudySequenceDays(Integer cloudStudySequenceDays) {
        this.cloudStudySequenceDays = cloudStudySequenceDays;
    }

    public Date getCloudStudyUseLastDay() {
        return cloudStudyUseLastDay;
    }

    public void setCloudStudyUseLastDay(Date cloudStudyUseLastDay) {
        this.cloudStudyUseLastDay = cloudStudyUseLastDay;
    }

    public Date getCreateTime() {
        return createTime;
    }

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

    public Date getUpdateTime() {
        return updateTime;
    }

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