package com.platform.modules.live.entity;

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

import org.hibernate.validator.constraints.NotBlank;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
 * 素材信息
 * 
 * @author weiyan
 * @email 
 * @date 2019-03-12 10:09:03
 */
@TableName("live_multimedia")
@ApiModel("素材信息表")
public class LiveMultimediaEntity implements Serializable {
	private static final long serialVersionUID = 1L;
	
	//数据ID
	@TableId
	@ApiModelProperty(value = "id")
	@NotBlank(message = "id不能为空")
	private Integer id;
	//标题
	@NotBlank(message = "title不能为空")
	@ApiModelProperty(value = "标题", required = true)
	private String title;
	//素材类型 1视频 2语音 3图片
	@NotBlank(message = "mediaType不能为空")
	@ApiModelProperty(value = "素材类型 1视频 2音频 3图片", required = true)
	private Integer mediaType;
	@ApiModelProperty(value = "视频来源 1直播录制 2 素材上传", required = true)
	private Integer mediaSource;
	//请求ID
	@ApiModelProperty(value = "请求ID", hidden=false,required = false)
	private String requestId;
	//视频分类ID。
	@ApiModelProperty(value = "视频分类  ID", hidden=false,required = false)
	private String cateId;
	//素材资源大小,单位：字节。
	@ApiModelProperty(value = "素材资源大小,单位：字节。",hidden=false,required = false)
	private Long mediaSize;
	//源文件时长 ，单位:秒
	@ApiModelProperty(value = "源文件时长 ，单位:秒。",hidden=false,required = false)
	private Float mediaDuration;
	//源文件宽 ，源片为纯音频不会该字段
	@ApiModelProperty(value = "源文件宽 ，源片为纯音频不会该字段。",hidden=false,required = false)
	private Integer mediaWidth;
	//源文件高 ，源片为纯音频不会有该字段
	@ApiModelProperty(value = "源文件高 ，源片为纯音频不会有该字段。",hidden=false,required = false)
	private Integer mediaHeight;
	//源文件码率 ，单位:Kbps
	@ApiModelProperty(value = "源文件码率 ，单位:Kbps。",hidden=false,required = false)
	private String mediaBitrate;
	//源文件帧率 ，每秒多少帧，源片为纯音频不会有该字段
	@ApiModelProperty(value = "源文件帧率 ，每秒多少帧，源片为纯音频不会有该字段。",hidden=false,required = false)
	private String mediaFps;
	//视频快照
	@ApiModelProperty(value = "视频快照。",required = false)
	private String mediaSnapshots;
	//源文件唯一标识
	@ApiModelProperty(value = "源文件唯一标识",required = false)
	private String oriFileIdentifier;
	//文件原名称
	@ApiModelProperty(value = "文件原名称。",required = false)
	private String oriFileName;
	//视频快照
	@ApiModelProperty(value = "封面。",required = false)
	private String coverUrl;
	//标签 单个标签不超过32字节,最多不超过16个标签,多个用","分隔。
	@ApiModelProperty(value = "标签 ,多个用','分隔。",hidden=true,required = false)
	private String tags;
	//媒资ID
	@ApiModelProperty(value = "媒资ID。",required = false)
	private String mediaId;
	//媒资地址。如果配置了CDN域名则返回CDN地址，否则为OSS地址。
	@ApiModelProperty(value = "媒资地址。",hidden=true,required = false)
	private String mediaUrl;
	@TableField(exist=false)
	@ApiModelProperty(value = "媒资原始文件地址。",hidden=true,required = false)
	private String oriMediaUrl;
	//素材描述。
	@ApiModelProperty(value = "素材描述。",required = false)
	private String description;
	//状态 0 上传中 1上传成功 2 上传失败
	@ApiModelProperty(value = "状态 0 上传中 1上传成功 2 上传失败。",hidden=true,required = false)
	private Integer state;
	//创建日期
	@ApiModelProperty(value = "创建日期。",hidden=true,required = false)
	private Date createDate;
	//创建人
	@ApiModelProperty(value = "创建人。",hidden=true,required = false)
	private Long creatorId;
	//修改时间
	@ApiModelProperty(value = "修改时间。",hidden=true,required = false)
	private Date lastUpdateDate;
	//修改人
	@ApiModelProperty(value = "修改人。",hidden=true,required = false)
	private Long lastUpdateUser;
	//是否删除 0 未删除 1删除
	@ApiModelProperty(value = "是否删除 0 未删除 1删除。",hidden=true,required = false)
	private Integer isDelete;
	//修改人
	@TableField(exist=false)
	@ApiModelProperty(value = "创建人姓名。",hidden=true,required = false)
	private String creatorName;
	/**
	 * 租户ID
	 * */
	@ApiModelProperty(value = "租户ID")
	private Long tenantId;

