From 68e432ead78d1216188a7a445fefec253674b729 Mon Sep 17 00:00:00 2001 From: lzh Date: Thu, 29 Jan 2026 16:53:27 +0800 Subject: [PATCH] =?UTF-8?q?fix(ops):=20BadgeDeviceStatusInitializer?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E7=A7=9F=E6=88=B7=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E6=96=87=E7=9A=84=E5=90=AF=E5=8A=A8=E9=98=B6=E6=AE=B5=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E5=85=A8=E9=87=8F=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../environment/job/BadgeDeviceStatusInitializer.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/job/BadgeDeviceStatusInitializer.java b/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/job/BadgeDeviceStatusInitializer.java index 01c2d5d..c3bc9cf 100644 --- a/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/job/BadgeDeviceStatusInitializer.java +++ b/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/job/BadgeDeviceStatusInitializer.java @@ -1,5 +1,6 @@ package com.viewsh.module.ops.environment.job; +import com.viewsh.framework.tenant.core.util.TenantUtils; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationArguments; @@ -29,10 +30,12 @@ public class BadgeDeviceStatusInitializer implements ApplicationRunner { log.info("[初始化] 服务启动,开始同步工牌设备状态..."); try { - // 复用定时对账逻辑 - BadgeDeviceStatusSyncJob.SyncResult result = syncJob.syncAllBadgeDeviceStatus(); - log.info("[初始化] 工牌设备状态同步完成:处理 {} 台,修正 {} 台,耗时 {} ms", - result.syncCount(), result.correctedCount(), result.durationMs()); + // 使用 executeIgnore 运行,确保在无租户上下文的启动阶段可以全量同步 + TenantUtils.executeIgnore(() -> { + BadgeDeviceStatusSyncJob.SyncResult result = syncJob.syncAllBadgeDeviceStatus(); + log.info("[初始化] 工牌设备状态同步完成:处理 {} 台,修正 {} 台,耗时 {} ms", + result.syncCount(), result.correctedCount(), result.durationMs()); + }); } catch (Exception e) { log.error("[初始化] 工牌设备状态同步失败", e); }