package com.ym.mec.biz.dal.dto;

import com.ym.mec.biz.dal.entity.CourseSchedule;
import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
import com.ym.mec.biz.dal.enums.CourseStatusEnum;
import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
import com.ym.mec.biz.dal.enums.TeachModeEnum;

import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * @Author Joburgess
 * @Date 2019/9/20
 */
public class StudentManageCourseListDto {

    @ApiModelProperty(value = "班级ID",required = false)
    private Long classGroupId;

    @ApiModelProperty(value = "班级名称",required = false)
    private String classGroupName;

    @ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级)",required = true)
    private ClassGroupTypeEnum classGroupType;

    private CourseSchedule.CourseScheduleType courseScheduleType;

    @ApiModelProperty(value = "上课日期",required = false)
    private Date courseDate;
    
    @ApiModelProperty(value = "下课日期",required = false)
    private Date courseEndDate;

    @ApiModelProperty(value = "课程状态  NOT_START未开始，SIGN_IN已签到，SIGN_OUT已签退",required = false)
    private CourseStatusEnum courseStatus;

    @ApiModelProperty(value = "老师名称",required = false)
    private String teacherName;

    @ApiModelProperty(value = "状态（正常、旷课、请假、休学）",required = false)
    private StudentAttendanceStatusEnum attendanceStatus;

    @ApiModelProperty(value = "当前课时",required = false)
    private Integer currentCLassTimes;

    @ApiModelProperty(value = "总课时",required = false)
    private Integer totalClassTimes;
    
    @ApiModelProperty(value = "课程编号",required = false)
    private Long courseScheduleId;
    
    @ApiModelProperty(value = "教学模式（线上/线下）",required = false)
    private TeachModeEnum teachMode;

    public CourseSchedule.CourseScheduleType getCourseScheduleType() {
        return courseScheduleType;
    }

    public void setCourseScheduleType(CourseSchedule.CourseScheduleType courseScheduleType) {
        this.courseScheduleType = courseScheduleType;
    }

    public Integer getTotalClassTimes() {
        return totalClassTimes;
    }

    public void setTotalClassTimes(Integer totalClassTimes) {
        this.totalClassTimes = totalClassTimes;
    }

    public Integer getCurrentCLassTimes() {
        return currentCLassTimes;
    }

    public void setCurrentCLassTimes(Integer currentCLassTimes) {
        this.currentCLassTimes = currentCLassTimes;
    }

    public StudentAttendanceStatusEnum getAttendanceStatus() {
        return attendanceStatus;
    }

    public void setAttendanceStatus(StudentAttendanceStatusEnum attendanceStatus) {
        this.attendanceStatus = attendanceStatus;
    }

    public Long getClassGroupId() {
        return classGroupId;
    }

    public void setClassGroupId(Long classGroupId) {
        this.classGroupId = classGroupId;
    }

    public String getClassGroupName() {
        return classGroupName;
    }

    public void setClassGroupName(String classGroupName) {
        this.classGroupName = classGroupName;
    }

    public ClassGroupTypeEnum getClassGroupType() {
        return classGroupType;
    }

    public void setClassGroupType(ClassGroupTypeEnum classGroupType) {
        this.classGroupType = classGroupType;
    }

    public Date getCourseDate() {
        return courseDate;
    }

    public void setCourseDate(Date courseDate) {
        this.courseDate = courseDate;
    }

    public CourseStatusEnum getCourseStatus() {
        return courseStatus;
    }

    public void setCourseStatus(CourseStatusEnum courseStatus) {
        this.courseStatus = courseStatus;
    }

    public String getTeacherName() {
        return teacherName;
    }

    public void setTeacherName(String teacherName) {
        this.teacherName = teacherName;
    }

	public Date getCourseEndDate() {
		return courseEndDate;
	}

	public void setCourseEndDate(Date courseEndDate) {
		this.courseEndDate = courseEndDate;
	}

	public Long getCourseScheduleId() {
		return courseScheduleId;
	}

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

	public TeachModeEnum getTeachMode() {
		return teachMode;
	}

	public void setTeachMode(TeachModeEnum teachMode) {
		this.teachMode = teachMode;
	}
}
