|
@@ -55,9 +55,18 @@ public class SystemPromptServiceImpl extends ServiceImpl<SystemPromptMapper, Sys
|
|
|
if (prompt.getId() != null) {
|
|
if (prompt.getId() != null) {
|
|
|
// 更新时先保存历史版本
|
|
// 更新时先保存历史版本
|
|
|
SystemPrompt existing = this.getById(prompt.getId());
|
|
SystemPrompt existing = this.getById(prompt.getId());
|
|
|
- if (existing != null && !existing.getContent().equals(prompt.getContent())) {
|
|
|
|
|
- saveVersion(existing, prompt.getVersion(), operator, prompt.getRemark());
|
|
|
|
|
- prompt.setVersion(existing.getVersion() + 1);
|
|
|
|
|
|
|
+ if (existing != null) {
|
|
|
|
|
+ // 内容有变化才记录版本
|
|
|
|
|
+ if (existing.getContent() == null || !existing.getContent().equals(prompt.getContent())) {
|
|
|
|
|
+ int currentVersion = existing.getVersion() != null ? existing.getVersion() : 1;
|
|
|
|
|
+ saveVersion(existing, currentVersion, operator, prompt.getRemark());
|
|
|
|
|
+ prompt.setVersion(currentVersion + 1);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 内容未变,保留原版本号
|
|
|
|
|
+ prompt.setVersion(existing.getVersion());
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ prompt.setVersion(1);
|
|
|
}
|
|
}
|
|
|
prompt.setUpdatedBy(operator);
|
|
prompt.setUpdatedBy(operator);
|
|
|
this.updateById(prompt);
|
|
this.updateById(prompt);
|
|
@@ -77,9 +86,10 @@ public class SystemPromptServiceImpl extends ServiceImpl<SystemPromptMapper, Sys
|
|
|
SystemPrompt prompt = this.getOne(new LambdaQueryWrapper<SystemPrompt>()
|
|
SystemPrompt prompt = this.getOne(new LambdaQueryWrapper<SystemPrompt>()
|
|
|
.eq(SystemPrompt::getPromptKey, promptKey));
|
|
.eq(SystemPrompt::getPromptKey, promptKey));
|
|
|
if (prompt != null && prompt.getDefaultContent() != null) {
|
|
if (prompt != null && prompt.getDefaultContent() != null) {
|
|
|
- saveVersion(prompt, prompt.getVersion(), "system", "重置为默认内容");
|
|
|
|
|
|
|
+ int currentVersion = prompt.getVersion() != null ? prompt.getVersion() : 1;
|
|
|
|
|
+ saveVersion(prompt, currentVersion, "system", "重置为默认内容");
|
|
|
prompt.setContent(prompt.getDefaultContent());
|
|
prompt.setContent(prompt.getDefaultContent());
|
|
|
- prompt.setVersion(prompt.getVersion() + 1);
|
|
|
|
|
|
|
+ prompt.setVersion(currentVersion + 1);
|
|
|
prompt.setUpdatedBy("system");
|
|
prompt.setUpdatedBy("system");
|
|
|
this.updateById(prompt);
|
|
this.updateById(prompt);
|
|
|
}
|
|
}
|
|
@@ -133,11 +143,12 @@ public class SystemPromptServiceImpl extends ServiceImpl<SystemPromptMapper, Sys
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 保存当前版本(回滚前的版本)
|
|
// 保存当前版本(回滚前的版本)
|
|
|
- saveVersion(prompt, prompt.getVersion(), operator, "回滚前备份");
|
|
|
|
|
|
|
+ int currentVersion = prompt.getVersion() != null ? prompt.getVersion() : 1;
|
|
|
|
|
+ saveVersion(prompt, currentVersion, operator, "回滚前备份");
|
|
|
|
|
|
|
|
// 恢复到目标版本
|
|
// 恢复到目标版本
|
|
|
prompt.setContent(target.getContent());
|
|
prompt.setContent(target.getContent());
|
|
|
- prompt.setVersion(prompt.getVersion() + 1);
|
|
|
|
|
|
|
+ prompt.setVersion(currentVersion + 1);
|
|
|
prompt.setUpdatedBy("rollback_" + operator);
|
|
prompt.setUpdatedBy("rollback_" + operator);
|
|
|
this.updateById(prompt);
|
|
this.updateById(prompt);
|
|
|
|
|
|