You've already forked FrameTour-BE
refactor(FaceMatchingOrchestrator): 重构人脸匹配拼图生成逻辑
- 移除外层异常捕获处理,将异常处理移到模板循环内部 - 将日志级别从 info 调整为 debug,减少不必要的日志输出 - 优化代码结构,移除多余的 try-catch 包装 - 保持原有的业务逻辑不变,仅调整代码组织方式 - 确保异常处理不影响主流程执行
This commit is contained in:
@@ -371,15 +371,13 @@ public class FaceMatchingOrchestrator {
|
||||
"puzzle_generated:face:" + faceId,
|
||||
"1",
|
||||
60 * 10, TimeUnit.SECONDS);
|
||||
try {
|
||||
log.info("开始异步生成景区拼图模板: scenicId={}, faceId={}", scenicId, faceId);
|
||||
|
||||
// 查询该景区所有启用状态的拼图模板
|
||||
List<PuzzleTemplateDTO> templateList = puzzleTemplateService.listTemplates(
|
||||
scenicId, null, 1); // 查询启用状态的模板
|
||||
|
||||
if (templateList == null || templateList.isEmpty()) {
|
||||
log.info("景区不存在启用的拼图模板,跳过生成: scenicId={}", scenicId);
|
||||
log.debug("景区不存在启用的拼图模板,跳过生成: scenicId={}", scenicId);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -420,17 +418,18 @@ public class FaceMatchingOrchestrator {
|
||||
generateRequest.setQuality(80);
|
||||
generateRequest.setDynamicData(new HashMap<>(baseDynamicData));
|
||||
generateRequest.setRequireRuleMatch(true);
|
||||
try {
|
||||
if (template.getAutoAddPrint() > 0 && Strings.CI.equals(scene, "printer")) {
|
||||
puzzleGenerateService.generateSync(generateRequest);
|
||||
} else {
|
||||
puzzleGenerateService.generateAsync(generateRequest);
|
||||
}
|
||||
});
|
||||
|
||||
} catch (Exception e) {
|
||||
// 异步任务失败不影响主流程,仅记录日志
|
||||
log.error("异步生成拼图模板失败: scenicId={}, faceId={}", scenicId, faceId, e);
|
||||
}
|
||||
return;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user