docs(M08-C): 完成管理员小程序模块

This commit is contained in:
Codex
2026-08-10 11:14:06 +08:00
parent ce52f07588
commit b08a2cca43
7 changed files with 66 additions and 15 deletions
@@ -109,3 +109,31 @@ M08-C 保持 `DOING`。会员检索、聚合详情、STAFF 员工概况和代下
### 状态
M08-C 保持 `DOING`。保洁任务处置、设备运营概况和带操作人审计的临时开门/电控已完成;下一工程增量继续管理员验券与门店经营统计,不移动到 M08-D。
## 2026-08-10 管理员验券与门店经营统计
- `ENGINEERING_DELTA=YES`
- 管理员小程序新增“验券与经营”页,支持授权门店切换、近 7/30/90 日统计、平台选择、待支付订单选择、微信扫码或手输券码,以及明确标注的人工确认验券。
- 新增管理端在线验券、人工验券和第三方记录别名;在线验券的应付金额完全由服务端订单推导,人工验券金额必须与未付金额精确一致,所有写操作继续要求门店写权限。
- 核销记录按租户、授权门店、平台和状态筛选,返回券码掩码、操作人、结果和完成时间;原始券码只参与请求,数据库继续只保存 SHA-256 与掩码。
- 新增门店经营统计仓储与 `/app-api/management/statistics`,最长查询 93 天;订单、会员、成功支付渠道/每日收入、当前房态和验券汇总均使用明确时间口径与服务端门店范围。
- 实收金额只累计成功支付,不把未支付订单总价当收入;团购验券成功复用既有事务支付入账和订单状态历史,重复请求继续由 `clientRequestId` 幂等保护。
### 测试证据
- `powershell -ExecutionPolicy Bypass -File scripts/dev/windows/test-all.ps1`:64 秒退出码 0;仓库完整性、敏感信息、后端全量、M08-C 静态验收、迁移计划和 Vue 后台生产构建全部通过。
- WSL 原生临时副本 + MySQL 8.4.10:首次准确发现测试订单超过 30 天提前窗口,修正后又识别窄统计区间的会话时区边界;改为窗口内非冲突订单和跨日确定性区间后,`up → verify → down → up → verify` 通过,136 条 up、114 条 verify、130 条 down。
- MySQL 实际验证管理员验券成功、操作人/门店归因、券码掩码不泄露原值、两笔成功核销、成功支付实收与 `GROUP_BUY` 渠道聚合。
- 路由/服务测试覆盖管理端在线与人工验券、记录筛选参数透传、统计读取、最长 93 天限制和跨门店 403。
- 已知非阻塞提示:参考目录既有 xjar 超过 100MBElement Plus 产物 chunk 超过 500kBWSL `npm ci` 报告 7 个 high audit 项及 allow-scripts 提示,未执行破坏性自动升级。
### 变更影响
- 数据库:无 schema 迁移;新增运行时管理员核销、团购成功支付和统计读取行为。
- API:新增 4 个小程序管理端点,并扩展第三方记录的 `storeId/provider/status` 服务端筛选。
- 部署:后端与小程序有变化,数据库无迁移;未自动部署生产。
- 工程提交:`ce52f07`,已推送并验证 `HEAD == origin/main`
### 状态
M08-C 的可独立工程范围已完成并通过模块级回归,游标进入 `M08-D`。真实团购平台授权、微信后台与硬件现场结果继续保持 `BLOCKED_EXTERNAL`,不把 Mock/发布状态表述为真实厂商或设备执行成功。