package com.yice.webadmin.app.dto;

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;

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

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

    /**
     * 版本。
     */
    @ApiModelProperty(value = "版本")
    private Integer datasetVersion;

    /**
     * 导入状态。
     */
    @ApiModelProperty(value = "导入状态")
    private Integer inputStatus;

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

    /**
     * 导出状态。
     */
    @ApiModelProperty(value = "导出状态")
    private Integer outputStatus;

    /**
     * 清洗状态。
     */
    @ApiModelProperty(value = "清洗状态")
    private Integer cleanStatus;

    /**
     * 增强状态。
     */
    @ApiModelProperty(value = "增强状态")
    private Integer enhanceStatus;

    /**
     * 发布状态。
     */
    @ApiModelProperty(value = "发布状态")
    private Integer releaseStatus;

    /**
     * 标注进度。
     */
    @ApiModelProperty(value = "标注进度")
    private Integer markProgress;

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

    /**
     * 标注类型。
     */
    @ApiModelProperty(value = "标注类型")
    private Integer dimensionType;

    /**
     * 模板。
     */
    @ApiModelProperty(value = "模板")
    private Integer template;

    /**
     * 是否继承历史版本。
     */
    @ApiModelProperty(value = "是否继承历史版本")
    private Integer isInherit;

    /**
     * 历史版本。
     */
    @ApiModelProperty(value = "历史版本")
    private Integer hisVersion;

    /**
     * 文件地址。
     */
    @ApiModelProperty(value = "文件地址")
    private String fileUrl;

    /**
     * 版本名称。
     */
    @ApiModelProperty(value = "版本名称")
    private String versionName;
}
