package com.ym.mec.education.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 课程计划表
 * </p>
 *
 * @author lemeng
 * @since 2019-09-25
 */
@TableName("course_schedule")
public class CourseSchedule extends Model<CourseSchedule> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id_", type = IdType.AUTO)
    private Long id;
    /**
     * 班级编号
     */
    @TableField("class_group_id_")
    private Integer classGroupId;
    /**
     * 课程状态
     */
    @TableField("status_")
    private String status;
    /**
     * 补贴
     */
    @TableField("subsidy_")
    private BigDecimal subsidy;
    /**
     * 上课日期
     */
    @TableField("class_date_")
    private Date classDate;
    /**
     * 上课时间
     */
    @TableField("start_class_time_")
    private Date startClassTime;
    /**
     * 结束时间
     */
    @TableField("end_class_time_")
    private Date endClassTime;
    /**
     * 上课教师
     */
    @TableField("teacher_id_")
    private Integer teacherId;
    /**
     * 实际上课教师
     */
    @TableField("actual_teacher_id_")
    private Integer actualTeacherId;
    @TableField("create_time_")
    private Date createTime;
    @TableField("update_time_")
    private Date updateTime;
    /**
     * 教学形式（线上、线下）
     */
    @TableField("teach_mode_")
    private String teachMode;
    /**
     * 投诉状态
     */
    @TableField("complaint_status_")
    private String complaintStatus;


    public Long getId() {
        return id;
    }

    public CourseSchedule setId(Long id) {
        this.id = id;
        return this;
    }

    public Integer getClassGroupId() {
        return classGroupId;
    }

    public CourseSchedule setClassGroupId(Integer classGroupId) {
        this.classGroupId = classGroupId;
        return this;
    }

    public String getStatus() {
        return status;
    }

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

    public BigDecimal getSubsidy() {
        return subsidy;
    }

    public CourseSchedule setSubsidy(BigDecimal subsidy) {
        this.subsidy = subsidy;
        return this;
    }

    public Date getClassDate() {
        return classDate;
    }

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

    public Date getStartClassTime() {
        return startClassTime;
    }

    public CourseSchedule setStartClassTime(Date startClassTime) {
        this.startClassTime = startClassTime;
        return this;
    }

    public Date getEndClassTime() {
        return endClassTime;
    }

    public CourseSchedule setEndClassTime(Date endClassTime) {
        this.endClassTime = endClassTime;
        return this;
    }

    public Integer getTeacherId() {
        return teacherId;
    }

    public CourseSchedule setTeacherId(Integer teacherId) {
        this.teacherId = teacherId;
        return this;
    }

    public Integer getActualTeacherId() {
        return actualTeacherId;
    }

    public CourseSchedule setActualTeacherId(Integer actualTeacherId) {
        this.actualTeacherId = actualTeacherId;
        return this;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public CourseSchedule setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public CourseSchedule setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
        return this;
    }

    public String getTeachMode() {
        return teachMode;
    }

    public CourseSchedule setTeachMode(String teachMode) {
        this.teachMode = teachMode;
        return this;
    }

    public String getComplaintStatus() {
        return complaintStatus;
    }

    public CourseSchedule setComplaintStatus(String complaintStatus) {
        this.complaintStatus = complaintStatus;
        return this;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "CourseSchedule{" +
        ", id=" + id +
        ", classGroupId=" + classGroupId +
        ", status=" + status +
        ", subsidy=" + subsidy +
        ", classDate=" + classDate +
        ", startClassTime=" + startClassTime +
        ", endClassTime=" + endClassTime +
        ", teacherId=" + teacherId +
        ", actualTeacherId=" + actualTeacherId +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        ", teachMode=" + teachMode +
        ", complaintStatus=" + complaintStatus +
        "}";
    }
}
