package com.emoon.knowledge.domain;


import com.baomidou.mybatisplus.annotation.*;
import com.emoon.common.tenant.core.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * 提示词模板（生产级）对象 prompt_template
 *
 * @author wangkang
 * @date 2026-01-25
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "prompt_template", excludeProperty = {"createDept"})
public class PromptTemplate extends TenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 关联项目ID（关联sys_project表，支持多个项目ID，JSON数组格式字符串，如：["1","2"]）
     */
    private String projectId;

    /**
     * 提示词模板名称
     */
    private String promptName;

    /**
     * 提示词模板正文（支持占位符）
     */
    private String promptContent;

    /**
     * 提示词模板描述（用途、适用场景）
     */
    private String promptDesc;

    /**
     * 提示词类型（如：提取类、生成类、质控类）
     */
    private String promptType;

    /**
     * 模板版本（便于迭代管理）
     */
    @Version
    private String version;

    /**
     * 状态（1-启用；0-禁用）
     */
    private Long status;

    /**
     * 删除标识（0-未删；1-已删）
     */
    @TableLogic
    private String delFlag;


}
