package com.vincent.rsf.server.system.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.SpringUtils; import com.vincent.rsf.server.ai.constant.AiSceneCode; import com.vincent.rsf.server.system.service.TenantService; import com.vincent.rsf.server.system.service.UserService; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.Date; @Data @Accessors(chain = true) @TableName("sys_ai_prompt_template") public class AiPromptTemplate implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "ID") @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty(value = "编号") private String uuid; @ApiModelProperty(value = "场景编码") private String sceneCode; @ApiModelProperty(value = "模板名称") private String templateName; @ApiModelProperty(value = "基础提示词") private String basePrompt; @ApiModelProperty(value = "工具提示词") private String toolPrompt; @ApiModelProperty(value = "输出提示词") private String outputPrompt; @ApiModelProperty(value = "版本号") private Integer versionNo; @ApiModelProperty(value = "已发布 1:是 0:否") private Integer publishedFlag; @ApiModelProperty(value = "状态 1:正常 0:冻结") private Integer status; @ApiModelProperty(value = "是否删除 1:是 0:否") @TableLogic private Integer deleted; @ApiModelProperty(value = "租户") private Long tenantId; @ApiModelProperty(value = "添加人员") private Long createBy; @ApiModelProperty(value = "添加时间") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; @ApiModelProperty(value = "修改人员") private Long updateBy; @ApiModelProperty(value = "修改时间") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date updateTime; @ApiModelProperty(value = "备注") private String memo; public String getSceneCode$() { if (AiSceneCode.SYSTEM_DIAGNOSE.equals(this.sceneCode)) { return "系统诊断"; } if (AiSceneCode.GENERAL_CHAT.equals(this.sceneCode)) { return "通用对话"; } return this.sceneCode; } public Boolean getPublishedFlagBool() { if (this.publishedFlag == null) { return null; } return Integer.valueOf(1).equals(this.publishedFlag); } public String getPublishedFlag$() { if (this.publishedFlag == null) { return null; } return Integer.valueOf(1).equals(this.publishedFlag) ? "已发布" : "草稿"; } public Boolean getStatusBool() { if (this.status == null) { return null; } return Integer.valueOf(1).equals(this.status); } public String getTenantId$() { TenantService service = SpringUtils.getBean(TenantService.class); Tenant tenant = service.getById(this.tenantId); if (!Cools.isEmpty(tenant)) { return String.valueOf(tenant.getName()); } return null; } public String getCreateBy$() { UserService service = SpringUtils.getBean(UserService.class); User user = service.getById(this.createBy); if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return null; } public String getCreateTime$() { if (Cools.isEmpty(this.createTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } public String getUpdateBy$() { UserService service = SpringUtils.getBean(UserService.class); User user = service.getById(this.updateBy); if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return null; } public String getUpdateTime$() { if (Cools.isEmpty(this.updateTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } }