From 9780d6c3f7e9b62264f643b1c17d8dc78175dc0c Mon Sep 17 00:00:00 2001 From: lzh Date: Wed, 1 Apr 2026 09:23:27 +0800 Subject: [PATCH] =?UTF-8?q?fix(ops):=20=E5=8C=BA=E5=9F=9F=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=20RPC=20=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0=20@Tenan?= =?UTF-8?q?tIgnore=20=E8=A7=A3=E5=86=B3=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=B0=83=E7=94=A8=E6=97=B6=E7=A7=9F=E6=88=B7=E4=B8=8A?= =?UTF-8?q?=E4=B8=8B=E6=96=87=E7=BC=BA=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IoT 模块 BeaconRegistryServiceImpl 每30分钟通过 Feign 调用 /beacons/all 接口, 因定时任务无租户上下文导致 TenantContextHolder NPE。对跨租户查询的方法添加 @TenantIgnore 注解忽略多租户过滤。 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../viewsh/module/ops/service/area/AreaDeviceServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/area/AreaDeviceServiceImpl.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/area/AreaDeviceServiceImpl.java index dc82847..87f6eec 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/area/AreaDeviceServiceImpl.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/area/AreaDeviceServiceImpl.java @@ -1,6 +1,7 @@ package com.viewsh.module.ops.service.area; import com.viewsh.framework.common.util.json.JsonUtils; +import com.viewsh.framework.tenant.core.aop.TenantIgnore; import com.viewsh.module.ops.api.area.AreaDeviceDTO; import com.viewsh.module.ops.dal.dataobject.area.OpsAreaDeviceRelationDO; import com.viewsh.module.ops.dal.mysql.area.OpsAreaDeviceRelationMapper; @@ -164,16 +165,19 @@ public class AreaDeviceServiceImpl implements AreaDeviceService, InitializingBea } @Override + @TenantIgnore // RPC 接口,跨租户查询全量设备 public List listAllByType(String relationType) { return relationMapper.selectListByAreaIdAndRelationType(null, relationType); } @Override + @TenantIgnore // RPC 接口,跨租户查询全量 Beacon public List listAllEnabledBeacons() { return listAllByType("BEACON"); } @Override + @TenantIgnore // 启动预热,跨租户加载全量配置 public void initConfigCache() { log.info("[AreaDevice] 开始初始化区域设备配置缓存...");