package com.microservices.zone.resource.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.microservices.system.api.domain.SimpleSysUser;
import com.microservices.zone.resource.domain.ZoneResourceType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @author otto
 */

@Data
@ApiModel("资源数据对象")
public class ZoneResourceDataVo {
    @ApiModelProperty(value = "资源id")
    private Long id;
    @ApiModelProperty(value = "资源名称")
    private String name;
    @ApiModelProperty(value = "资源介绍")
    private String introduction;
    @ApiModelProperty(value = "资源领域Id")
    private Long domainId;
    @ApiModelProperty(value = "资源领域名称")
    private String domainName;
    @ApiModelProperty(value = "资源类型Id列表")
    private Long[] typeIds;
    @ApiModelProperty(value = "资源类型列表")
    private List<ZoneResourceType> zoneResourceTypeList;
    @ApiModelProperty(value = "所属专区")
    private Long zoneId;
    @ApiModelProperty(value = "资源文件Id列表")
    private String fileIds;
    @ApiModelProperty(value = "是否首页展示（0代表不展示 1代表展示）")
    private String isHomepage;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty(value = "创建人")
    private String createBy;
    @ApiModelProperty(value = "创建用户")
    private SimpleSysUser createUser;
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    @ApiModelProperty(value = "附件列表")
    private List<ZoneResourceFileVo> fileList;
    @ApiModelProperty(value = "下载次数")
    private Integer downloadCount;
    /**
     * 文本编辑器类型
     */
    @ApiModelProperty(value = "文本编辑器类型")
    private String editorType;

    @ApiModelProperty(value = "资源简介")
    private String summary;

    @ApiModelProperty(value = "审核状态（0：待审核，1：审核通过 2：审核不通过）")
    private String auditStatus;
    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    private Date auditTime;
    @ApiModelProperty(value = "审核人")
    private String auditBy;
}
