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

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
import com.yonge.cooleshow.common.enums.YesOrNoEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * Description
 *
 * @author liujunchi
 * @date 2022-05-31
 */
@ApiModel("琴房课程-课后作业列表")
public class CourseScheduleHomeworkVo {


    @ApiModelProperty("课程编号ID")
    private Long courseId;

    @ApiModelProperty("课程组ID")
    private Long courseGroupId;

    @ApiModelProperty("课程组名")
    private String courseGroupName;

    @ApiModelProperty("课程类型")
    private CourseScheduleEnum type;

    @ApiModelProperty("课堂编号-第几堂课")
    private Integer classNum;


    @ApiModelProperty("课程状态 NOT_START未开始 ING进行中 COMPLETE已完成 CANCEL已取消")
    private CourseScheduleEnum courseStatus;

    @ApiModelProperty("上课日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date classDate;

    @ApiModelProperty("上课时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date startTime;

    @ApiModelProperty("下课时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date endTime;

    @ApiModelProperty("声部名称")
    private String subjectName;

    @ApiModelProperty("作业标题; ")
    private String title;

    @ApiModelProperty("作业内容 ")
    private String content;

    @ApiModelProperty("作业附件地址（多个用逗号分隔） ")
    private String attachments;

    @ApiModelProperty("布置作业，0：未布置，1：已布置")
    private YesOrNoEnum decorateHomework;

    @ApiModelProperty("作业布置时间")
    private Date decorateTime;

    @ApiModelProperty("课程背景图")
    private String backgroundPic;

    @ApiModelProperty("学员人数")
    private Long studentNum;

    @ApiModelProperty("群聊id")
    private String imGroupId;

    @ApiModelProperty("学生课后作业列表")
    private IPage<StudentHomeworkVo> studentHomeworkList;


    public String getImGroupId() {
        return imGroupId;
    }

    public void setImGroupId(String imGroupId) {
        this.imGroupId = imGroupId;
    }

    public Long getStudentNum() {
        return studentNum;
    }

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

    public CourseScheduleEnum getCourseStatus() {
        return courseStatus;
    }

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

    public Long getCourseId() {
        return courseId;
    }

    public void setCourseId(Long courseId) {
        this.courseId = courseId;
    }

    public Long getCourseGroupId() {
        return courseGroupId;
    }

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

    public String getCourseGroupName() {
        return courseGroupName;
    }

    public void setCourseGroupName(String courseGroupName) {
        this.courseGroupName = courseGroupName;
    }

    public CourseScheduleEnum getType() {
        return type;
    }

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

    public Integer getClassNum() {
        return classNum;
    }

    public void setClassNum(Integer classNum) {
        this.classNum = classNum;
    }

    public Date getClassDate() {
        return classDate;
    }

    public void setClassDate(Date classDate) {
        this.classDate = classDate;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getSubjectName() {
        return subjectName;
    }

    public void setSubjectName(String subjectName) {
        this.subjectName = subjectName;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getAttachments() {
        return attachments;
    }

    public void setAttachments(String attachments) {
        this.attachments = attachments;
    }

    public YesOrNoEnum getDecorateHomework() {
        return decorateHomework;
    }

    public void setDecorateHomework(YesOrNoEnum decorateHomework) {
        this.decorateHomework = decorateHomework;
    }

    public Date getDecorateTime() {
        return decorateTime;
    }

    public void setDecorateTime(Date decorateTime) {
        this.decorateTime = decorateTime;
    }

    public String getBackgroundPic() {
        return backgroundPic;
    }

    public void setBackgroundPic(String backgroundPic) {
        this.backgroundPic = backgroundPic;
    }

    public IPage<StudentHomeworkVo> getStudentHomeworkList() {
        return studentHomeworkList;
    }

    public void setStudentHomeworkList(IPage<StudentHomeworkVo> studentHomeworkList) {
        this.studentHomeworkList = studentHomeworkList;
    }
}
