# 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<User>`；新增 `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

