You've already forked FrameTour-BE
- 新增拼图生成控制器 PuzzleGenerateController,支持 /api/puzzle/generate 接口 - 新增拼图模板管理控制器 PuzzleTemplateController,提供完整的 CRUD 和元素管理功能 - 定义拼图相关 DTO 类,包括模板、元素、生成请求与响应等数据传输对象 - 创建拼图相关的实体类 PuzzleTemplateEntity、PuzzleElementEntity 和 PuzzleGenerationRecordEntity - 实现 Mapper 接口用于数据库操作,支持模板和元素的增删改查及生成记录管理 - 开发 PuzzleGenerateServiceImpl 服务,完成从模板渲染到图片上传的完整流程 - 提供 PuzzleTemplateServiceImpl 服务,实现模板及其元素的全生命周期管理 - 引入 PuzzleImageRenderer 工具类负责图像合成渲染逻辑 - 支持将生成结果上传至 OSS 并记录生成过程的日志和元数据
73 lines
1.5 KiB
Java
73 lines
1.5 KiB
Java
package com.ycwl.basic.puzzle.service;
|
|
|
|
import com.ycwl.basic.puzzle.dto.ElementCreateRequest;
|
|
import com.ycwl.basic.puzzle.dto.PuzzleElementDTO;
|
|
import com.ycwl.basic.puzzle.dto.PuzzleTemplateDTO;
|
|
import com.ycwl.basic.puzzle.dto.TemplateCreateRequest;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 拼图模板管理服务接口
|
|
*
|
|
* @author Claude
|
|
* @since 2025-01-17
|
|
*/
|
|
public interface IPuzzleTemplateService {
|
|
|
|
/**
|
|
* 创建模板
|
|
*/
|
|
Long createTemplate(TemplateCreateRequest request);
|
|
|
|
/**
|
|
* 更新模板
|
|
*/
|
|
void updateTemplate(Long id, TemplateCreateRequest request);
|
|
|
|
/**
|
|
* 删除模板(会同时删除关联的元素)
|
|
*/
|
|
void deleteTemplate(Long id);
|
|
|
|
/**
|
|
* 获取模板详情(包含元素列表)
|
|
*/
|
|
PuzzleTemplateDTO getTemplateDetail(Long id);
|
|
|
|
/**
|
|
* 根据编码获取模板详情
|
|
*/
|
|
PuzzleTemplateDTO getTemplateByCode(String code);
|
|
|
|
/**
|
|
* 获取模板列表
|
|
*/
|
|
List<PuzzleTemplateDTO> listTemplates(Long scenicId, String category, Integer status);
|
|
|
|
/**
|
|
* 为模板添加元素
|
|
*/
|
|
Long addElement(ElementCreateRequest request);
|
|
|
|
/**
|
|
* 批量添加元素
|
|
*/
|
|
void batchAddElements(Long templateId, List<ElementCreateRequest> elements);
|
|
|
|
/**
|
|
* 更新元素
|
|
*/
|
|
void updateElement(Long id, ElementCreateRequest request);
|
|
|
|
/**
|
|
* 删除元素
|
|
*/
|
|
void deleteElement(Long id);
|
|
|
|
/**
|
|
* 获取元素详情
|
|
*/
|
|
PuzzleElementDTO getElementDetail(Long id);
|
|
}
|