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 lombok.Data;

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

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

    @TableField("course_group_id_")
    @ApiModelProperty(value = "课程组id_")
    private Long courseGroupId;

    @TableField("room_uid_")
    @ApiModelProperty(value = "房间编号 直播课直播房间号")
    private String roomUid;

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

    @TableField("status_")
    @ApiModelProperty(value = "课程状态 NOT未开始 ING进行中 COMPLETE已完成 CANCEL已取消  CourseScheduleEnum")
    private String status;

    @TableField("class_num_")
    @ApiModelProperty(value = "课堂编号-第几堂课")
    private Integer classNum;

    @TableField("teacher_id_")
    @ApiModelProperty(value = "上课教师")
    private Long teacherId;

    @TableField("class_date_")
    @ApiModelProperty(value = "上课日期")
    private Date classDate;

    @TableField("start_time_")
    @ApiModelProperty(value = "上课时间")
    private Date startTime;

    @TableField("end_time_")
    @ApiModelProperty(value = "下课时间")
    private Date endTime;

    @TableField("lock_")
    @ApiModelProperty(value = "购买陪练课及创建直播课时需要锁定课时 0未锁 1锁定")
    private Integer lock;

    @TableField("lock_time_")
    @ApiModelProperty(value = "开始锁定的时间")
    private Date lockTime;

    @TableField("ex_student_num_")
    @ApiModelProperty(value = "实际上课人数")
    private Integer exStudentNum;

    @TableField("single_course_time_")
    @ApiModelProperty(value = "单课时长")
    private Integer singleCourseTime;

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

    @TableField("service_provider_")
    @ApiModelProperty("服务提供方")
    private String serviceProvider = "tencentCloud";

    @TableField("room_id_")
    @ApiModelProperty("房间号")
    private String roomId;

    @ApiModelProperty("全员静音")
    @TableField("mute_all_")
    private Boolean muteAll;

    @ApiModelProperty("是否允许用户自行解除静音")
    @TableField("cancel_mute_flag_")
    private Boolean cancelMuteFlag = true;

}

