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 com.yonge.cooleshow.biz.dal.enums.ClientEnum;
import com.yonge.cooleshow.common.enums.live.ELiveViewMode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * 直播房间与课程的关系表表(LiveRoom)表实体类
 *
 * @author hgw
 * @since 2022-03-23 14:35:19
 */
@Data
@ApiModel(value = "live_room-直播房间与课程的关系表表")
public class LiveRoom implements Serializable {
    @TableId(value = "id_", type = IdType.AUTO)
    @ApiModelProperty(value = "主键")
    private Long id;

//    @TableField("course_group_id_")
//    @ApiModelProperty(value = "课程组id")
//    private Long courseGroupId;
//
//    @TableField("course_id_")
//    @ApiModelProperty(value = "课程id")
//    private Long courseId;

    @TableField("speaker_id_")
    @ApiModelProperty(value = "主讲人id/老师id")
    private Long speakerId;



    @TableField("client_type_")
    @ApiModelProperty("用户类型 TEACHER 老师 ")
    private ClientEnum clientType;

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

    @TableField("room_title_")
    @ApiModelProperty(value = "房间标题/最多12个字")
    private String roomTitle;

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

    @TableField("video_record_")
    @ApiModelProperty(value = "录制记录")
    private String videoRecord;

    @TableField("live_start_time_")
    @ApiModelProperty(value = "直播开始时间")
    private Date liveStartTime;

    @TableField("live_end_time_")
    @ApiModelProperty(value = "直播结束时间")
    private Date liveEndTime;

    @TableField("live_remark_")
    @ApiModelProperty(value = "直播内容/最多200个字")
    private String liveRemark;

    @TableField("live_state_")
    @ApiModelProperty(value = "直播状态 0未开始 1已开始 2已结束")
    private Integer liveState;

    @TableField("room_state_")
    @ApiModelProperty(value = "房间状态 0正常 1已删除 2已销毁")
    private Integer roomState;

    @TableField("type_")
    @ApiModelProperty(value = "房间类型 live直播课  temp临时直播间")
    private String type;

    @TableField("pre_template_")
    @ApiModelProperty(value = "预热模版")
    private String preTemplate;


    @TableField("live_total_time_")
    @ApiModelProperty(value = "直播时长")
    private Integer liveTotalTime;

    @TableField("os_")
    @ApiModelProperty(value = "播出端-  pc网页端 移动端mobile")
    private String os;

    @TableField("speaker_status_")
    @ApiModelProperty(value = "主播状态: 0离开;1在播")
    private Integer speakerStatus;

    @TableField("push_status_")
    @ApiModelProperty(value = "推流状态: 0 暂停; 1在播")
    private Integer pushStatus;

    @TableField("ban_status_")
    @ApiModelProperty(value = "禁言状态: 0 取消；1禁言")
    private Integer banStatus;

    @TableField("view_mode_")
    @ApiModelProperty("直播观看模式")
    private ELiveViewMode viewMode;

    @TableField("cover_pic_")
    @ApiModelProperty(value = "封面图片")
    private String coverPic;

    @TableField("shop_car_url_")
    @ApiModelProperty(value = "购物车地址")
    private String shopCarUrl;

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

}

