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.NotNull;

@Data
@ApiModel("GenerateThroughImageTextDTO")
public class GenerateThroughImageTextDTO {
    @NotNull(message = "userId cannot be empty")
    @ApiModelProperty("用户id")
    private Long userId;

    @ApiModelProperty("caption | prompt")
    private String text;

    @ApiModelProperty("图片在t_collection_element表中的id")
    private Long collectionElementId;

    // todo 后续取消这个字段的传输，由后端自行判断相关参数是否有值
//    @NotBlank(message = "you have to choose the generate type")
    @ApiModelProperty("text  image  text-image")
    private String generateType;

    @ApiModelProperty("图片来源：update，从library中选择,从toProductImage结果中选择 collection || library || productImage")
    private String designType;

    @NotBlank(message = "level1Type cannot be empty!")
    @ApiModelProperty("Moodboard Printboard Sketchboard MarketingSketch")
    private String level1Type;

    @ApiModelProperty("Outwear Dress Blouse Skirt Trousers || Logo Slogan Pattern")
    private String level2Type;

    @ApiModelProperty("性别")
    private String gender;


    @ApiModelProperty("选择的模型名 high || fast || wx || fp")
    private String modelName;

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

    @ApiModelProperty("唯一id，用于保持消息唯一性")
    private String uniqueId;

    @NotNull(message = "Please check if the required fields are empty.(isTestUser)")
    @ApiModelProperty("是否是测试用户")
    private Boolean isTestUser;

    @ApiModelProperty("页面上用户设计的slogan所截的图片")
    private String sloganBase64;

    @ApiModelProperty("种子 取值范围 0~500")
    private String seed;

    @ApiModelProperty("年龄区间 Adult || Child")
    private String ageGroup = "Adult";
}
