Files
qipai/docs/db-changelog/2026-08-10-M08-C-management.md
T
2026-08-10 11:14:06 +08:00

3.5 KiB
Raw Blame History

2026-08-10 M08-C 管理员/员工权限迁移

  • 版本:2026081001_m08c_staff_management_access
  • up:为所有有效 STAFF 角色补 profile.readstore.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 记录实际管理员与 ADMINmetadata.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_commandsPUBLISHED/ACKED/FAILED/TIMEOUT 及设备回包为准,不把“已发布”表述为“设备已执行”。
  • WSL MySQL 8.4.10 已实际验证管理员临时开门的 IoT 命令落库、MQTT Mock 发布和操作人审计归因,并完成 136 up、114 verify、130 down 的完整往返。

管理员验券与门店经营统计增量

  • 无 schema 迁移,复用 qipai_group_vouchersqipai_group_redemptionsqipai_paymentsqipai_ordersqipai_roomsqipai_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 的完整往返。