	/**
	 * 设置：数据ID
	 */
	public void setId(Integer id) {
		this.id = id;
	}
	/**
	 * 获取：数据ID
	 */
	public Integer getId() {
		return id;
	}
	/**
	 * 设置：标题
	 */
	public void setTitle(String title) {
		this.title = title;
	}
	/**
	 * 获取：标题
	 */
	public String getTitle() {
		return title;
	}
	/**
	 * 设置：素材类型 1视频 2语音 3图片
	 */
	public void setMediaType(Integer mediaType) {
		this.mediaType = mediaType;
	}
	/**
	 * 获取：素材类型 1视频 2语音 3图片
	 */
	public Integer getMediaType() {
		return mediaType;
	}
	/**
	 * 设置：视频来源 1直播录制 2 素材上传
	 */
	public void setMediaSource(Integer mediaSource) {
		this.mediaSource = mediaSource;
	}
	/**
	 * 获取：视频来源 1直播录制 2 素材上传 3云剪辑合成
	 */
	public Integer getMediaSource() {
		return mediaSource;
	}
	/**
	 * 获取：文件原名称
	 */
	public String getOriFileName() {
		return oriFileName;
	}
	/**
	 * 设置：文件原名称
	 */
	public void setOriFileName(String oriFileName) {
		this.oriFileName = oriFileName;
	}
	/**
	 * 获取：封面
	 */
	public String getMediaSnapshots() {
		return mediaSnapshots;
	}
	/**
	 * 设置：封面
	 */
	public void setMediaSnapshots(String mediaSnapshots) {
		this.mediaSnapshots = mediaSnapshots;
	}
	/**
	 * 设置：请求ID
	 */
	public void setRequestId(String requestId) {
		this.requestId = requestId;
	}
	/**
	 * 获取：请求ID
	 */
	public String getRequestId() {
		return requestId;
	}
	/**
	 * 设置：视频分类ID。
	 */
	public void setCateId(String cateId) {
		this.cateId = cateId;
	}
	/**
	 * 获取：视频分类ID。
	 */
	public String getCateId() {
		return cateId;
	}
	/**
	 * 设置：素材资源大小,单位：字节。
	 */
	public void setMediaSize(Long mediaSize) {
		this.mediaSize = mediaSize;
	}
	/**
	 * 获取：素材资源大小,单位：字节。
	 */
	public Long getMediaSize() {
		return mediaSize;
	}
	/**
	 * 设置：源文件时长 ，单位:秒
	 */
	public void setMediaDuration(Float mediaDuration) {
		this.mediaDuration = mediaDuration;
	}
	/**
	 * 获取：源文件时长 ，单位:秒
	 */
	public Float getMediaDuration() {
		return mediaDuration;
	}
	/**
	 * 设置：源文件宽 ，源片为纯音频不会该字段
	 */
	public void setMediaWidth(Integer mediaWidth) {
		this.mediaWidth = mediaWidth;
	}
	/**
	 * 获取：源文件宽 ，源片为纯音频不会该字段
	 */
	public Integer getMediaWidth() {
		return mediaWidth;
	}
	/**
	 * 设置：源文件高 ，源片为纯音频不会有该字段
	 */
	public void setMediaHeight(Integer mediaHeight) {
		this.mediaHeight = mediaHeight;
	}
	/**
	 * 获取：源文件高 ，源片为纯音频不会有该字段
	 */
	public Integer getMediaHeight() {
		return mediaHeight;
	}
	/**
	 * 设置：源文件码率 ，单位:Kbps
	 */
	public void setMediaBitrate(String mediaBitrate) {
		this.mediaBitrate = mediaBitrate;
	}
	/**
	 * 获取：源文件码率 ，单位:Kbps
	 */
	public String getMediaBitrate() {
		return mediaBitrate;
	}
	/**
	 * 设置：源文件帧率 ，每秒多少帧，源片为纯音频不会有该字段
	 */
	public void setMediaFps(String mediaFps) {
		this.mediaFps = mediaFps;
	}
	/**
	 * 获取：源文件帧率 ，每秒多少帧，源片为纯音频不会有该字段
	 */
	public String getMediaFps() {
		return mediaFps;
	}
	/**
	 * 设置：标签 单个标签不超过32字节,最多不超过16个标签,多个用","分隔。
	 */
	public void setTags(String tags) {
		this.tags = tags;
	}
	/**
	 * 获取：标签 单个标签不超过32字节,最多不超过16个标签,多个用","分隔。
	 */
	public String getTags() {
		return tags;
	}
	/**
	 * 获取：视频封面图
	 */
	public String getCoverUrl() {
		return coverUrl;
	}
	/**
	 * 设置：视频封面图
	 */
	public void setCoverUrl(String coverUrl) {
		this.coverUrl = coverUrl;
	}
	/**
	 * 设置：媒资ID
	 */
	public void setMediaId(String mediaId) {
		this.mediaId = mediaId;
	}
	/**
	 * 获取：媒资ID
	 */
	public String getMediaId() {
		return mediaId;
	}
	/**
	 * 设置：媒资地址。如果配置了CDN域名则返回CDN地址，否则为OSS地址。
	 */
	public void setMediaUrl(String mediaUrl) {
		this.mediaUrl = mediaUrl;
	}
	/**
	 * 获取：媒资地址。如果配置了CDN域名则返回CDN地址，否则为OSS地址。
	 */
	public String getMediaUrl() {
		return mediaUrl;
	}

