# 2026-08-10 M08-C 管理员/员工权限迁移 - 版本:`2026081001_m08c_staff_management_access` - up:为所有有效 STAFF 角色补 `profile.read` 和 `store.operation.read`,不授予写权限。 - down:只删除 STAFF 的这两项角色权限,不删除角色、用户或门店授权。 - verify:允许空 STAFF 角色集合;存在 STAFF 角色时要求每个有效角色同时拥有两项权限。 - WSL MySQL 8.4.10 已完成 `up → verify → down → up → verify`。 ## 订单处置与代下单增量 - 无 schema 迁移。 - 代下单前查询 `qipai_users.tenant_id/status`,只接受当前租户的 `ACTIVE` 用户,避免全局用户外键造成跨租户关联。 - 管理员代下单的 `qipai_order_status_history.actor_id/source` 记录实际管理员与 `ADMIN`;`metadata.targetUserId` 记录目标会员。 - 同事务新增 `qipai_audit_logs.action = ORDER_CREATED_ON_BEHALF`,metadata 记录目标会员、门店和房间。 - WSL MySQL 8.4.10 已验证管理员归因、审计落库、跨租户目标会员拒绝,以及完整 `up → verify → down → up → verify` 往返。 ## 会员检索与员工概况增量 - 无 schema 迁移。 - 授权门店会员范围由“该门店存在钱包账户”扩展为“该门店存在钱包账户或历史 OWNER 订单”,终态订单撤销当前访问后仍可用于历史会员归属;条件使用显式括号保持租户隔离。 - 会员实付聚合状态改为当前订单状态 `PAID/RESERVED/IN_PROGRESS/FINISHED`,不再引用旧状态 `IN_USE/COMPLETED`。 - 会员、员工、订单和保洁列表分页在服务端夹取整数后拼入 `LIMIT/OFFSET`,其余过滤条件继续参数化;修复 MySQL 8.4.10 与当前 Node 驱动对分页占位符的兼容错误。 - WSL MySQL 8.4.10 已验证授权门店历史 OWNER 订单会员发现、STAFF 类型限定与完整迁移往返。