package com.platform.modules.video.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.platform.common.utils.ShiroUtils;
import io.swagger.models.auth.In;

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

/**
 * 
 * 
 * @author yikaihong
 * @date 2018-06-27 14:20:18
 */
@TableName("plm_video")
public class VideoEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 */
	@TableId
	private Integer id;
	/**
	 * 标题图
	 */
	private String titleImg;
	/**
	 * 标题
	 */
	private String title;
	/**
	 * 视频摘要
	 */
	private String digest;
	/**
	 * 审核意见
	 */
	private String opinion;
	/**
	 * 文件大小
	 */

	private String fileSize;
	/**
	 * 时长
	 */
	private String durationTime;
	/**
	 * 发布渠道
	 */
	private String publishChannel;
	/**
	 * 创建方式
	 */
	private String createMethod;
	/**
	 * 视频的状态(0，草稿，1，审核中，2，成品)
	 */
	private Integer status;
	/**
	 * 视频的类型
	 */
	private String videoType;
	/**
	 * 时间
	 */
	private Date date;
	/**
	 * 服务器的视频路径
	 */
	private String serverVideoPath;
	/**
	 * 创建日期
	 */
	private Date createDate;
	/**
	 * 创建人
	 */
	private Integer createUser;
	/**
	 * 修改日期
	 */
	private Date updateDate;
	/**
	 * 修改人
	 */
	private Integer updateUser;
	/**
	 * 是否删除
	 */
	@TableField(value = "is_delete")
	private Integer delete;

	/**
	 * 设置：
	 */
	public void setId(Integer id) {
		this.id = id;
	}
	/**
	 * 获取：
	 */
	public Integer getId() {
		return id;
	}
	/**
	 * 设置：标题图
	 */
	public void setTitleImg(String titleImg) {
		this.titleImg = titleImg;
	}
	/**
	 * 获取：标题图
	 */
	public String getTitleImg() {
		return titleImg;
	}
	/**
	 * 设置：标题
	 */
	public void setTitle(String title) {
		this.title = title;
	}
	/**
	 * 获取：标题
	 */
	public String getTitle() {
		return title;
	}
	/**
	 * 设置：文件大小
	 */
	public void setFileSize(String fileSize) {
		this.fileSize = fileSize;
	}
	/**
	 * 获取：文件大小
	 */
	public String getFileSize() {
		return fileSize;
	}
	/**
	 * 设置：时长
	 */
	public void setDurationTime(String durationTime) {
		this.durationTime = durationTime;
	}
	/**
	 * 获取：时长
	 */
	public String getDurationTime() {
		return durationTime;
	}
	/**
	 * 设置：发布渠道
	 */
	public void setPublishChannel(String publishChannel) {
		this.publishChannel = publishChannel;
	}
	/**
	 * 获取：发布渠道
	 */
	public String getPublishChannel() {
		return publishChannel;
	}
	/**
	 * 设置：创建方式
	 */
	public void setCreateMethod(String createMethod) {
		this.createMethod = createMethod;
	}
	/**
	 * 获取：创建方式
	 */
	public String getCreateMethod() {
		return createMethod;
	}
	/**
	 * 设置：视频的状态(0，草稿，1，审核中，2，成品)
	 */
	public void setStatus(Integer status) {
		this.status = status;
	}
	/**
	 * 获取：视频的状态(0，草稿，1，审核中，2，成品)
	 */
	public Integer getStatus() {
		return status;
	}
	/**
	 * 设置：视频的类型
	 */
	public void setVideoType(String videoType) {
		this.videoType = videoType;
	}
	/**
	 * 获取：视频的类型
	 */
	public String getVideoType() {
		return videoType;
	}
	/**
	 * 设置：时间
	 */
	public void setDate(Date date) {
		this.date = date;
	}
	/**
	 * 获取：时间
	 */
	public Date getDate() {
		return date;
	}
	/**
	 * 设置：服务器的视频路径
	 */
	public void setServerVideoPath(String serverVideoPath) {
		this.serverVideoPath = serverVideoPath;
	}
	/**
	 * 获取：服务器的视频路径
	 */
	public String getServerVideoPath() {
		return serverVideoPath;
	}
	/**
	 * 设置：创建日期
	 */
	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}
	/**
	 * 获取：创建日期
	 */
	public Date getCreateDate() {
		return createDate;
	}
	/**
	 * 设置：创建人
	 */
	public void setCreateUser(Integer createUser) {
		this.createUser = createUser;
	}
	/**
	 * 获取：创建人
	 */
	public Integer getCreateUser() {
		return createUser;
	}
	/**
	 * 设置：修改日期
	 */
	public void setUpdateDate(Date updateDate) {
		this.updateDate = updateDate;
	}
	/**
	 * 获取：修改日期
	 */
	public Date getUpdateDate() {
		return updateDate;
	}
	/**
	 * 设置：修改日期
	 */
	public void setUpdateUser(Integer updateUser) {
		this.updateUser = updateUser;
	}
	/**
	 * 获取：修改日期
	 */
	public Integer getUpdateUser() {
		return updateUser;
	}
	/**
	 * 设置：是否删除
	 */
	public void setDelete(Integer delete) {
		this.delete = delete;
	}
	/**
	 * 获取：是否删除
	 */
	public Integer getDelete() {
		return delete;
	}


	public String getDigest() {
		return digest;
	}

	public void setDigest(String digest) {
		this.digest = digest;
	}

	public String getOpinion() {
		return opinion;
	}

	public void setOpinion(String opinion) {
		this.opinion = opinion;
	}

	/**
	 *
	 * 初始化调用
	 */
	public void init(){
		Date currentDate = new Date();
		Long currentUser = ShiroUtils.getUserId();
		// 添加
		if(getId() == null){
			setCreateDate(currentDate);
			setCreateUser(currentUser.intValue());
			return;
		}
		setUpdateDate(currentDate);
		setUpdateUser(currentUser.intValue());
	}
}
