diff --git a/src/main/java/com/ycwl/basic/service/pc/orchestrator/FaceMatchingOrchestrator.java b/src/main/java/com/ycwl/basic/service/pc/orchestrator/FaceMatchingOrchestrator.java index 49183f78..69395d74 100644 --- a/src/main/java/com/ycwl/basic/service/pc/orchestrator/FaceMatchingOrchestrator.java +++ b/src/main/java/com/ycwl/basic/service/pc/orchestrator/FaceMatchingOrchestrator.java @@ -371,66 +371,65 @@ public class FaceMatchingOrchestrator { "puzzle_generated:face:" + faceId, "1", 60 * 10, TimeUnit.SECONDS); - try { - log.info("开始异步生成景区拼图模板: scenicId={}, faceId={}", scenicId, faceId); - // 查询该景区所有启用状态的拼图模板 - List templateList = puzzleTemplateService.listTemplates( - scenicId, null, 1); // 查询启用状态的模板 + // 查询该景区所有启用状态的拼图模板 + List templateList = puzzleTemplateService.listTemplates( + scenicId, null, 1); // 查询启用状态的模板 - if (templateList == null || templateList.isEmpty()) { - log.info("景区不存在启用的拼图模板,跳过生成: scenicId={}", scenicId); - return; - } + if (templateList == null || templateList.isEmpty()) { + log.debug("景区不存在启用的拼图模板,跳过生成: scenicId={}", scenicId); + return; + } - log.info("景区存在 {} 个启用的拼图模板,开始逐个生成: scenicId={}", templateList.size(), scenicId); + log.info("景区存在 {} 个启用的拼图模板,开始逐个生成: scenicId={}", templateList.size(), scenicId); - // 获取人脸信息用于动态数据 - FaceEntity face = faceRepository.getFace(faceId); - if (face == null) { - log.warn("人脸信息不存在,无法生成拼图: faceId={}", faceId); - return; - } - ScenicV2DTO scenicBasic = scenicRepository.getScenicBasic(face.getScenicId()); + // 获取人脸信息用于动态数据 + FaceEntity face = faceRepository.getFace(faceId); + if (face == null) { + log.warn("人脸信息不存在,无法生成拼图: faceId={}", faceId); + return; + } + ScenicV2DTO scenicBasic = scenicRepository.getScenicBasic(face.getScenicId()); - // 准备公共动态数据 - Map baseDynamicData = new HashMap<>(); - if (face.getFaceUrl() != null) { - baseDynamicData.put("faceImage", face.getFaceUrl()); - baseDynamicData.put("userAvatar", face.getFaceUrl()); - } - baseDynamicData.put("faceId", String.valueOf(faceId)); - baseDynamicData.put("scenicName", scenicBasic.getName()); - baseDynamicData.put("scenicText", scenicBasic.getName()); - baseDynamicData.put("dateStr", DateUtil.format(new Date(), "yyyy.MM.dd")); + // 准备公共动态数据 + Map baseDynamicData = new HashMap<>(); + if (face.getFaceUrl() != null) { + baseDynamicData.put("faceImage", face.getFaceUrl()); + baseDynamicData.put("userAvatar", face.getFaceUrl()); + } + baseDynamicData.put("faceId", String.valueOf(faceId)); + baseDynamicData.put("scenicName", scenicBasic.getName()); + baseDynamicData.put("scenicText", scenicBasic.getName()); + baseDynamicData.put("dateStr", DateUtil.format(new Date(), "yyyy.MM.dd")); - templateList - .forEach(template -> { - log.info("开始生成拼图: scenicId={}, templateCode={}, templateName={}", - scenicId, template.getCode(), template.getName()); + templateList + .forEach(template -> { + log.info("开始生成拼图: scenicId={}, templateCode={}, templateName={}", + scenicId, template.getCode(), template.getName()); - // 构建生成请求 - PuzzleGenerateRequest generateRequest = new PuzzleGenerateRequest(); - generateRequest.setScenicId(scenicId); - generateRequest.setUserId(memberId); - generateRequest.setFaceId(faceId); - generateRequest.setBusinessType("face_matching"); - generateRequest.setTemplateCode(template.getCode()); - generateRequest.setOutputFormat("JPEG"); - generateRequest.setQuality(80); - generateRequest.setDynamicData(new HashMap<>(baseDynamicData)); - generateRequest.setRequireRuleMatch(true); + // 构建生成请求 + PuzzleGenerateRequest generateRequest = new PuzzleGenerateRequest(); + generateRequest.setScenicId(scenicId); + generateRequest.setUserId(memberId); + generateRequest.setFaceId(faceId); + generateRequest.setBusinessType("face_matching"); + generateRequest.setTemplateCode(template.getCode()); + generateRequest.setOutputFormat("JPEG"); + 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; + + } catch (Exception e) { + // 异步任务失败不影响主流程,仅记录日志 + log.error("异步生成拼图模板失败: scenicId={}, faceId={}", scenicId, faceId, e); + } + }); } /**