package cn.iocoder.yudao.module.llm.controller.admin.dataset.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 数据集分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class DatasetPageReqVO extends PageParam {

    @Schema(description = "数据集名称", example = "张三")
    private String datasetName;

    @Schema(description = "数据集类型，使用字典（llm_dataset_category_1、llm_dataset_category_2）")
    private Integer datasetCategory;

    @Schema(description = "状态，使用字典（llm_mark_status）", example = "2")
    private Integer status;

    @Schema(description = "数据集描述")
    private String datasetIntro;

    @Schema(description = "数据文件")
    private Long datasetFile;

    @Schema(description = "数据集类型，（1-训练数据集、2-评估数据集）", example = "1")
    private Integer datasetType;

    @Schema(description = "文件URL地址", example = "https://www.iocoder.cn")
    private String datasetFileUrl;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "数据集类型 0 普通 1 官方", example = "1")
    private Integer type;

    @Schema(description = "数据长度", example = "128")
    private Long dataLength;

    @Schema(description = "标注进度", example = "20")
    private Integer annotateProgress;

}