	public String getOriMediaUrl() {
		return oriMediaUrl;
	}

	public void setOriMediaUrl(String oriMediaUrl) {
		this.oriMediaUrl = oriMediaUrl;
	}

	/**
	 * 设置：素材描述。
	 */
	public void setDescription(String description) {
		this.description = description;
	}
	/**
	 * 获取：素材描述。
	 */
	public String getDescription() {
		return description;
	}
	/**
	 * 设置：状态 0 上传中 1正常 2 上传失败 10 转码中 11 转码失败
	 */
	public void setState(Integer state) {
		this.state = state;
	}
	/**
	 * 获取：状态 0 上传中 1正常 2 上传失败 10 转码中 11 转码失败
	 */
	public Integer getState() {
		return state;
	}
	/**
	 * 设置：创建日期
	 */
	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}
	/**
	 * 获取：创建日期
	 */
	public Date getCreateDate() {
		return createDate;
	}
	/**
	 * 设置：创建人
	 */
	public void setCreatorId(Long creatorId) {
		this.creatorId = creatorId;
	}
	/**
	 * 获取：创建人
	 */
	public Long getCreatorId() {
		return creatorId;
	}
	/**
	 * 设置：修改时间
	 */
	public void setLastUpdateDate(Date lastUpdateDate) {
		this.lastUpdateDate = lastUpdateDate;
	}
	/**
	 * 获取：修改时间
	 */
	public Date getLastUpdateDate() {
		return lastUpdateDate;
	}
	/**
	 * 设置：修改人
	 */
	public void setLastUpdateUser(Long lastUpdateUser) {
		this.lastUpdateUser = lastUpdateUser;
	}
	/**
	 * 获取：修改人
	 */
	public Long getLastUpdateUser() {
		return lastUpdateUser;
	}
	/**
	 * 设置：是否删除 0 未删除 1删除
	 */
	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}
	/**
	 * 获取：是否删除 0 未删除 1删除
	 */
	public Integer getIsDelete() {
		return isDelete;
	}
	public String getCreatorName() {
		return creatorName;
	}
	public void setCreatorName(String creatorName) {
		this.creatorName = creatorName;
	}

	public String getOriFileIdentifier() {
		return oriFileIdentifier;
	}

	public void setOriFileIdentifier(String oriFileIdentifier) {
		this.oriFileIdentifier = oriFileIdentifier;
	}

	public Long getTenantId() {
		return tenantId;
	}

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