feat: EpicScriptController 新增 createWithDialogue 和 switchVersion

This commit is contained in:
2026-06-28 18:09:06 +08:00
parent 57f1e311b6
commit a66a78a0f3
@@ -3,12 +3,16 @@ package com.emotion.controller;
import com.emotion.common.PageResult;
import com.emotion.common.Result;
import com.emotion.dto.request.EpicScriptCreateRequest;
import com.emotion.dto.request.EpicScriptCreateWithDialogueRequest;
import com.emotion.dto.request.EpicScriptInspirationRequest;
import com.emotion.dto.request.EpicScriptPageRequest;
import com.emotion.dto.request.EpicScriptUpdateRequest;
import com.emotion.dto.request.SwitchVersionRequest;
import com.emotion.dto.response.EpicScriptCreateWithDialogueResponse;
import com.emotion.dto.response.EpicScriptInspirationResponse;
import com.emotion.dto.response.EpicScriptResponse;
import com.emotion.dto.response.InspirationSuggestionResponse;
import com.emotion.service.EpicScriptDialogueService;
import com.emotion.service.EpicScriptService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@@ -34,6 +38,9 @@ public class EpicScriptController {
@Autowired
private EpicScriptService epicScriptService;
@Autowired
private EpicScriptDialogueService epicScriptDialogueService;
/**
* 分页查询当前用户的爽文剧本
*/
@@ -109,6 +116,14 @@ public class EpicScriptController {
return Result.success(script);
}
@Operation(summary = "创建剧本并创建对话", description = "用户输入心愿后,创建剧本、创建对话并生成第一条 AI 剧本消息。")
@PostMapping(value = "/createWithDialogue")
public Result<EpicScriptCreateWithDialogueResponse> createWithDialogue(
@Valid @RequestBody EpicScriptCreateWithDialogueRequest request) {
EpicScriptCreateWithDialogueResponse response = epicScriptDialogueService.createWithDialogue(request);
return Result.success(response);
}
/**
* 更新爽文剧本
*/
@@ -135,6 +150,16 @@ public class EpicScriptController {
return Result.success(script);
}
@Operation(summary = "切换剧本当前版本", description = "将指定消息设为剧本当前生效版本。")
@PutMapping(value = "/switchVersion")
public Result<EpicScriptResponse> switchVersion(@Valid @RequestBody SwitchVersionRequest request) {
EpicScriptResponse response = epicScriptService.switchVersion(request.getScriptId(), request.getMessageId());
if (response == null) {
return Result.error("切换失败");
}
return Result.success(response);
}
/**
* 删除爽文剧本
*/