39 lines
3.5 KiB
Markdown
39 lines
3.5 KiB
Markdown
# 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 类型限定与完整迁移往返。
|
||
|
||
## 保洁与设备运营增量
|
||
|
||
- 无 schema 迁移。
|
||
- 管理员设备命令在既有 `qipai_audit_logs` 写入 `DEVICE_COMMAND_REQUESTED`,actor 记录真实管理员/员工/顾客或系统来源,metadata 记录门店、房间、设备、设备类型、命令类型和可选订单。
|
||
- 审计发生在设备命令创建/发布前;命令最终状态继续以 `qipai_iot_commands` 的 `PUBLISHED/ACKED/FAILED/TIMEOUT` 及设备回包为准,不把“已发布”表述为“设备已执行”。
|
||
- WSL MySQL 8.4.10 已实际验证管理员临时开门的 IoT 命令落库、MQTT Mock 发布和操作人审计归因,并完成 136 up、114 verify、130 down 的完整往返。
|
||
|
||
## 管理员验券与门店经营统计增量
|
||
|
||
- 无 schema 迁移,复用 `qipai_group_vouchers`、`qipai_group_redemptions`、`qipai_payments`、`qipai_orders`、`qipai_rooms` 与 `qipai_order_user_access`。
|
||
- 在线与手工管理员验券均只保存券码 SHA-256、掩码、操作人、门店、订单、平台结果和幂等请求号;原始券码不落库、不进入记录查询响应。
|
||
- 验券成功沿用事务内团购支付入账,生成 `GROUP_BUY` 成功支付、更新订单实付与状态、消耗房间预占并写订单状态历史;重复请求或重复券不重复入账。
|
||
- 经营统计按租户和门店参数化查询;实收仅取成功支付的 `paid_at` 区间,订单/会员按订单 `created_at` 区间,验券按核销 `created_at` 区间,房态为当前快照。
|
||
- WSL MySQL 8.4.10 已验证管理员验券操作人/门店归因、券码脱敏、订单与成功支付统计、`GROUP_BUY` 渠道聚合,并完成 136 up、114 verify、130 down 的完整往返。
|