5.3 KiB
5.3 KiB
M08-C 管理员/员工端
2026-08-10 门店概况、房态与订单总览
ENGINEERING_DELTA=YES- 同一微信小程序根据
/app-api/auth/me的角色动态展示“门店管理”入口;STAFF、STORE_ADMIN、TENANT_ADMIN、PLATFORM_ADMIN可进入,保洁角色继续使用独立任务入口。 - 新增门店运营页,按授权门店切换,展示房间总数、空闲、占用、待处理和活跃订单,并列出完整房态和近期订单。
- 新增
/app-api/management/stores、/app-api/management/stores/:storeId/rooms和/app-api/management/rooms/:id/status;读取要求store.operation.read,房态调整和启停要求store.operation.write或租户/平台管理权限。 - 房态写操作记录
ROOM_STATUS_UPDATED审计日志,metadata 包含门店、配置状态、运营状态和操作原因。 - 新增
2026081001_m08c_staff_management_accessup/down/verify,为既有 STAFF 角色补profile.read、store.operation.read最小只读权限;后续登录动态补权逻辑同步更新。 - 新增
scripts/check-miniapp-m08-c.mjs并接入 Windows 全量门禁,覆盖角色入口、页面注册、管理 API、只读/可写按钮和迁移。 - WSL MySQL 8.4.10 往返期间发现并修复两处既有内部问题:M08-A 充值迁移验证的 5 列/2 索引期望漏项导致 M08-B 规则错位;定价仓储误读不存在的
qipai_rooms.room_category_id,已改为迁移真实字段category_id并补契约断言。
测试证据
powershell -ExecutionPolicy Bypass -File scripts/dev/windows/test-all.ps1:退出码 0;后端全量测试、后台生产构建、M08-A/B/C 静态验收、迁移计划、固定域名、敏感信息、仓库完整性全部通过。- WSL 原生临时副本 + MySQL 8.4.10:
up → verify → down → up → verify退出码 0;136 条 up、114 条 verify、130 条 down,临时库与账号自动清理。 GET /app-api/management/stores与授权门店房态读取:200;STORE_ADMIN 房态更新:200;只有store.operation.read的 STAFF 房态写入:403。- 已知非阻塞提示:参考目录既有 xjar 超过 100MB;Element Plus 产物 chunk 超过 500kB;WSL npm 报告 4 个 high audit 项及 Node 26 allow-scripts 提示,未执行破坏性自动升级。
变更影响
- 数据库:新增 STAFF 最小只读权限迁移,可回滚。
- API:新增 3 个小程序管理端点;既有后台管理 API 不变。
- 部署:后端、小程序和数据库迁移有变化;生产更新时必须先备份,再由菜单更新流程执行迁移与后端/小程序发布,未自动部署生产。
- 工程提交:
b70ada0,已推送并验证HEAD == origin/main。
状态
M08-C 保持 DOING。门店概况、授权房态、订单总览和最小房态操作已完成;下一工程增量继续订单筛选、订单处置和管理员代下单,不移动到 M08-D。
2026-08-10 订单处置与管理员代下单
ENGINEERING_DELTA=YES- 订单查询新增可选
storeId服务端筛选,继续叠加租户、本人订单或管理员授权门店范围,不以小程序本地过滤代替数据权限。 - 管理员小程序新增订单状态筛选、受控状态动作和订单备注;STAFF 只读账号仍不显示写按钮,服务端仓储继续要求
store.operation.write、tenant.manage或平台权限。 - 新增管理员代下单页,可选当前授权门店的启用房间、计价方式和起止时间;前端不提交金额,价格由服务端重新计算。
/app-api/management/orders/*复用既有后台订单状态机、续时/换房/调时/备注和代下单仓储,写操作统一以ADMIN来源进入既有门店范围校验。- 代下单新增同租户有效用户校验,阻止仅凭全局用户 ID 关联其他租户会员;状态历史记录实际管理员,另写
ORDER_CREATED_ON_BEHALF审计,metadata 保留目标会员、门店与房间。
测试证据
powershell -ExecutionPolicy Bypass -File scripts/dev/windows/test-all.ps1:退出码 0;仓库完整性、敏感信息、后端全量、M08-C 静态验收、迁移计划与后台生产构建全部通过。- WSL 原生临时副本 + MySQL 8.4.10:中断清理探针通过,
up → verify → down → up → verify通过;136 条 up、114 条 verify、130 条 down,验证管理员历史/审计归因和跨租户目标会员拒绝。 - 路由测试覆盖只读账号代下单 403、STORE_ADMIN 代下单 201、管理端订单动作/备注 200、订单
storeId查询参数透传。 - 已知非阻塞提示:参考目录既有 xjar 超过 100MB;Element Plus 产物 chunk 超过 500kB;本次 WSL
npm ci报告 7 个 high audit 项及 allow-scripts 提示,未执行破坏性自动升级。
变更影响
- 数据库:无 schema 迁移;新增运行时
ORDER_CREATED_ON_BEHALF审计数据和订单创建历史归因。 - API:新增小程序管理端订单动作/调整/备注/代下单别名;订单列表增加可选
storeId。 - 部署:后端与小程序有变化,数据库无迁移;未自动部署生产。
- 工程提交:
566e61b,已推送并验证HEAD == origin/main。
状态
M08-C 保持 DOING。订单筛选、处置、备注和代下单已形成授权闭环;下一工程增量继续会员检索/概况与员工运营,不移动到 M08-D。