From f0b4c2807c463698719d2f3de037f2225118cf9a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 12 三月 2026 14:22:46 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/ai/service/impl/AiPromptTemplateServiceImpl.java | 30 ++++++++++++++++++++++++++----
1 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/ai/service/impl/AiPromptTemplateServiceImpl.java b/src/main/java/com/zy/ai/service/impl/AiPromptTemplateServiceImpl.java
index fedfd7f..004d3fb 100644
--- a/src/main/java/com/zy/ai/service/impl/AiPromptTemplateServiceImpl.java
+++ b/src/main/java/com/zy/ai/service/impl/AiPromptTemplateServiceImpl.java
@@ -34,13 +34,15 @@
synchronized (("ai_prompt_scene_init_" + scene.getCode()).intern()) {
prompt = findPublished(scene.getCode());
if (prompt == null) {
- prompt = ensurePublishedScene(scene);
+ if (findLatest(scene.getCode()) == null) {
+ prompt = ensurePublishedScene(scene);
+ }
}
}
}
if (prompt == null) {
- throw new IllegalStateException("鏈壘鍒板凡鍙戝竷鐨� Prompt锛宻ceneCode=" + scene.getCode());
+ throw new IllegalStateException("褰撳墠鍦烘櫙娌℃湁宸插彂甯� Prompt锛宻ceneCode=" + scene.getCode());
}
return prompt;
}
@@ -126,6 +128,26 @@
@Override
@Transactional(rollbackFor = Exception.class)
+ public AiPromptTemplate cancelPublish(Long id, Long operatorUserId) {
+ if (id == null) {
+ throw new IllegalArgumentException("id 涓嶈兘涓虹┖");
+ }
+ AiPromptTemplate db = this.getById(id);
+ if (db == null) {
+ throw new IllegalArgumentException("Prompt 涓嶅瓨鍦�");
+ }
+ if (!Short.valueOf((short) 1).equals(db.getPublished())) {
+ throw new IllegalArgumentException("褰撳墠 Prompt 涓嶆槸宸插彂甯冪姸鎬�");
+ }
+ db.setPublished((short) 0);
+ db.setPublishedBy(operatorUserId);
+ db.setPublishedTime(null);
+ this.updateById(db);
+ return db;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
public boolean deletePrompt(Long id) {
if (id == null) {
return false;
@@ -145,8 +167,8 @@
public int initDefaultsIfMissing() {
int changed = 0;
for (AiPromptScene scene : AiPromptScene.values()) {
- AiPromptTemplate prompt = findPublished(scene.getCode());
- if (prompt == null) {
+ AiPromptTemplate latest = findLatest(scene.getCode());
+ if (latest == null) {
ensurePublishedScene(scene);
changed++;
}
--
Gitblit v1.9.1