# 2026-04-21 日志 ## WxLoginController.getOrderQRCodeUnlimited 修复(完整) ### 根因 1. `extractTenantIdFromScene` 通过 `selectByIdIgnoreTenant` 反查用户获取 tenantId,userId=35280 在多租户下有2条记录 → `TooManyResultsException` 2. 异常被 catch 后 fallback 到默认租户 10550,Redis 中无 `mp-weixin:10550` 缓存 → 最终失败 3. 第 452 行 `website.getRunning().equals(2)` 存在 NPE 风险 ### 修复内容 - **后端 WxLoginController**: scene 格式改为 `uid_userId_tenantId`,优先从 scene 直接解析 tenantId;兼容旧 `uid_userId` 格式时改用 `selectList` 避免多条记录异常 - **后端 UserMapper/UserService**: `selectByIdIgnoreTenant` 返回类型从 `User` 改为 `List`;新增 `listByIdIgnoreTenant` 方法 - **后端 NPE 修复**: `website.getRunning().equals(2)` → `website != null && Integer.valueOf(2).equals(website.getRunning())` - **前端 3 个 vue**: scene 从 `uid_${userId}` 改为 `uid_${userId}_${tenantId}`(从 tenantStore.company.tenantId 获取) - shopDealerUser/index.vue - shopDealerUserShop/index.vue - shopDealerUserDelivery/index.vue