From 9217efc1553065e23cb782602ca86ddc75cfe682 Mon Sep 17 00:00:00 2001 From: tianyongbao Date: Tue, 21 Apr 2026 13:11:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=AD=90=E8=B4=A6=E5=8F=B7=E4=B8=8D?= =?UTF-8?q?=E5=85=85=E5=80=BC=E5=90=8E=EF=BC=8C=E5=9B=9E=E8=B0=83=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E6=9B=B4=E6=96=B0=E8=AE=BE=E5=A4=87=E6=9C=89=E6=95=88?= =?UTF-8?q?=E6=9C=9F=EF=BC=8C=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PayOrderBusinessServiceImpl.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/intc-modules/intc-weixin/src/main/java/com/intc/weixin/service/impl/PayOrderBusinessServiceImpl.java b/intc-modules/intc-weixin/src/main/java/com/intc/weixin/service/impl/PayOrderBusinessServiceImpl.java index d6361ed..71fdc9c 100644 --- a/intc-modules/intc-weixin/src/main/java/com/intc/weixin/service/impl/PayOrderBusinessServiceImpl.java +++ b/intc-modules/intc-weixin/src/main/java/com/intc/weixin/service/impl/PayOrderBusinessServiceImpl.java @@ -336,16 +336,18 @@ public class PayOrderBusinessServiceImpl implements PayOrderBusinessService { return; } - // 批量更新设备到期时间 + // 批量更新设备到期时间(忽略租户过滤,因为设备可能由IOT模块写入,租户ID可能不一致) for (PayDevice payDevice : payDevices) { - Device device = deviceMapper.selectOne( - new LambdaQueryWrapper() - .eq(Device::getSerialNum, payDevice.getSerialNum()) - .eq(Device::getUserId, payDevice.getUserId()) + // 仅通过 serialNum 查找设备,不限制 userId,因为允许代充(支付者可能与设备所有者不同) + Device device = TenantHelper.ignore(() -> + deviceMapper.selectOne( + new LambdaQueryWrapper() + .eq(Device::getSerialNum, payDevice.getSerialNum()) + ) ); if (device == null) { - log.warn("设备不存在: serialNum={}, userId={}", payDevice.getSerialNum(), payDevice.getUserId()); + log.warn("设备不存在: serialNum={}", payDevice.getSerialNum()); continue; }