package com.yonge.cooleshow.biz.dal.dto.search;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
import com.yonge.toolset.mybatis.page.QueryInfo;
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-04-13
 */
@ApiModel("课后作业查询条件")
public class HomeworkSearch extends QueryInfo {

    @ApiModelProperty(value = "老师id",hidden = true)
    private Long teacherId;

    @ApiModelProperty(value = "课程类型： PRACTICE 陪练课； LIVE 直播课",hidden = true)
    private CourseScheduleEnum courseType;

    @ApiModelProperty(value = "课程状态： NOT_START:未开始； ING:进行中； COMPLETE:已完成； CANCEL:已取消",hidden = true)
    private CourseScheduleEnum courseStatus;

    @ApiModelProperty("布置作业状态 0:否，1:是")
    private YesOrNoEnum decorate;

    @ApiModelProperty("提交作业状态 0:否，1:是")
    private YesOrNoEnum submit;

    @ApiModelProperty(value = "课程编号ID",hidden = true)
    private Long courseScheduleId;

    @ApiModelProperty(value = "年月 格式：yyyy-MM",required = true)
    private String date;

    @ApiModelProperty(value = "学生编号",hidden = true)
    private Long studentId;

    @ApiModelProperty("布置老师、学生，名称/手机号/编号")
    private String search;

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

    public Long getCourseScheduleId() {
        return courseScheduleId;
    }

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

    public Long getTeacherId() {
        return teacherId;
    }

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

    public CourseScheduleEnum getCourseType() {
        return courseType;
    }

    public void setCourseType(CourseScheduleEnum courseType) {
        this.courseType = courseType;
    }

    public CourseScheduleEnum getCourseStatus() {
        return courseStatus;
    }

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

    public YesOrNoEnum getDecorate() {
        return decorate;
    }

    public void setDecorate(YesOrNoEnum decorate) {
        this.decorate = decorate;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public YesOrNoEnum getSubmit() {
        return submit;
    }

    public void setSubmit(YesOrNoEnum submit) {
        this.submit = submit;
    }

    public Long getStudentId() {
        return studentId;
    }

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

    public String getSearch() {
        return search;
    }

    public void setSearch(String search) {
        this.search = search;
    }

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