package com.mcwl.resource.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@Data
@ApiModel(description = "图片请求对象")
public class ModelImageVo {
    /**
     * 图片ID
     */
    @ApiModelProperty(value = "图片id", required = true)
    private Long id;
    /**
     * 用户ID
     */
    @ApiModelProperty(value = "用户id", required = true)
    private Long userId;
    /**
     * 用户名称
     */
    @ApiModelProperty(value = "用户名称", required = true)
    private String userName;
    /**
     * 用户头像
     */
    @ApiModelProperty(value = "用户头像", required = true)
    private String userAvatar;
    /**
     * 图片地址（最多8张，切割）
     */
    @ApiModelProperty(value = "图片地址（最多8张，切割）")
    private String imagePaths;
    /**
     * 是否添加水印
     */
    @ApiModelProperty(value = "是否添加水印")
    private Integer hasWatermark;
    /**
     * 是否会员下载
     */
    @ApiModelProperty(value = "是否会员下载")
    private Integer isMemberDownload;
    /**
     * 是否不可下载
     */
    @ApiModelProperty(value = "是否不可下载")
    private Integer isNotDownloadable;
    /**
     * 是否隐藏生成信息
     */
    @ApiModelProperty(value = "是否隐藏生成信息")
    private Integer hideGenInfo;

    /**
     * 图片标题（最多30字）
     */
    @ApiModelProperty(value = "图片标题（最多30字）")
    private String title;
    /**
     * 图片标签（多个，切割）
     */
    @ApiModelProperty(value = "图片标签（多个，切割）")
    private List<String> tags = new ArrayList<>();
    /**
     * 描述信息（最多500）
     */
    @ApiModelProperty(value = "描述信息（最多500）")
    private String description;
    /**
     * 在线生成数
     */
    @ApiModelProperty(value = "在线生成数")
    private Integer onlineGenNum;
    /**
     * 下载数
     */
    @ApiModelProperty(value = "下载数")
    private Integer downloadNum;
    /**
     * 返图数
     */
    @ApiModelProperty(value = "返图数")
    private Integer returnNum;
    /**
     * 点赞数
     */
    @ApiModelProperty(value = "点赞数")
    private Integer likeNum;

    /**
     * 是否置顶
     */
    @ApiModelProperty(value = "是否置顶")
    private Integer isTop;

    /**
     * 是否点赞
     */
    @ApiModelProperty(value = "是否点赞")
    private Integer isLike;

    /**
     * 审核状态
     */
    @ApiModelProperty(value = "审核状态")
    private Integer auditStatus;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
}
