package com.ym.mec.biz.dal.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

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

/**
 * 直播房间管理表(ImLiveBroadcastRoom)表实体类
 *
 * @author hgw
 * @since 2022-02-17 20:52:05
 */
@ApiModel(value = "im_live_broadcast_room-直播房间管理表")
public class ImLiveBroadcastRoomVo implements Serializable {
    @ApiModelProperty(value = "主键")
    private Integer id;

    @ApiModelProperty(value = "机构id")
    private Integer tenantId;

    @ApiModelProperty(value = "机构名称")
    private String tenantName;

    @ApiModelProperty(value = "机构logo")
    private String tenantLogo;

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

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

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

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

    @ApiModelProperty(value = "主讲人名称")
    private String speakerName;

    @ApiModelProperty(value = "主讲人头像")
    private String speakerPic;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "直播开始时间")
    private Date liveStartTime;

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

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

    @ApiModelProperty(value = "创建人")
    private String createdByName;

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

    @ApiModelProperty(value = "房间配置json格式-是否允许点赞-是否允许聊天互动-是否允许保存直播回放")
    private String roomConfig;

    @ApiModelProperty(value = "imToken")
    private String imToken;

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

    @ApiModelProperty(value = "是否在首页推广 0否 1是 - 每个机构只能有一个直播间在首页推广")
    private Integer popularize;

    @ApiModelProperty(value = "是否预约过该直播间 0否 1是")
    private Integer reserve;

    @ApiModelProperty(value = "当前登录人是否是黑名单用户 0否 1是")
    private Integer blacklistFlag = 0;

    @ApiModelProperty(value = "直播间可见类型-全部可见 ALL / 部分可见 PRIVATE")
    private String popularizeType;

    @ApiModelProperty(value = "点赞数")
    private Integer likeNum;
    @ApiModelProperty(value = "当前观看人数")
    private Integer lookNum;
    @ApiModelProperty(value = "累计观看人数")
    private Integer totalLookNum;

    @ApiModelProperty("预约人数")
    private Integer roomReservationNum;

    public Integer getId() {
        return id;
    }

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

    public Integer getTenantId() {
        return tenantId;
    }

    public void setTenantId(Integer tenantId) {
        this.tenantId = tenantId;
    }

    public String getTenantName() {
        return tenantName;
    }

    public void setTenantName(String tenantName) {
        this.tenantName = tenantName;
    }

    public String getTenantLogo() {
        return tenantLogo;
    }

    public void setTenantLogo(String tenantLogo) {
        this.tenantLogo = tenantLogo;
    }

    public String getRoomUid() {
        return roomUid;
    }

    public void setRoomUid(String roomUid) {
        this.roomUid = roomUid;
    }

    public String getRoomTitle() {
        return roomTitle;
    }

    public void setRoomTitle(String roomTitle) {
        this.roomTitle = roomTitle;
    }

    public String getLiveRemark() {
        return liveRemark;
    }

    public void setLiveRemark(String liveRemark) {
        this.liveRemark = liveRemark;
    }

    public Integer getSpeakerId() {
        return speakerId;
    }

    public void setSpeakerId(Integer speakerId) {
        this.speakerId = speakerId;
    }

    public String getSpeakerName() {
        return speakerName;
    }

    public void setSpeakerName(String speakerName) {
        this.speakerName = speakerName;
    }

    public String getSpeakerPic() {
        return speakerPic;
    }

    public void setSpeakerPic(String speakerPic) {
        this.speakerPic = speakerPic;
    }

    public Date getLiveStartTime() {
        return liveStartTime;
    }

    public void setLiveStartTime(Date liveStartTime) {
        this.liveStartTime = liveStartTime;
    }

    public Integer getLiveState() {
        return liveState;
    }

    public void setLiveState(Integer liveState) {
        this.liveState = liveState;
    }

    public Integer getRoomState() {
        return roomState;
    }

    public void setRoomState(Integer roomState) {
        this.roomState = roomState;
    }

    public String getCreatedByName() {
        return createdByName;
    }

    public void setCreatedByName(String createdByName) {
        this.createdByName = createdByName;
    }

    public String getPreTemplate() {
        return preTemplate;
    }

    public void setPreTemplate(String preTemplate) {
        this.preTemplate = preTemplate;
    }

    public String getRoomConfig() {
        return roomConfig;
    }

    public void setRoomConfig(String roomConfig) {
        this.roomConfig = roomConfig;
    }

    public String getImToken() {
        return imToken;
    }

    public void setImToken(String imToken) {
        this.imToken = imToken;
    }

    public String getOs() {
        return os;
    }

    public void setOs(String os) {
        this.os = os;
    }

    public Integer getLikeNum() {
        return likeNum;
    }

    public void setLikeNum(Integer likeNum) {
        this.likeNum = likeNum;
    }

    public Integer getLookNum() {
        return lookNum;
    }

    public void setLookNum(Integer lookNum) {
        this.lookNum = lookNum;
    }

    public Integer getTotalLookNum() {
        return totalLookNum;
    }

    public void setTotalLookNum(Integer totalLookNum) {
        this.totalLookNum = totalLookNum;
    }

    public Integer getPopularize() {
        return popularize;
    }

    public void setPopularize(Integer popularize) {
        this.popularize = popularize;
    }

    /**
     * 是否预约过该直播间 0否 1是
     */
    public Integer getReserve() {
        return reserve;
    }

    /**
     * 是否预约过该直播间 0否 1是
     */
    public void setReserve(Integer reserve) {
        this.reserve = reserve;
    }

    public Integer getBlacklistFlag() {
        return blacklistFlag;
    }

    public void setBlacklistFlag(Integer blacklistFlag) {
        this.blacklistFlag = blacklistFlag;
    }

    public Integer getRoomReservationNum() {
        return roomReservationNum;
    }

    public void setRoomReservationNum(Integer roomReservationNum) {
        this.roomReservationNum = roomReservationNum;
    }

    public String getPopularizeType() {
        return popularizeType;
    }

    public void setPopularizeType(String popularizeType) {
        this.popularizeType = popularizeType;
    }
}

