package com.taais.biz.domain.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.taais.biz.domain.Data;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

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

/**
 * 数据管理业务对象 data
 *
 * @author km
 * @date 2024-04-22
 */
@lombok.Data
//@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = Data.class, reverseConvertGenerate = false)
public class DataBo {
    /**
     * id
     */

    private Long id;

    /**
     * 名称
     */
    @NotBlank(message = "名称不能为空")
    private String name;

//    /**
//     * 数据类型
//     */
//    @NotBlank(message = "数据类型不能为空")
//    private String dataType;

//    /**
//     * 文件类型
//     */
//    @NotBlank(message = "文件类型不能为空")
//    private String fileType;

    /**
     * 目标类型
     */
    @NotBlank(message = "目标类型不能为空")
    private String objectType;

    /**
     * 目标子类型
     */
    @NotBlank(message = "目标子类型不能为空")
    private String objectSubtype;

    /**
     * 批次号
     */
    private String batchNum;

    /**
     * 场景
     */
    @NotBlank(message = "场景不能为空")
    private String scene;

    /**
     * 数据源
     */
    @NotBlank(message = "数据源不能为空")
    private String dataSource;

    /**
     * 采集时间
     */
    @NotNull(message = "采集时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date gatherTime;

    /**
     * 采集地点
     */
    @NotBlank(message = "采集地点不能为空")
    private String gatherSpot;

    /**
     * 图片url
     */
    private String url;

    /**
     * 标注url
     */
    private String labelurl;

//    /**
//     * 扩增方式
//     */
//    @NotBlank(message = "扩增方式不能为空")
//    private String increment;

    /**
     * 是否标注
     */
    private Boolean labeled;

    private List<Long> selectedIds;

}
