package com.platform.modules.live.vo;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldStrategy;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import java.util.Date;
import java.util.List;

/**
 * @author MXY
 * 2020/3/31 17:09
 */
@Data
@ApiModel(value = "拖动排序对象")
public class SceneSortEntityVo {

    private static final long serialVersionUID = 1L;

    //数据ID
    @NotBlank(message = "id不能为空")
    @ApiModelProperty(value = "数据ID")
    private Integer id;
    //现场标题
    @NotBlank(message = "title不能为空")
    @ApiModelProperty(value = "现场标题")
    private String title;
    //现场类型
    @NotBlank(message = "sceneType不能为空")
    @ApiModelProperty(value = "现场类型")
    private Integer sceneType;
    //标题图
    @NotBlank(message = "titleImage不能为空")
    @ApiModelProperty(value = "标题图")
    private String titleImage;
    //视频地址
    @NotBlank(message = "videoUrl")
    @ApiModelProperty(value = "视频地址")
    private String videoUrl;
    //现场简介
    @NotBlank(message = "liveDesc不能为空")
    @ApiModelProperty(value = "现场简介")
//	@TableField(strategy=FieldStrategy.IGNORED)
    private String liveDesc;
    //现场简介链接
    @NotBlank(message = "liveDescHref不能为空")
    @ApiModelProperty(value = "现场简介链接")
    private String liveDescHref;
    //直播时间
    @NotBlank(message = "liveStart不能为空")
    @ApiModelProperty(value = "直播时间")
    private Date liveStart;
    //直播地点
    @NotBlank(message = "livePosition不能为空")
    @ApiModelProperty(value = "直播地点")
    private String livePosition;
    //直播状态
    @NotBlank(message = "liveState不能为空")
    @ApiModelProperty(value = "直播状态")
    private Integer liveState;
    //现场备注
    @NotBlank(message = "sceneMark不能为空")
    @ApiModelProperty(value = "现场备注")
//	@TableField(strategy=FieldStrategy.IGNORED)
    private String sceneMark;
    //现场状态
    @NotBlank(message = "sceneState不能为空")
    @ApiModelProperty(value = "现场状态")
    private Integer sceneState;
    //导播状态
    @NotBlank(message = "directState不能为空")
    @ApiModelProperty(value = "导播状态")
    private Integer directState;
    //流程ID
    @NotBlank(message = "processId不能为空")
    @ApiModelProperty(value = "流程ID")
    private Integer processId;
    //现场唯一标识
    @NotBlank(message = "sceneSign不能为空")
    @ApiModelProperty(value = "现场唯一标识")
    private String sceneSign;
    //提交审核时间
    @NotBlank(message = "submitDate不能为空")
    @ApiModelProperty(value = "提交审核时间")
    private Date submitDate;
    //创建时间
    @NotBlank(message = "createDate不能为空")
    @ApiModelProperty(value = "创建时间")
    private Date createDate;
    //创建人
    @NotBlank(message = "creatorId不能为空")
    @ApiModelProperty(value = "创建人")
    private Integer creatorId;
    //修改时间
    @NotBlank(message = "updateDate不能为空")
    @ApiModelProperty(value = "修改时间")
    private Date updateDate;
    //修改人
    @NotBlank(message = "updatorId不能为空")
    @ApiModelProperty(value = "修改人")
    private Integer updatorId;
    //是否删除
    @NotBlank(message = "deleteFlag不能为空")
    @ApiModelProperty(value = "是否删除")
    private Integer deleteFlag;
    //导播开始时间
    @NotBlank(message = "directStart不能为空")
    @ApiModelProperty(value = "导播开始时间")
    private Date directStart;
    //导播结束时间
    @NotBlank(message = "directEnd不能为空")
    @ApiModelProperty(value = "导播结束时间")
    private Date directEnd;
    //导播室ID
    //@NotBlank(message = "casterId不能为空")
    @ApiModelProperty(value = "导播室ID")
    private Integer casterId;
    @ApiModelProperty(value = "导播室")
    private Integer caster;
    //直播结束时间
    @NotBlank(message = "liveEnd不能为空")
    @ApiModelProperty(value = "直播结束时间")
    private Date liveEnd;
    //允许评论
    @NotBlank(message = "allowComment不能为空")
    @ApiModelProperty(value = "允许评论")
    private Integer allowComment;

    @ApiModelProperty(value = "")
    private String creatorName;
    //总访问数
    @ApiModelProperty(value = "总访问数")
    private Integer views;
    //前端显示访问数
    @ApiModelProperty(value = "前端显示访问数")
    private Integer viewsShow;
    //总评论数
    @ApiModelProperty(value = "总评论数")
    private Integer comments;
    //前端显示评论数
    @ApiModelProperty(value = "前端显示评论数")
    private Integer commentsShow;

    @ApiModelProperty(value = "实际开始时间")
    private Date actualLiveStart;
    @ApiModelProperty(value = "实际结束时间")
    private Date actualLiveEnd;
    //是否置顶 0未置顶 1 置顶
    @ApiModelProperty(value = "是否置顶 0未置顶 1 置顶")
    private Integer isTop;
    //排序，数字越大，排序越靠前
    @ApiModelProperty(value = "排序，数字越大，排序越靠前")
    private Integer priority;
    //实际审核人Id
    @NotBlank(message = "实际审核人Id")
    @ApiModelProperty(value = "实际审核人Id")
    private Integer auditorId;
    //审核时间
    @NotBlank(message = "审核时间")
    @ApiModelProperty(value = "审核时间")
    private Date auditDate;
    /*	//审核人名（多人）
        @ApiModelProperty(value = "审核人名（多选）")
        private String auditorsName;*/
    //栏目名称（多选）
    @ApiModelProperty(value = "栏目名称（多选）")
    private String channelsName;
    //栏目ID
    @ApiModelProperty(value = "栏目ID")
    private List<Integer> channelIdList;
    //栏目名称
    @ApiModelProperty(value = "栏目名称;")
    private List<String> channelNameList;
    //栏目ID
    @ApiModelProperty(value = "栏目ID")
    private String channelsId;
    /**
     * 租户ID
     * */
    @ApiModelProperty(value = "租户ID")
    private Long tenantId;
    /**
     * 机构名称
     * */
    @ApiModelProperty(value = "机构名称")
    private String tenantName;
    /**
     * 拖动排序标识
     * */
    @ApiModelProperty(value = "拖动排序标识")
    private long dragSort;

}
