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 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_total")
@ApiModel(value = "StudentTotal对象", description = "学生统计总表")
public class StudentTotal implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("对应user表用户编号 ")
    @TableId(value = "user_id_")
    private Long userId;
    @ApiModelProperty("累计练习天数 ")
    @TableField(value = "exercise_days_")
    private Integer exerciseDays = 0;
    @ApiModelProperty("累计练习时长 ")
    @TableField(value = "exercise_hours_")
    private Double exerciseHours = 0.0;
    @ApiModelProperty("累计评测次数 ")
    @TableField(value = "testing_num_")
    private Integer testingNum = 0;
    @ApiModelProperty("已完成课时数 ")
    @TableField(value = "finsh_hours_")
    private Integer finshHours = 0;
    @ApiModelProperty("剩余课时数 ")
    @TableField(value = "unfinsh_hours_")
    private Integer unfinshHours = 0;
    @ApiModelProperty("关注老师数 ")
    @TableField(value = "star_teacher_num_")
    private Integer starTeacherNum = 0;
    @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;

    @ApiModelProperty("专辑数 ")
    @TableField(value = "music_album_num_")
    private Integer musicAlbumNum = 0;
    @ApiModelProperty("曲谱数 ")
    @TableField(value = "music_sheet_num_")
    private Integer musicSheetNum = 0;

    public Long getUserId() {
        return userId;
    }

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

    public Integer getExerciseDays() {
        return exerciseDays;
    }

    public void setExerciseDays(Integer exerciseDays) {
        this.exerciseDays = exerciseDays;
    }

    public Double getExerciseHours() {
        return exerciseHours;
    }

    public void setExerciseHours(Double exerciseHours) {
        this.exerciseHours = exerciseHours;
    }

    public Integer getTestingNum() {
        return testingNum;
    }

    public void setTestingNum(Integer testingNum) {
        this.testingNum = testingNum;
    }

    public Integer getFinshHours() {
        return finshHours;
    }

    public void setFinshHours(Integer finshHours) {
        this.finshHours = finshHours;
    }

    public Integer getUnfinshHours() {
        return unfinshHours;
    }

    public void setUnfinshHours(Integer unfinshHours) {
        this.unfinshHours = unfinshHours;
    }

    public Integer getStarTeacherNum() {
        return starTeacherNum;
    }

    public void setStarTeacherNum(Integer starTeacherNum) {
        this.starTeacherNum = starTeacherNum;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

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

    public Integer getMusicAlbumNum() {
        return musicAlbumNum;
    }

    public void setMusicAlbumNum(Integer musicAlbumNum) {
        this.musicAlbumNum = musicAlbumNum;
    }

    public Integer getMusicSheetNum() {
        return musicSheetNum;
    }

    public void setMusicSheetNum(Integer musicSheetNum) {
        this.musicSheetNum = musicSheetNum;
    }
}