package com.ai.da.model.dto;

import io.swagger.v3.oas.annotations.media.Schema;

import com.ai.da.mapper.primary.entity.Gradient;
import lombok.Data;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

@Data
public class DesignSingleItemDTO implements Serializable {

    @NotNull(message = "id.cannot.be.empty")
    @Schema(description = "切换图片对应的id")
    private Long id;

    @NotEmpty(message = "changed cannot be empty")
    @Schema(description = "当前服装的id是否被添加随机数")
    private Boolean changed;

    @NotBlank(message = "designType cannot be empty")
    @Schema(description = "当前图片来源于用户上传还是从library选择 Collection/Library")
    private String designType;

    @NotBlank(message = "type.cannot.be.empty")
    @Schema(description = "生成item实际对应的类型 有:Outwear,Dress,Blouse,Skirt,Trousers Shoes Hairstyle Earring")
    private String type;

    @Schema(description = "对应的图片的minIO路径")
    private String path;

    @Schema(description = "颜色 存 RGB值 中间空格分隔 比如 \"58 58 169\"")
    private String color;

    @Schema(description = "对应的print图片对象")
//    private DesignPythonItemPrint printObject;
    private DesignSinglePrintDTO printObject;

    @Schema(description = "图层位置")
    private List<Long> offset;

    @Schema(description = "图层缩放比例")
    private Float[] scale;

    @NotNull(message = "priority.cannot.be.empty")
    @Schema(description = "图层优先级")
    private Integer priority;

    @Schema(description = "渐变 颜色")
    private Gradient gradient;

    @Schema(description = "画笔修改过的sketch图片的base64格式的数据")
    private String sketchString;

    @Schema(description = "衣服上的装饰")
    private DesignSinglePrintDTO trims;

    @Schema(description = "标注后的mask 的base64")
    private String maskUrl;

    @Schema(description = "mask 的minio地址")
    private String maskMinioUrl;

    private PartialDesignDTO partialDesign;

}
