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

import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
import com.ym.mec.biz.dal.enums.PracticeGroupType;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * @Author Joburgess
 * @Date 2019/10/17
 */
public class TeacherClassGroupDto {

    @ApiModelProperty(value = "班级编号")
    private Integer classGroupId;

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

    @ApiModelProperty(value = "学生数量")
    private Integer studentNum;

    @ApiModelProperty(value = "当前课时")
    private Integer currentClassTimes;

    @ApiModelProperty(value = "课程总数")
    private Integer totalClassTimes;

    @ApiModelProperty(value = "乐团编号")
    private Long musicGroupId;

    @ApiModelProperty(value = "乐团名称")
    private String musicGroupName;

    @ApiModelProperty(value = "学校编号")
    private Long schoolId;

    @ApiModelProperty(value = "学校名称")
    private String schoolName;

    @ApiModelProperty(value = "科目编号列表")
    private String subjectIdList;

    @ApiModelProperty(value = "科目名称")
    private String subjectNames;

    @ApiModelProperty(value = "连续3节课未签到人数")
    private Integer threeClassNoAttendanceStudentNum;

    @ApiModelProperty(value = "剩余课时数")
    private Integer surplusClassTimes;

    @ApiModelProperty(value = "预计缴费截止时间,课程开始时间")
    private Date paymentExpireDate;

    @ApiModelProperty(value = "课程结束时间")
    private Date coursesExpireDate;

    @ApiModelProperty(value = "单节课时")
    private Integer singleClassTimes;

    @ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级、试听课)")
    private ClassGroupTypeEnum type;

    @ApiModelProperty(value = "班级学生名称")
    private String studentNames;

    @ApiModelProperty(value = "线上课数")
    private Integer onlineClassesNum;

    @ApiModelProperty(value = "线下课数")
    private Integer offLineClassesNum;

    @ApiModelProperty(value = "教学形式")
    private Integer classMode;

    @ApiModelProperty(value = "每月平均课时")
    private double avgClassTimesOfMonth;

    @ApiModelProperty(value = "开课时间")
    private Date courseStartDate;

    @ApiModelProperty(value = "陪练报告URL")
    private String studyReportUrl;

    @ApiModelProperty(value = "是否已有报告")
    private Boolean hasReport=false;

    @ApiModelProperty(value = "购买月数")
    private Integer buyMonths;

    @ApiModelProperty(value = "网管课课程组类型")
    private PracticeGroupType practiceGroupType;

    public PracticeGroupType getPracticeGroupType() {
        return practiceGroupType;
    }

    public void setPracticeGroupType(PracticeGroupType practiceGroupType) {
        this.practiceGroupType = practiceGroupType;
    }

    public Date getCourseStartDate() {
        return courseStartDate;
    }

    public void setCourseStartDate(Date courseStartDate) {
        this.courseStartDate = courseStartDate;
    }

    public double getAvgClassTimesOfMonth() {
        return avgClassTimesOfMonth;
    }

    public void setAvgClassTimesOfMonth(double avgClassTimesOfMonth) {
        this.avgClassTimesOfMonth = avgClassTimesOfMonth;
    }

    public Integer getClassMode() {
        return classMode;
    }

    public void setClassMode(Integer classMode) {
        this.classMode = classMode;
    }

    public Integer getOnlineClassesNum() {
        return onlineClassesNum;
    }

    public void setOnlineClassesNum(Integer onlineClassesNum) {
        this.onlineClassesNum = onlineClassesNum;
    }

    public Integer getOffLineClassesNum() {
        return offLineClassesNum;
    }

    public void setOffLineClassesNum(Integer offLineClassesNum) {
        this.offLineClassesNum = offLineClassesNum;
    }

    public String getStudentNames() {
        return studentNames;
    }

    public void setStudentNames(String studentNames) {
        this.studentNames = studentNames;
    }

    public ClassGroupTypeEnum getType() {
        return type;
    }

    public void setType(ClassGroupTypeEnum type) {
        this.type = type;
    }

    public Date getPaymentExpireDate() {
        return paymentExpireDate;
    }

    public void setPaymentExpireDate(Date paymentExpireDate) {
        this.paymentExpireDate = paymentExpireDate;
    }

    public Date getCoursesExpireDate() {
        return coursesExpireDate;
    }

    public void setCoursesExpireDate(Date coursesExpireDate) {
        this.coursesExpireDate = coursesExpireDate;
    }

    public Integer getSingleClassTimes() {
        return singleClassTimes;
    }

    public void setSingleClassTimes(Integer singleClassTimes) {
        this.singleClassTimes = singleClassTimes;
    }

    public Integer getSurplusClassTimes() {
        return surplusClassTimes;
    }

    public void setSurplusClassTimes(Integer surplusClassTimes) {
        this.surplusClassTimes = surplusClassTimes;
    }

    public String getSubjectIdList() {
        return subjectIdList;
    }

    public void setSubjectIdList(String subjectIdList) {
        this.subjectIdList = subjectIdList;
    }

    public Integer getClassGroupId() {
        return classGroupId;
    }

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

    public String getClassGroupName() {
        return classGroupName;
    }

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

    public Integer getStudentNum() {
        return studentNum;
    }

    public void setStudentNum(Integer studentNum) {
        this.studentNum = studentNum;
    }

    public Integer getCurrentClassTimes() {
        return currentClassTimes;
    }

    public void setCurrentClassTimes(Integer currentClassTimes) {
        this.currentClassTimes = currentClassTimes;
    }

    public Integer getTotalClassTimes() {
        return totalClassTimes;
    }

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

    public Long getMusicGroupId() {
        return musicGroupId;
    }

    public void setMusicGroupId(Long musicGroupId) {
        this.musicGroupId = musicGroupId;
    }

    public String getMusicGroupName() {
        return musicGroupName;
    }

    public void setMusicGroupName(String musicGroupName) {
        this.musicGroupName = musicGroupName;
    }

    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }

    public String getSchoolName() {
        return schoolName;
    }

    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }

    public String getSubjectNames() {
        return subjectNames;
    }

    public void setSubjectNames(String subjectNames) {
        this.subjectNames = subjectNames;
    }

    public Integer getThreeClassNoAttendanceStudentNum() {
        return threeClassNoAttendanceStudentNum;
    }

    public void setThreeClassNoAttendanceStudentNum(Integer threeClassNoAttendanceStudentNum) {
        this.threeClassNoAttendanceStudentNum = threeClassNoAttendanceStudentNum;
    }

    public String getStudyReportUrl() {
        return studyReportUrl;
    }

    public void setStudyReportUrl(String studyReportUrl) {
        this.studyReportUrl = studyReportUrl;
    }

    public Boolean getHasReport() {
        return hasReport;
    }

    public void setHasReport(Boolean hasReport) {
        this.hasReport = hasReport;
    }

    public Integer getBuyMonths() {
        return buyMonths;
    }

    public void setBuyMonths(Integer buyMonths) {
        this.buyMonths = buyMonths;
    }
}
