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 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 javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 课程点评
 */
@TableName("course_schedule_replied")
@ApiModel(value = "CourseScheduleReplied对象", description = "课程点评")
public class CourseScheduleReplied implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("主键 ")
    @TableId(value = "id_", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("学生id ")
    @TableField(value = "student_id_")
    private Long studentId;

    @ApiModelProperty("课程编号 ")
    @TableField(value = "course_schedule_id_")
    @NotNull(message = "课程编号不能为空")
    private Long courseScheduleId;

    @ApiModelProperty("课程组类型PRACTICE、LIVE; ")
    @TableField(value = "course_group_type_")
    private String courseGroupType;

    @ApiModelProperty("课程组编号; ")
    @TableField(value = "course_group_id_")
    @NotBlank(message = "课程组编号不能为空")
    private String courseGroupId;

    @ApiModelProperty("学员评分 ")
    @TableField(value = "score_")
    private Integer score;

    @ApiModelProperty("学员课后评价 ")
    @TableField(value = "student_replied_")
    private String studentReplied;

    @ApiModelProperty("老师课后评价 ")
    @TableField(value = "teacher_replied_")
    private String teacherReplied;

    @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;

    @ApiModelProperty("修改时间 ")
    @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 getId() {
        return id;
    }

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

    public Long getStudentId() {
        return studentId;
    }

    public void setStudentId(Long studentId) {
        this.studentId = studentId;
    }

    public Long getCourseScheduleId() {
        return courseScheduleId;
    }

    public void setCourseScheduleId(Long courseScheduleId) {
        this.courseScheduleId = courseScheduleId;
    }

    public String getCourseGroupType() {
        return courseGroupType;
    }

    public void setCourseGroupType(String courseGroupType) {
        this.courseGroupType = courseGroupType;
    }

    public String getCourseGroupId() {
        return courseGroupId;
    }

    public void setCourseGroupId(String courseGroupId) {
        this.courseGroupId = courseGroupId;
    }

    public Integer getScore() {
        return score;
    }

    public void setScore(Integer score) {
        this.score = score;
    }

    public String getStudentReplied() {
        return studentReplied;
    }

    public void setStudentReplied(String studentReplied) {
        this.studentReplied = studentReplied;
    }

    public String getTeacherReplied() {
        return teacherReplied;
    }

    public void setTeacherReplied(String teacherReplied) {
        this.teacherReplied = teacherReplied;
    }

    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;
    }
}