package com.platform.modules.live.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.FieldStrategy;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.NotBlank;

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

/**
 * 现场直播信息表
 * 
 * @author zj
 * @date 2019-02-19 14:25:45
 */
@TableName("live_scene_live_info")
public class LiveSceneLiveInfoEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 数据ID
	 */
	@TableId
	@NotBlank(message = "id不能为空")
	private Integer id;
	/**
	 * 现场ID
	 */
	@NotBlank(message = "sceneId不能为空")
	private Integer sceneId;
	/**
	 * 人员ID
	 */
	@NotBlank(message = "userId不能为空")
	@ApiModelProperty(value = "人员ID")
	@TableField(strategy=FieldStrategy.IGNORED)
	private Integer userId;
	/**
	 * 名称
	 */
	@ApiModelProperty(value = "名称")
	private String infoName;
	/**
	 * 流类型,1:手机，2：摄像机
	 */
	@ApiModelProperty(value = "类型,1:记者，2：直播间,3:第三方拉流")
	private Integer infoType;
	/**
	 * 推流状态
	 */
	@NotBlank(message = "pushState不能为空")
	@ApiModelProperty(value = "推流状态，0, 未开始；1，正在推流；2，暂停；3，开始拉流处理中；4，停止拉流处理中；10，停止；")
	private Integer pushState;
	/**
	 * 推流开始时间
	 */
	@NotBlank(message = "pushStart不能为空")
	@ApiModelProperty(value = "推流开始时间")
	private Date pushStart;
	/**
	 * 推流结束时间
	 */
	@NotBlank(message = "pushEnd不能为空")
	@ApiModelProperty(value = " 推流结束时间")
	private Date pushEnd;
	/**
	 * 
	 */
	@ApiModelProperty(value = " pushDomain")
	private String pushDomain;
	/**
	 * 
	 */
	@ApiModelProperty(value = " liveDomain")
	private String liveDomain;
	/**
	 * 
	 */
	@ApiModelProperty(value = " appName")
	private String appName;
	/**
	 * 
	 */
	@ApiModelProperty(value = " streamName")
	private String streamName;

	@ApiModelProperty(value = "标题图")
	private String titleImage;

	@TableField(exist = false)
	private LiveSceneLiveInfoExtEntity extEntity;

	private Integer isDefault;

	@ApiModelProperty(value = "是否显示，0：不显示，1：显示")
	private Integer isShow;

	@ApiModelProperty(value = "是否转写语音文字，0：不转文字，1：转文字")
	private Integer isTxt;
	
	@ApiModelProperty(value = "排序，数字越大，排序越靠前")
	private Integer priority;
	/**
	 * 租户ID
	 * */
	@ApiModelProperty(value = "租户ID")
	private Long tenantId;
	
	/**
	 * 拉流开始时间
	 */
	@ApiModelProperty(value = "拉流开始时间")
	@TableField(strategy=FieldStrategy.IGNORED)
	private Date pullStart;
	/**
	 * 拉流结束时间
	 */
	@ApiModelProperty(value = " 拉流结束时间")
	@TableField(strategy=FieldStrategy.IGNORED)
	private Date pullEnd;
	
	@ApiModelProperty(value = "拉流地址")
	@TableField(exist = false)
	private String pullUrl;

	public LiveSceneLiveInfoEntity() {
	}

	/**
	 * 设置：数据ID
	 */
	public void setId(Integer id) {
		this.id = id;
	}
	/**
	 * 获取：数据ID
	 */
	public Integer getId() {
		return id;
	}
	/**
	 * 设置：现场ID
	 */
	public void setSceneId(Integer sceneId) {
		this.sceneId = sceneId;
	}
	/**
	 * 获取：现场ID
	 */
	public Integer getSceneId() {
		return sceneId;
	}
	/**
	 * 设置：人员ID
	 */
	public void setUserId(Integer userId) {
		this.userId = userId;
	}
	/**
	 * 获取：人员ID
	 */
	public Integer getUserId() {
		return userId;
	}
	/**
	 * 设置：名称
	 */
	public void setInfoName(String infoName) {
		this.infoName = infoName;
	}
	/**
	 * 获取：名称
	 */
	public String getInfoName() {
		return infoName;
	}
	/**
	 * 设置：流类型,1:手机，2：摄像机
	 */
	public void setInfoType(Integer infoType) {
		this.infoType = infoType;
	}
	/**
	 * 获取：流类型,1:手机，2：摄像机
	 */
	public Integer getInfoType() {
		return infoType;
	}
	/**
	 * 设置：推流状态
	 */
	public void setPushState(Integer pushState) {
		this.pushState = pushState;
	}
	/**
	 * 获取：推流状态
	 */
	public Integer getPushState() {
		return pushState;
	}
	/**
	 * 设置：推流开始时间
	 */
	public void setPushStart(Date pushStart) {
		this.pushStart = pushStart;
	}
	/**
	 * 获取：推流开始时间
	 */
	public Date getPushStart() {
		return pushStart;
	}
	/**
	 * 设置：推流结束时间
	 */
	public void setPushEnd(Date pushEnd) {
		this.pushEnd = pushEnd;
	}
	/**
	 * 获取：推流结束时间
	 */
	public Date getPushEnd() {
		return pushEnd;
	}
	/**
	 * 设置：
	 */
	public void setPushDomain(String pushDomain) {
		this.pushDomain = pushDomain;
	}
	/**
	 * 获取：
	 */
	public String getPushDomain() {
		return pushDomain;
	}
	/**
	 * 设置：
	 */
	public void setLiveDomain(String liveDomain) {
		this.liveDomain = liveDomain;
	}
	/**
	 * 获取：
	 */
	public String getLiveDomain() {
		return liveDomain;
	}
	/**
	 * 设置：
	 */
	public void setAppName(String appName) {
		this.appName = appName;
	}
	/**
	 * 获取：
	 */
	public String getAppName() {
		return appName;
	}
	/**
	 * 设置：
	 */
	public void setStreamName(String streamName) {
		this.streamName = streamName;
	}

	public String getTitleImage() {
		return titleImage;
	}

	public void setTitleImage(String titleImage) {
		this.titleImage = titleImage;
	}

	/**
	 * 获取：

	 */
	public String getStreamName() {
		return streamName;
	}

	public LiveSceneLiveInfoExtEntity getExtEntity() {
		return extEntity;
	}

	public void setExtEntity(LiveSceneLiveInfoExtEntity extEntity) {
		this.extEntity = extEntity;
	}

	public Integer getIsDefault() {
		return isDefault;
	}

	public void setIsDefault(Integer isDefault) {
		this.isDefault = isDefault;
	}

	public Integer getIsShow() {
		return isShow;
	}

	public void setIsShow(Integer isShow) {
		this.isShow = isShow;
	}

	public Integer getIsTxt() {
		return isTxt;
	}

	public void setIsTxt(Integer isTxt) {
		this.isTxt = isTxt;
	}

	public Integer getPriority() {
		return priority;
	}

	public void setPriority(Integer priority) {
		this.priority = priority;
	}

	public Long getTenantId() {
		return tenantId;
	}

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

	public Date getPullStart() {
		return pullStart;
	}

	public void setPullStart(Date pullStart) {
		this.pullStart = pullStart;
	}

	public Date getPullEnd() {
		return pullEnd;
	}

	public void setPullEnd(Date pullEnd) {
		this.pullEnd = pullEnd;
	}

	public String getPullUrl() {
		return pullUrl;
	}

	public void setPullUrl(String pullUrl) {
		this.pullUrl = pullUrl;
	}
}
