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


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 课程组表(CourseGroup)表实体类
 *
 * @author hgw
 * @since 2022-03-23 14:35:19
 */
@ApiModel(value = "course_group-课程组表")
public class CourseGroup implements Serializable {
    @TableId(value = "id_", type = IdType.AUTO)
    @ApiModelProperty(value = "主键")
    private Long id;

    @TableField("type_")
    @ApiModelProperty(value = "类型 practice陪练课 live直播课")
    private String type;

    @TableField("teacher_id_")
    @ApiModelProperty(value = "授课老师")
    private Long teacherId;

    @TableField("name_")
    @ApiModelProperty(value = "课程组名称")
    private String name;

    @TableField("subject_id_")
    @ApiModelProperty(value = "声部")
    private Long subjectId;

    @TableField("single_course_minutes_")
    @ApiModelProperty(value = "单结课时长")
    private Integer singleCourseMinutes;

    @TableField("course_num_")
    @ApiModelProperty(value = "课程数")
    private Integer courseNum;

    @TableField("complete_course_num_")
    @ApiModelProperty(value = "已上完课的课程数")
    private Integer completeCourseNum;

    @TableField("course_introduce_")
    @ApiModelProperty(value = "课程介绍")
    private String courseIntroduce;

    @TableField("course_price_")
    @ApiModelProperty(value = "课程组售价")
    private BigDecimal coursePrice;

    @TableField("status_")
    @ApiModelProperty(value = "课程组状态 ING进行中 COMPLETE已完成 DISSOLVE-未成课(解散课程) CANCEL已取消-未开始报名前可取消 APPLY报名中 NOT_SALE未开售")
    private String status;

    @TableField("sales_start_date_")
    @ApiModelProperty(value = "课程组售卖开始日期")
    private Date salesStartDate;

    @TableField("sales_end_date_")
    @ApiModelProperty(value = "课程组售卖结束日期")
    private Date salesEndDate;

    @TableField("background_pic_")
    @ApiModelProperty(value = "直播背景图")
    private String backgroundPic;

    @TableField("mix_student_num_")
    @ApiModelProperty(value = "最少成课人数")
    private Integer mixStudentNum;

    @TableField("pre_student_num_")
    @ApiModelProperty(value = "预计上课人数")
    private Integer preStudentNum;

    @TableField("course_start_time_")
    @ApiModelProperty(value = "课程开始时间")
    private Date courseStartTime;

    @TableField("created_by_")
    @ApiModelProperty(value = "创建人")
    private Long createdBy;

    @TableField("created_time_")
    @ApiModelProperty(value = "创建时间")
    private Date createdTime;

    @TableField("updated_by_")
    @ApiModelProperty(value = "更新人")
    private Long updatedBy;

    @TableField("updated_time_")
    @ApiModelProperty(value = "更新时间")
    private Date updatedTime;


    public Long getId() {
        return id;
    }

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

    public String getType() {
        return type;
    }

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

    public Long getTeacherId() {
        return teacherId;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(Long subjectId) {
        this.subjectId = subjectId;
    }

    public Integer getSingleCourseMinutes() {
        return singleCourseMinutes;
    }

    public void setSingleCourseMinutes(Integer singleCourseMinutes) {
        this.singleCourseMinutes = singleCourseMinutes;
    }

    public Integer getCourseNum() {
        return courseNum;
    }

    public void setCourseNum(Integer courseNum) {
        this.courseNum = courseNum;
    }

    public String getCourseIntroduce() {
        return courseIntroduce;
    }

    public void setCourseIntroduce(String courseIntroduce) {
        this.courseIntroduce = courseIntroduce;
    }

    public BigDecimal getCoursePrice() {
        return coursePrice;
    }

    public void setCoursePrice(BigDecimal coursePrice) {
        this.coursePrice = coursePrice;
    }

    public String getStatus() {
        return status;
    }

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

    public Date getSalesStartDate() {
        return salesStartDate;
    }

    public void setSalesStartDate(Date salesStartDate) {
        this.salesStartDate = salesStartDate;
    }

    public Date getSalesEndDate() {
        return salesEndDate;
    }

    public void setSalesEndDate(Date salesEndDate) {
        this.salesEndDate = salesEndDate;
    }

    public String getBackgroundPic() {
        return backgroundPic;
    }

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

    public Integer getMixStudentNum() {
        return mixStudentNum;
    }

    public void setMixStudentNum(Integer mixStudentNum) {
        this.mixStudentNum = mixStudentNum;
    }

    public Integer getPreStudentNum() {
        return preStudentNum;
    }

    public void setPreStudentNum(Integer preStudentNum) {
        this.preStudentNum = preStudentNum;
    }

    public Date getCourseStartTime() {
        return courseStartTime;
    }

    public void setCourseStartTime(Date courseStartTime) {
        this.courseStartTime = courseStartTime;
    }

    public Long getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(Long createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public Long getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(Long updatedBy) {
        this.updatedBy = updatedBy;
    }

    public Date getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(Date updatedTime) {
        this.updatedTime = updatedTime;
    }

    public Integer getCompleteCourseNum() {
        return completeCourseNum;
    }

    public void setCompleteCourseNum(Integer completeCourseNum) {
        this.completeCourseNum = completeCourseNum;
    }
}

