package com.yonge.cooleshow.cms.dal.entity;

import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 对应数据库表(sys_news_information):
 */
public class SysNewsInformation {

	/**  */
	private Long id;

	/** 标题 */
	@ApiModelProperty(value = "标题", required = true)
	@NotBlank(message = "标题不能为空")
	private String title;

	/** 内容 */
	@ApiModelProperty(value = "内容", required = true)
	private String content;

	/** 封面图片 */
	@ApiModelProperty(value = "封面图片", required = false)
	private String coverImage;

	/** 视频封面图片 */
	@ApiModelProperty(value = "视频封面图片", required = false)
	private String videoCoverImage;

	/** 类型 */
	@ApiModelProperty(value = "类型,1热门资讯,2开屏广告，3闪页管理，4轮播图管理 5app按钮管理", required = true)
	@NotNull(message = "类型不能为空")
	private Integer type;
	
	@ApiModelProperty(value = "子类型  章节id ", required = false)
	private Integer subType;

	/** 状态（1-可见 0-不可见） */
	@ApiModelProperty(value = "状态（1-启用 0-禁用）")
	private NewsStatusEnum status;

	@ApiModelProperty(value = "链接地址")
	private String linkUrl;

	@ApiModelProperty(value = "跳转类型_bank,_slef")
	private String hrefTarget;

	@ApiModelProperty(value = "顺序号", required = true)
	private Integer order;
	
	@ApiModelProperty(value = "上线、生效时间", required = false)
	private Date onlineTime;
	
	@ApiModelProperty(value = "下线时间", required = false)
	private Date offlineTime;

	@ApiModelProperty("展示时间")
	private Integer showTime;
	/**  */
	private java.util.Date createTime;


	@ApiModelProperty(value = "创建人id",hidden = true)
	private Long createBy;

	@ApiModelProperty(value = "修改人id",hidden = true)
	private Long updateBy;

	/**  */
	private java.util.Date updateTime;

	@ApiModelProperty(value = "备注", required = false)
	private String memo;

	private Boolean delFlag= false;

	@ApiModelProperty("版本号")
	private String attribute1;

	@ApiModelProperty("广告类型  IMAGE:图片，VIDEO:视频")
	private String attribute2;
	
	private String subjectIdList;
	
	private String subjectName;

	public Integer getShowTime() {
		return showTime;
	}

	public void setShowTime(Integer showTime) {
		this.showTime = showTime;
	}

	public Long getCreateBy() {
		return createBy;
	}

	public void setCreateBy(Long createBy) {
		this.createBy = createBy;
	}

	public Long getUpdateBy() {
		return updateBy;
	}

	public void setUpdateBy(Long updateBy) {
		this.updateBy = updateBy;
	}

	public String getLinkUrl() {
		return linkUrl;
	}

	public void setLinkUrl(String linkUrl) {
		this.linkUrl = linkUrl;
	}

	public String getHrefTarget() {
		return hrefTarget;
	}

	public void setHrefTarget(String hrefTarget) {
		this.hrefTarget = hrefTarget;
	}

	public Integer getOrder() {
		return order;
	}

	public void setOrder(Integer order) {
		this.order = order;
	}

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

	public Long getId() {
		return this.id;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getTitle() {
		return this.title;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getContent() {
		return this.content;
	}

	public void setCoverImage(String coverImage) {
		this.coverImage = coverImage;
	}

	public String getCoverImage() {
		return this.coverImage;
	}

	public String getVideoCoverImage() {
		return videoCoverImage;
	}

	public void setVideoCoverImage(String videoCoverImage) {
		this.videoCoverImage = videoCoverImage;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public Integer getType() {
		return this.type;
	}

	public NewsStatusEnum getStatus() {
		return status;
	}

	public void setStatus(NewsStatusEnum status) {
		this.status = status;
	}

	public void setCreateTime(java.util.Date createTime) {
		this.createTime = createTime;
	}

	public java.util.Date getCreateTime() {
		return this.createTime;
	}

	public void setUpdateTime(java.util.Date updateTime) {
		this.updateTime = updateTime;
	}

	public java.util.Date getUpdateTime() {
		return this.updateTime;
	}

	public String getMemo() {
		return memo;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}

	public Boolean getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(Boolean delFlag) {
		this.delFlag = delFlag;
	}

	public Integer getSubType() {
		return subType;
	}

	public void setSubType(Integer subType) {
		this.subType = subType;
	}

	public String getAttribute1() {
		return attribute1;
	}

	public void setAttribute1(String attribute1) {
		this.attribute1 = attribute1;
	}

	public String getAttribute2() {
		return attribute2;
	}

	public void setAttribute2(String attribute2) {
		this.attribute2 = attribute2;
	}

	public Date getOnlineTime() {
		return onlineTime;
	}

	public void setOnlineTime(Date onlineTime) {
		this.onlineTime = onlineTime;
	}

	public Date getOfflineTime() {
		return offlineTime;
	}

	public void setOfflineTime(Date offlineTime) {
		this.offlineTime = offlineTime;
	}

	public String getSubjectIdList() {
		return subjectIdList;
	}

	public void setSubjectIdList(String subjectIdList) {
		this.subjectIdList = subjectIdList;
	}

	public String getSubjectName() {
		return subjectName;
	}

	public void setSubjectName(String subjectName) {
		this.subjectName = subjectName;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
