package com.ai.da.model.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

@Data
@ApiModel("重新设计Collection 入参")
public class ReDesignCollectionDTO {

    @ApiModelProperty("collectionId")
    private Long collectionId;

    @ApiModelProperty("情绪板图片 数组")
    private List<DesignCollectionElementDTO> moodBoards;

    @ApiModelProperty("印花板图片 数组")
    private List<DesignCollectionPrintElementDTO> printBoards;

    @NotEmpty(message = "colorBoards.cannot.be.empty")
    @ApiModelProperty("颜色板RGB值 数组")
    private List<CollectionColorDTO> colorBoards;

    @ApiModelProperty("手稿板图片id  数组")
    private List<CollectionSketchDTO> sketchBoards;

    @ApiModelProperty("市场手稿板图片id  数组")
    private List<DesignCollectionElementDTO> marketingSketchs;

    @NotNull(message = "systemScale.cannot.be.empty")
    @ApiModelProperty("系统取图比列")
    private BigDecimal systemScale;

//    @NotNull(message = "templateId.cannot.be.empty")
    @ApiModelProperty("模特ID")
    private Long templateId;

//    @NotBlank(message = "modelType.cannot.be.empty")
    @ApiModelProperty("模特类型:System,Library")
    private String modelType;

    @NotBlank(message = "modelSex.cannot.be.empty")
    @ApiModelProperty("模特性别")
    private String modelSex;

    @NotBlank(message = "singleOverall.cannot.be.empty")
    @ApiModelProperty("控制生成类型的参数，两个选项：outfit时候传 single , 另外一个传 overall")
    private String singleOverall;

    @ApiModelProperty("single模式下的类别选择参数 选项有outwear,dress,blouse,skirt,trousers")
    private String switchCategory;

    @NotBlank(message = "timeZone.cannot.be.empty")
    @ApiModelProperty("本地时区,比如 'Asia/Tokyo' 东京时间 , 'Asia/Shanghai' 北京时间 由js本地获取")
    private String timeZone;

    @NotBlank(message = "processId.cannot.be.empty")
    @ApiModelProperty("python端design进程ID")
    private String processId;

    private String moodboardPosition;

    private String moodTemplateId;

    private List<String> requestIdList;

    private Integer designNum;
}
