package com.microservices.cms.doc.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author otto
 */
@Data
@ApiModel("文章基础信息")
public class CmsDocBaseDto {
    /**
     * 文章标识
     */
    @ApiModelProperty("文章标识")
    private Long id;

    @ApiModelProperty("组织Id")
    private Long deptId;
    /**
     * 文章名称
     */
    @ApiModelProperty("文章名称")
    private String name;
    /**
     * 文章头图
     */
    @ApiModelProperty("文章头图")
    private String headImg;

    /**
     * 文章概要
     */
    @ApiModelProperty("文章概要")
    private String summary;
    /**
     * 发布时间
     */
    @ApiModelProperty("发布时间")
    private String publishTime;
    /**
     * 发布人
     */
    @ApiModelProperty("发布人")
    private String publishUser;
    /**
     * 发布人头像
     */
    @ApiModelProperty("发布人头像")
    private String publishUserImage;
    /**
     * 发布人访问地址
     */
    @ApiModelProperty("发布人访问地址")
    private String publishUserUrl;

    @ApiModelProperty("发布人昵称")
    private String publishUserNickname;
    /**
     * 浏览量
     */
    @ApiModelProperty("浏览量")
    private Long visits;
    /**
     * 文本编辑器类型
     */
    @ApiModelProperty("文本编辑器类型")
    private String editorType;
    /**
     * 是否首页展示（0代表不展示 1代表展示）
     */
    @ApiModelProperty("是否首页展示（0代表不展示 1代表展示）")
    private String isHomepage;
    /**
     * 文章前台访问地址
     */
    @ApiModelProperty("文章前台访问地址")
    private String docDetailUrl;

    /**
     * 审核状态（0：审核不通过，1：审核通过 2:待审核）
     */
    @ApiModelProperty("审核状态（0：审核不通过，1：审核通过 2:待审核）")
    private String auditStatus;


    @ApiModelProperty("文章审核类型-原文章id,文章审核类型：create || update || delete ")
    private String auditType;

    @ApiModelProperty("true可编辑  false不可编辑")
    private Boolean editable;

    @ApiModelProperty("文章创建者")
    private String createBy;
    /**
     * 关键词
     */
    @ApiModelProperty("关键词")
    private String keywords;

    public void setPublishTime(Date publishTime) {
        if (publishTime != null) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
            this.publishTime = simpleDateFormat.format(publishTime);
        }
    }
}
