package com.yice.webadmin.app.vo;

import com.yice.common.core.validator.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.Map;

/**
 * DatasetOutputVo对象。
 *
 * @author linking
 * @date 2023-04-13
 */
@ApiModel("DatasetOutputVo对象")
@Data
public class DatasetOutputVo {

    /**
     * 导出任务ID。
     */
    @ApiModelProperty(value = "导出任务ID", required = true)
    @NotNull(message = "数据验证失败，导出任务ID不能为空！", groups = {UpdateGroup.class})
    private Long outputId;

    /**
     * 导出位置。
     */
    @ApiModelProperty(value = "导出位置", required = true)
    private String outputPostion;

    /**
     * 导出格式类型。
     */
    @ApiModelProperty(value = "导出格式类型")
    private String markFormatType;

    /**
     * 导出内容。
     */
    @ApiModelProperty(value = "导出内容")
    private String outputContent;

    /**
     * 文件大小。
     */
    @ApiModelProperty(value = "文件大小")
    private String fileSize;

    /**
     * 数据量。
     */
    @ApiModelProperty(value = "数据量")
    private Long dataCount;

    /**
     * 创建人。
     */
    @ApiModelProperty(value = "创建人")
    private Long createUserId;

    /**
     * 导出开始时间。
     */
    @ApiModelProperty(value = "导出开始时间")
    private Date outputStartTime;

    /**
     * 导出完成时间。
     */
    @ApiModelProperty(value = "导出完成时间")
    private Date outputEndTime;

    /**
     * 状态。
     */
    @ApiModelProperty(value = "状态")
    private Integer status;

    /**
     * 下载地址。
     */
    @ApiModelProperty(value = "下载地址")
    private String downloadUrl;

    /**
     * 版本ID。
     */
    @ApiModelProperty(value = "版本ID")
    private Long versionId;

    /**
     * 创建人名称。
     */
    @ApiModelProperty(value = "创建人名称")
    private Map<String, Object> createUserIdDictMap;
}
