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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
import com.yonge.cooleshow.biz.dal.enums.HomeworkStatusEnum;
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;

/**
 * @Author: liweifan
 * @Data: 2022-03-30 13:53:51
 */
@ApiModel( description = "课程作业表查询视图对象")
public class CourseHomeworkVo{
	private static final long serialVersionUID = 1L;

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

	@ApiModelProperty("课后作业id")
	private Long homeworkId;

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


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

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

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

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

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


	@ApiModelProperty("NOTCOMMIT:未提交 ，NOTREVIEW: 未评价 REVIEWED:已评价")
	private HomeworkStatusEnum homeworkStatus;

	@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("学生id")
	private Long studentId;

	@ApiModelProperty("学员姓名")
	private String studentName;

	@ApiModelProperty("学员头像")
	private String studentAvatar;

	@ApiModelProperty("老师id")
	private Long teacherId;

	@ApiModelProperty("老师姓名")
	private String teacherName;

	@ApiModelProperty("老师头像")
	private String teacherAvatar;

	@ApiModelProperty("旷课 0：否，1：是")
	private YesOrNoEnum absenteeism;

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

	@ApiModelProperty("作业提交时间")
	private Date submitTime;

	public String getImGroupId() {
		return imGroupId;
	}

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

	public HomeworkStatusEnum getHomeworkStatus() {
		return homeworkStatus;
	}

	public void setHomeworkStatus(HomeworkStatusEnum homeworkStatus) {
		this.homeworkStatus = homeworkStatus;
	}

	public Long getStudentId() {
		return studentId;
	}

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

	public Long getTeacherId() {
		return teacherId;
	}

	public void setTeacherId(Long teacherId) {
		this.teacherId = teacherId;
	}

	public Date getDecorateTime() {
		return decorateTime;
	}

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

	public Date getSubmitTime() {
		return submitTime;
	}

	public void setSubmitTime(Date submitTime) {
		this.submitTime = submitTime;
	}

	public String getTeacherName() {
		return teacherName;
	}

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

	public String getTeacherAvatar() {
		return teacherAvatar;
	}

	public void setTeacherAvatar(String teacherAvatar) {
		this.teacherAvatar = teacherAvatar;
	}

	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 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 getStudentName() {
		return studentName;
	}

	public void setStudentName(String studentName) {
		this.studentName = studentName;
	}

	public String getStudentAvatar() {
		return studentAvatar;
	}

	public void setStudentAvatar(String studentAvatar) {
		this.studentAvatar = studentAvatar;
	}

	public YesOrNoEnum getAbsenteeism() {
		return absenteeism;
	}

	public void setAbsenteeism(YesOrNoEnum absenteeism) {
		this.absenteeism = absenteeism;
	}

	public CourseScheduleEnum getType() {
		return type;
	}

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

	public Long getHomeworkId() {
		return homeworkId;
	}

	public void setHomeworkId(Long homeworkId) {
		this.homeworkId = homeworkId;
	}

	public Integer getClassNum() {
		return classNum;
	}

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

	public String getCourseGroupName() {
		return courseGroupName;
	}

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

	public String getBackgroundPic() {
		return backgroundPic;
	}

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