package com.ycwl.basic.puzzle.service; import com.ycwl.basic.puzzle.dto.PuzzleGenerateRequest; import com.ycwl.basic.puzzle.dto.PuzzleGenerateResponse; /** * 拼图图片生成服务接口 * * @author Claude * @since 2025-01-17 */ public interface IPuzzleGenerateService { /** * 生成拼图图片(默认同步模式) * * @param request 生成请求 * @return 生成结果(包含图片URL等信息) */ PuzzleGenerateResponse generate(PuzzleGenerateRequest request); /** * 同步生成拼图图片 *

立即执行并阻塞等待结果返回

* * @param request 生成请求 * @return 生成结果(包含图片URL等信息) */ PuzzleGenerateResponse generateSync(PuzzleGenerateRequest request); /** * 异步生成拼图图片 *

提交到队列,由固定大小的线程池异步处理,不等待结果

*

队列满时会降级为同步执行(CallerRunsPolicy)

* * @param request 生成请求 * @return 生成记录ID(可用于后续追踪状态) */ Long generateAsync(PuzzleGenerateRequest request); }