Files
FrameTour-BE/src/main/java/com/ycwl/basic/puzzle/service/IPuzzleGenerateService.java
Jerry Yan f8374519c3 feat(puzzle): 添加拼图生成异步处理能力
- 移除 @RequiredArgsConstructor 注解,改用手动构造函数注入
- 添加 ThreadPoolExecutor 实现拼图生成异步处理
- 新增 generateAsync 方法支持异步生成拼图
- 新增 generateSync 方法支持同步生成拼图
- 重构核心生成逻辑为 doGenerateInternal 方法供同步异步共用
- 在 FaceMatchingOrchestrator 中优化拼图模板生成逻辑
- 支持根据场景选择同步或异步生成模式
- 添加线程池队列大小监控和日志记录
2026-01-01 21:26:34 +08:00

41 lines
1.1 KiB
Java

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);
/**
* 同步生成拼图图片
* <p>立即执行并阻塞等待结果返回</p>
*
* @param request 生成请求
* @return 生成结果(包含图片URL等信息)
*/
PuzzleGenerateResponse generateSync(PuzzleGenerateRequest request);
/**
* 异步生成拼图图片
* <p>提交到队列,由固定大小的线程池异步处理,不等待结果</p>
* <p>队列满时会降级为同步执行(CallerRunsPolicy)</p>
*
* @param request 生成请求
* @return 生成记录ID(可用于后续追踪状态)
*/
Long generateAsync(PuzzleGenerateRequest request);
}