From cc37974239dcaf1d16de876ad0455d8d782fcb9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 11 Jun 2026 11:12:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=AE=A2=E5=95=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AEBUG=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...AsyncUserShipperMasterDataSyncService.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 mhd-user-center/src/main/java/com/mhd/user/application/service/AsyncUserShipperMasterDataSyncService.java diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/AsyncUserShipperMasterDataSyncService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/AsyncUserShipperMasterDataSyncService.java new file mode 100644 index 000000000..b8642f1ff --- /dev/null +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/AsyncUserShipperMasterDataSyncService.java @@ -0,0 +1,32 @@ +package com.mhd.user.application.service; + +import com.mhd.common.redis.service.RedisLock; +import com.mhd.system.api.model.LoginUser; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Component +@Slf4j +public class AsyncUserShipperMasterDataSyncService { + + @Resource + private UserShipperMasterDataSyncService userShipperMasterDataSyncService; + @Resource + private RedisLock redisLock; + + @Async + public void syncMasterDataAsync(LoginUser loginUser, String lockKey) { + Long organizationId = loginUser.getUserPo().getOrganizationId(); + try { + userShipperMasterDataSyncService.executeSync(loginUser); + } catch (Exception e) { + log.error("异步同步主数据失败, organizationId={}", organizationId, e); + userShipperMasterDataSyncService.markSyncFailed(organizationId, e.getMessage()); + } finally { + redisLock.unlock(lockKey); + } + } +}