From a550b892af8e4c783ac95ca97602c1cd1c9f106b Mon Sep 17 00:00:00 2001 From: zk Date: Wed, 15 Jul 2026 11:35:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8E=86=E7=94=9F=E4=BA=A7=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3=20=E5=85=A8?= =?UTF-8?q?=E9=87=8FAI=20=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/jiayunet/service/UserProfileService.java | 6 +++--- .../org/jiayunet/service/UserProfileAnalyzeService.java | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/client-api/src/main/java/org/jiayunet/service/UserProfileService.java b/client-api/src/main/java/org/jiayunet/service/UserProfileService.java index a5193c2..d022230 100644 --- a/client-api/src/main/java/org/jiayunet/service/UserProfileService.java +++ b/client-api/src/main/java/org/jiayunet/service/UserProfileService.java @@ -324,7 +324,7 @@ public class UserProfileService { /** * 根据简历ID同步更新个人资料 - *

1. 校验简历归属 2. 读取简历主表+5子表 3. 事务内覆盖写入Profile主表+5子表 4. 触发一次异步AI分析

+ *

1. 校验简历归属 2. 读取简历主表+5子表 3. 事务内覆盖写入Profile主表+5子表 4. 同步执行一次AI分析

*/ @Transactional(rollbackFor = Exception.class) public void syncProfileFromResume(Long resumeId) { @@ -486,8 +486,8 @@ public class UserProfileService { competitionMapper.batchInsert(profileCompetitionList); } - // 9. 事务内所有数据写入完成,触发一次异步AI分析 - userProfileAnalyzeService.analyzeUserProfile(userId); + // 9. 事务内所有数据写入完成,同步执行AI分析并等待完成 + userProfileAnalyzeService.analyzeUserProfileSync(userId); } // ==================== 从个人资料生成简历 ==================== diff --git a/manager/src/main/java/org/jiayunet/service/UserProfileAnalyzeService.java b/manager/src/main/java/org/jiayunet/service/UserProfileAnalyzeService.java index 5ea3e9a..0a8c048 100644 --- a/manager/src/main/java/org/jiayunet/service/UserProfileAnalyzeService.java +++ b/manager/src/main/java/org/jiayunet/service/UserProfileAnalyzeService.java @@ -71,6 +71,13 @@ public class UserProfileAnalyzeService { */ @Async("userProfileAsyncExecutor") public void analyzeUserProfile(Long userId) { + analyzeUserProfileSync(userId); + } + + /** + * 同步分析用户简历,供需要等待全部分析完成的业务调用。 + */ + public void analyzeUserProfileSync(Long userId) { try { log.info("开始分析用户简历, userId={}", userId);