Files
happy-life-star/server/src/main/java/com/emotion/service/EpicScriptService.java
T
2026-06-28 18:00:22 +08:00

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);
}