package com.yice.webadmin.app.dto;

import com.yice.common.core.validator.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * PromptTemplateDto对象。
 *
 * @author linking
 * @date 2023-04-13
 */
@ApiModel("PromptTemplateDto对象")
@Data
public class PromptTemplateDto {

    /**
     * 模板ID。
     */
    @ApiModelProperty(value = "模板ID", required = true)
    @NotNull(message = "数据验证失败，模板ID不能为空！", groups = {UpdateGroup.class})
    private Long templateId;

    /**
     * 模板名称。
     */
    @ApiModelProperty(value = "模板名称")
    private String templateName;

    /**
     * 模板标签。
     */
    @ApiModelProperty(value = "模板标签")
    private String templateLabel;

    /**
     * 浏览量。
     */
    @ApiModelProperty(value = "浏览量")
    private Long viewCount;

    /**
     * 模板内容。
     */
    @ApiModelProperty(value = "模板内容")
    private String templateContent;

    /**
     * 模板来源。
     */
    @ApiModelProperty(value = "模板来源")
    private Integer templateSource;

    /**
     * 场景类型。
     */
    @ApiModelProperty(value = "场景类型")
    private Integer scenarioType;

    /**
     * 参数格式。
     */
    @ApiModelProperty(value = "参数格式")
    private String parameterFormat;

    /**
     * 接口地址。
     */
    @ApiModelProperty(value = "接口地址")
    private String interfaceAddress;

    /**
     * 模板框架。
     */
    @ApiModelProperty(value = "模板框架")
    private Integer templateFramework;
    /**
     * 是否预置。
     */
    @ApiModelProperty(value = "是否预置模板")
    private Integer isPreset;

    /**
     * 是否预置。
     */
    @ApiModelProperty(value = "是否收藏")
    private Integer isCollect;

    /**
     * 模板变量。
     */
    @ApiModelProperty(value = "模板变量")
    private String templateVariables;

    /**
     * 逆向模板内容。
     */
    @ApiModelProperty(value = "逆向模板内容")
    private String negativeTemplateContent;

    /**
     * 逆向模板变量。
     */
    @ApiModelProperty(value = "逆向模板变量")
    private String negativeTemplateVariables;

    /**
     * template_name / template_content / negative_template_content LIKE搜索字符串。
     */
    @ApiModelProperty(value = "LIKE模糊搜索字符串")
    private String searchString;
}
