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.common.enums.YesOrNoEnum;
import com.yonge.toolset.base.page.QueryInfo;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * Description 平台课后作业查询条件
 *
 * @author liujunchi
 * @date 2022-04-18
 */
public class HomeworkAdminSearch extends QueryInfo {

    @ApiModelProperty("学生 名称/手机号/编号")
    private String studentSearch;

    @ApiModelProperty("布置老师 名称/手机号/编号")
    private String teacherSearch;

    @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(value = "课程类型： PRACTICE 陪练课； LIVE 直播课",hidden = true)
    private List<CourseScheduleEnum> courseType;

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

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

    public String getStudentSearch() {
        return studentSearch;
    }

    public void setStudentSearch(String studentSearch) {
        this.studentSearch = studentSearch;
    }

    public String getTeacherSearch() {
        return teacherSearch;
    }

    public void setTeacherSearch(String teacherSearch) {
        this.teacherSearch = teacherSearch;
    }

    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 List<CourseScheduleEnum> getCourseType() {
        return courseType;
    }

    public void setCourseType(List<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;
    }
}
