8618b8b80f
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
94 lines
2.3 KiB
Java
94 lines
2.3 KiB
Java
package com.emotion.service;
|
|
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
|
import com.emotion.common.PageResult;
|
|
import com.emotion.dto.request.EpicScriptCreateRequest;
|
|
import com.emotion.dto.request.EpicScriptInspirationRequest;
|
|
import com.emotion.dto.request.EpicScriptPageRequest;
|
|
import com.emotion.dto.request.EpicScriptUpdateRequest;
|
|
import com.emotion.dto.response.EpicScriptInspirationResponse;
|
|
import com.emotion.dto.response.EpicScriptResponse;
|
|
import com.emotion.dto.response.InspirationSuggestionResponse;
|
|
import com.emotion.entity.EpicScript;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 爽文剧本服务接口
|
|
*
|
|
* @author huazhongmin
|
|
* @date 2025-12-22
|
|
*/
|
|
public interface EpicScriptService extends IService<EpicScript> {
|
|
|
|
/**
|
|
* 分页查询当前用户的剧本
|
|
*
|
|
* @param request 分页请求
|
|
* @return 分页结果
|
|
*/
|
|
PageResult<EpicScriptResponse> getPageByCurrentUser(EpicScriptPageRequest request);
|
|
|
|
/**
|
|
* 获取当前用户的所有剧本列表
|
|
*
|
|
* @return 剧本列表
|
|
*/
|
|
List<EpicScriptResponse> getListByCurrentUser();
|
|
|
|
/**
|
|
* 根据ID获取剧本
|
|
*
|
|
* @param id 剧本ID
|
|
* @return 剧本响应
|
|
*/
|
|
EpicScriptResponse getScriptById(String id);
|
|
|
|
/**
|
|
* 创建剧本
|
|
*
|
|
* @param request 创建请求
|
|
* @return 剧本响应
|
|
*/
|
|
EpicScriptResponse createScript(EpicScriptCreateRequest request);
|
|
|
|
List<InspirationSuggestionResponse> getInspirationRecommendations();
|
|
|
|
List<InspirationSuggestionResponse> getRandomInspirations(Integer size);
|
|
|
|
EpicScriptInspirationResponse generateFromInspiration(EpicScriptInspirationRequest request);
|
|
|
|
/**
|
|
* 更新剧本
|
|
*
|
|
* @param request 更新请求
|
|
* @return 剧本响应
|
|
*/
|
|
EpicScriptResponse updateScript(EpicScriptUpdateRequest request);
|
|
|
|
/**
|
|
* 选中剧本
|
|
*
|
|
* @param id 剧本ID
|
|
* @return 剧本响应
|
|
*/
|
|
EpicScriptResponse selectScript(String id);
|
|
|
|
/**
|
|
* 切换剧本当前生效版本
|
|
*
|
|
* @param scriptId 剧本ID
|
|
* @param messageId 消息ID
|
|
* @return 剧本响应
|
|
*/
|
|
EpicScriptResponse switchVersion(String scriptId, String messageId);
|
|
|
|
/**
|
|
* 删除剧本
|
|
*
|
|
* @param id 剧本ID
|
|
* @return 是否成功
|
|
*/
|
|
boolean deleteScript(String id);
|
|
}
|