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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yonge.toolset.base.page.QueryInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @Author: cy
 * @Date: 2022/5/19
 */
@ApiModel
public class CourseGroupDetailSearch extends QueryInfo {
    @ApiModelProperty(value = "课程组id")
    @NotNull(message = "课程组id不能为空")
    private Long courseGroupId;
    @ApiModelProperty(value = "课程编号/老师姓名/老师编号/学员姓名/学员编号")
    private String search;
    @ApiModelProperty(value = "老师考勤")
    private Integer teacherSign;
    @ApiModelProperty(value = "学生考勤")
    private Integer studentSign;
    @ApiModelProperty(value = "课程状态")
    private String status;
    @ApiModelProperty(value = "结算状态")
    private String salaryStatus;
    @ApiModelProperty(value = "开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    @ApiModelProperty(value = "结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
    @ApiModelProperty(value = "学生id")
    private Long studentId;
    @ApiModelProperty(value = "老师id")
    private Long teacherId;
    @ApiModelProperty(value = "课程id集合")
    private List<Long> courseIds;

    public List<Long> getCourseIds() {
        return courseIds;
    }

    public void setCourseIds(List<Long> courseIds) {
        this.courseIds = courseIds;
    }

    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 Long getCourseGroupId() {
        return courseGroupId;
    }

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

    @Override
    public String getSearch() {
        return search;
    }

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

    public Integer getTeacherSign() {
        return teacherSign;
    }

    public void setTeacherSign(Integer teacherSign) {
        this.teacherSign = teacherSign;
    }

    public Integer getStudentSign() {
        return studentSign;
    }

    public void setStudentSign(Integer studentSign) {
        this.studentSign = studentSign;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getSalaryStatus() {
        return salaryStatus;
    }

    public void setSalaryStatus(String salaryStatus) {
        this.salaryStatus = salaryStatus;
    }

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