package com.sonic.cow.domain.input;

import com.sonic.cow.enums.PromptTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;

/**
 * 生成AI人物的基础信息入参
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class GenAiUserContentInput {

    @ApiParam(value = "昵称")
    private String nickname;

    @ApiParam(value = "性别（英文）")
    private String sex;

    @ApiParam(value = "生日（yyyy-MM-dd）")
    private String birthday;

    @ApiParam(value = "年龄")
    private Integer age;

    @ApiParam(value = "性格（字典代码）")
    private String characterCode;

    @ApiParam(value = "标签（字典代码）")
    private String tagCode;

    @ApiModelProperty("ai的人物基础信息（背景、性格、身份）")
    private String figure;

    @ApiModelProperty("ai对话风格（角色的聊天方式、对话语气）")
    private String dialogue;

    @ApiModelProperty("ai开场白信息")
    private String prologue;

    @ApiModelProperty("ai形象描述信息（肤色、服饰、发型、五官、动作、背景等）")
    private String appearance;

    @ApiModelProperty("ai的个人简介")
    private String introduction;

    @NotNull
    @ApiModelProperty("提示词类型")
    private PromptTypeEnum ptType;

}
