docs(M08-D): 回填团购与第三方运营
This commit is contained in:
@@ -121,8 +121,8 @@ WSL 已验证:EMQX `5.8.9`、MQTTX CLI `1.13.0`、EMQX 服务 `active (running
|
||||
项目已开发部分模块。具体完成度不得从 README 猜测,必须以现有代码、测试、数据库迁移、Git 历史以及 `docs/current-baseline.md`、`docs/module-status.md`、`docs/feature-status.md` 为准。
|
||||
|
||||
- 当前执行游标:`M08-D`(DOING);`M08-C` 的可独立工程内容已完成,真实团购商家授权、微信和硬件现场验收保持 `BLOCKED_EXTERNAL`。
|
||||
- 最近工程提交:`4eac99d` / `M08-D支付退款与分账运营`,Vue 后台已接入收款账户环境引用、授权、脱敏接收方、比例策略、分账记录、退款、对账和分账执行入口。
|
||||
- 下一工程目标:继续 M08-D,补后台团购与第三方平台运营页面。
|
||||
- 最近工程提交:`7b97808` / `M08-D团购与第三方平台运营`,Vue 后台已接入直订/核销记录、异常筛选、平台环境凭据引用、安全配置读取、资源映射和 API/人工验券。
|
||||
- 下一工程目标:继续 M08-D,补后台会员与员工用户管理页面。
|
||||
|
||||
## 版本递进
|
||||
|
||||
|
||||
@@ -29,3 +29,12 @@
|
||||
- 无新后端路由;Vue 后台接入既有 `/admin-api/pay/refund`、`/pay/reconciliation`、`/pay/collection-account`、`/pay/profit-share-receiver`、`/pay/profit-share-policy` 和 `/pay/profit-shares`。
|
||||
- 收款账户与接收方凭据只提交环境引用;列表继续只返回商户号、脱敏标识和授权状态,不返回私钥或真实接收方账户。
|
||||
- 客户端生成一次性幂等键,但退款金额、可退余额、分账比例、授权与生产 Mock 门禁继续完全由服务端判定。
|
||||
|
||||
## 团购与第三方平台运营增量
|
||||
|
||||
| 方法 | 路径 | 变更 |
|
||||
|---|---|---|
|
||||
| GET | `/admin-api/third-party/records` | Vue 后台接入既有直订与核销记录,支持平台、门店和状态过滤。 |
|
||||
| GET | `/admin-api/third-party/setup` | 新增管理员安全读取接口,返回平台模式、环境凭据引用是否配置、过滤后的非敏感设置和资源映射;要求租户管理或平台管理员权限。 |
|
||||
| PUT | `/admin-api/third-party/config`、`/admin-api/third-party/mappings` | Vue 后台接入既有配置与映射写接口,继续验证租户资源和环境凭据引用。 |
|
||||
| POST | `/admin-api/group-vouchers/redeem`、`/admin-api/group-vouchers/redeem-manual` | 补齐管理员后台 API/人工验券入口,与小程序管理端共享金额、权限、幂等和券码脱敏逻辑。 |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
> V5.0 首次核验日期:2026-06-16
|
||||
> audited_commit: `4ae9296`
|
||||
> next_engineering_target: 继续 M08-D Vue 平台后台,补团购与第三方平台运营页面
|
||||
> next_engineering_target: 继续 M08-D Vue 平台后台,补会员与员工用户管理页面
|
||||
> 事实源:当前工作区、Git 历史、状态文档、Windows/WSL 检查脚本。
|
||||
|
||||
## 总体结论
|
||||
@@ -12,7 +12,7 @@
|
||||
| 总纲版本 | V5.4 已成为当前权威总纲,旧版已保留为历史备份 | 根目录存在 `V5.4.md` 及旧版总纲 | 可继续按 V5.4 的执行游标开发 |
|
||||
| Git 远端 | `origin=ssh://git@git.txyundm.cn:2222/panda/qipai.git`,分支 `main` | `git rev-list main...origin/main` 为 `0 0` | 本地与远端同步 |
|
||||
| 正式后端 | 已完成 Fastify、迁移兼容、outbox/worker、多应用租户、微信身份/会话,以及六角色 RBAC 和门店范围 | `backend/src/auth/**`、`database/migrations/2026061805_m02c_rbac.*.sql`、`backend/tests/**` | M01、M02-A/B/C DONE;MySQL 已验证 capability 和跨租户门店授权拒绝;下一阶段 M02-D |
|
||||
| 后台管理端 | 已建立 Vue3 + Vite + TypeScript + Element Plus 工程,接入 M08-B 保洁运营工作台,并新增 M08-D 授权门店运营总览、门店/房间、订单和资金运营工作区;资金页支持收款账户环境引用、授权、脱敏接收方、比例策略、分账记录、微信退款、对账与分账执行 | `admin/src/App.vue`、`admin/src/components/OperationsOverviewPanel.vue`、`admin/src/components/StoresRoomsPanel.vue`、`admin/src/components/OrdersPanel.vue`、`admin/src/components/PaymentsPanel.vue`、`admin/src/components/CleaningTasksPanel.vue`、`admin/src/components/CleaningSettlementsPanel.vue`、`admin/src/components/CleaningStatisticsPanel.vue`、`admin/src/components/CleanersPanel.vue`、`admin/src/components/CleaningFieldHandoffPanel.vue`、`scripts/check-admin-m08-b.mjs`、`scripts/check-admin-m08-d.mjs` | M08-D 保持 DOING;运营总览、门店房间、订单、资金和保洁工作台可切换,读写继续由后端校验权限并写审计;下一增量补团购与第三方平台运营页面 |
|
||||
| 后台管理端 | 已建立 Vue3 + Vite + TypeScript + Element Plus 工程,接入 M08-B 保洁运营工作台,并新增 M08-D 授权门店运营总览、门店/房间、订单、资金和第三方渠道运营工作区;渠道页支持直订/核销记录、平台环境凭据引用、安全设置读取、资源映射和 API/人工验券 | `admin/src/App.vue`、`admin/src/components/OperationsOverviewPanel.vue`、`admin/src/components/StoresRoomsPanel.vue`、`admin/src/components/OrdersPanel.vue`、`admin/src/components/PaymentsPanel.vue`、`admin/src/components/ThirdPartyPanel.vue`、`admin/src/components/CleaningTasksPanel.vue`、`admin/src/components/CleaningSettlementsPanel.vue`、`admin/src/components/CleaningStatisticsPanel.vue`、`admin/src/components/CleanersPanel.vue`、`admin/src/components/CleaningFieldHandoffPanel.vue`、`scripts/check-admin-m08-b.mjs`、`scripts/check-admin-m08-d.mjs` | M08-D 保持 DOING;运营总览、门店房间、订单、资金、第三方渠道和保洁工作台可切换,读写继续由后端校验权限并写审计;下一增量补会员与员工用户管理页面 |
|
||||
| 微信小程序 | 已纳管微信原生模板,并完成顾客端订单、充值、权益明细、下单抵扣主体链路、保洁任务端照片上传/补做主体链路,以及管理员门店/房态/订单/代下单/验券/会员/员工/保洁/设备/经营统计 | `miniapp/pages/index`、`miniapp/pages/store/detail`、`miniapp/pages/room/detail`、`miniapp/pages/orders/*`、`miniapp/pages/recharge/*`、`miniapp/pages/profile/*`、`miniapp/pages/cleaner/*`、`miniapp/pages/manager/*`、`miniapp/utils/api.js`、`scripts/check-miniapp-m08-a.mjs`、`scripts/check-miniapp-m08-c.mjs` | M08 PARTIAL;M08-A 顾客端工程闭环按外部阻塞旁路;M08-B 可独立工程内容已完成;M08-C 可独立工程内容已完成并通过 Windows 与 MySQL 模块回归,游标进入 M08-D;真实团购、微信和硬件现场验收保持外部阻塞 |
|
||||
| 数据库迁移 | 已新增 M01-B 核心 schema up/down/verify SQL、最小脱敏 seed、旧库结构 fixture、迁移计划/执行 CLI、验证结果数量门禁和 MySQL 8 集成测试 | `database/migrations/2026061601_m01b_core_schema.*.sql`、`database/seeds/2026061601_m01b_minimal_seed.sql`、`database/fixtures/2026061801_m01b_legacy_schema.sql`、`backend/src/db/migration-runner.ts`、`backend/tests/mysql-migration-roundtrip.test.mjs` | M01-B DONE;WSL MySQL 8.4.9 已验证 8 条旧库 fixture、11 条 up、3 条 verify、10 条 down,并验证租户隔离和旧金额整数分转换;不导入真实旧数据 |
|
||||
| M00 部署脚本 | 已有菜单、状态、HTTPS、Certbot、EMQX、备份检查模板 | `setup.sh`、`scripts/setup/`、`deploy/` | PARTIAL,生产未执行 |
|
||||
@@ -35,6 +35,6 @@
|
||||
|
||||
## 下一步
|
||||
|
||||
1. 继续 M08-D:在已完成运营总览、门店/房间、订单、资金和保洁工作台导航基础上,补团购与第三方平台运营页面。
|
||||
1. 继续 M08-D:在已完成运营总览、门店/房间、订单、资金、第三方渠道和保洁工作台导航基础上,补会员与员工用户管理页面。
|
||||
2. 继续复用 M02 权限、M03 门店、M04 订单、M05 支付/团购、M06 设备和 M07 会员能力,不重复初始化后台工程。
|
||||
3. M06-G 真实硬件联调仍等待生产 MQTT 账号/ACL、DeviceID 和现场实物配线。
|
||||
|
||||
@@ -7,3 +7,4 @@
|
||||
- 门店/房间管理增量无 schema 变化;门店查询新增营业时段批量读取和 Wi-Fi 是否配置的布尔投影,Wi-Fi 密码仍不返回;门店更新省略密码时由 `COALESCE` 保留原值。
|
||||
- 订单运营增量无 schema 变化;后台 GET 别名复用现有订单、支付摘要和状态流水查询,写操作继续使用既有订单状态历史、调整记录与审计表。
|
||||
- 资金运营增量无 schema 变化;Vue 后台复用现有收款账户、分账接收方/策略/记录、退款和对账表,敏感值继续只保存哈希、脱敏值或环境引用。
|
||||
- 团购与第三方平台运营增量无 schema 变化;Vue 后台复用 `qipai_third_party_configs`、`qipai_third_party_mappings`、直订和核销记录表。安全读取只投影环境凭据引用及过滤后的非敏感设置,券码继续只保留哈希和掩码。
|
||||
|
||||
@@ -106,3 +106,29 @@ M08-D 保持 `DOING`。订单运营增量完成;下一工程增量补支付、
|
||||
### 状态
|
||||
|
||||
M08-D 保持 `DOING`。支付、退款与分账运营增量完成;下一工程增量补团购与第三方平台运营页面。
|
||||
|
||||
## 2026-08-10 团购与第三方平台运营
|
||||
|
||||
- `ENGINEERING_DELTA=YES`
|
||||
- 新增第三方渠道工作区,支持美团、大众点评、抖音、快手的直订记录、待映射队列、核销记录及平台/门店/状态筛选。
|
||||
- 接入平台配置和门店/房间资源映射;凭据只登记环境引用,读取接口过滤 secret、token、password、private key、API key 和 credential 等敏感设置键。
|
||||
- 新增管理员 API 与人工验券别名,继续复用服务端订单金额、租户权限、授权门店、幂等键、券码 SHA-256 和脱敏显示边界。
|
||||
|
||||
### 测试证据
|
||||
|
||||
- Windows `scripts/dev/windows/test-all.ps1`:63.3 秒退出码 0;后端全测、M08-B/C/D 静态门禁、Vue TypeScript 与生产构建通过;暂存后仓库完整性、敏感信息和空白门禁复核通过。
|
||||
- WSL 原生临时副本 + MySQL 8.4.10:26.2 秒退出码 0,`up → verify → down → up → verify` 完成,136 条 up、114 条 verify、130 条 down。
|
||||
- `backend/tests/third-party.test.mjs` 覆盖管理员 API 验券别名与安全配置读取;Vue 生产构建成功。
|
||||
- 既有 Element Plus chunk 超过 500kB、参考 xjar 超过 100MB 和 WSL npm 7 个 high audit 项仍为非阻塞提示,未执行破坏性自动升级。
|
||||
|
||||
### 变更影响
|
||||
|
||||
- 数据库:无迁移、无新增表。
|
||||
- API:新增 `GET /admin-api/third-party/setup`、`POST /admin-api/group-vouchers/redeem` 和既有人工验券的管理端对称别名;敏感配置不读取返回。
|
||||
- 后台:新增响应式第三方渠道运营入口,覆盖记录、配置、映射和验券。
|
||||
- 部署:后端与后台静态产物有变化,未自动部署生产。
|
||||
- 工程提交:`7b97808`,已推送并验证 `HEAD == origin/main`。
|
||||
|
||||
### 状态
|
||||
|
||||
M08-D 保持 `DOING`。团购与第三方平台运营增量完成;下一工程增量补会员与员工用户管理页面。
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
> 2026-08-10 M08-D 增量:工程提交 `4eac99d` 为 `FRN-001`、`BKG-007` 建立 Vue 后台资金运营工作区;收款账户环境引用/授权、脱敏分账接收方、比例策略、分账记录,以及微信退款、账单请求和生产 API/非生产 Mock 分账均接入既有管理员权限、授权门禁、幂等键和服务端金额校验。Windows 全量、Vue 生产构建与 WSL MySQL 8.4.10 往返通过,M08-D 继续团购与第三方运营。
|
||||
|
||||
> 2026-08-10 M08-D 增量:工程提交 `7b97808` 为 `GRP-002`、`GRP-003` 建立 Vue 后台团购与第三方渠道工作区;直订/核销记录、异常筛选、平台配置、环境凭据引用、服务端敏感设置过滤、门店/房间映射,以及 API/人工验券均复用既有租户权限、券码哈希脱敏和幂等边界。Windows 全量、Vue 生产构建与 WSL MySQL 8.4.10 往返通过,M08-D 继续会员与员工用户管理。
|
||||
|
||||
| ID | 功能 | 模块子阶段 | 状态 | 最近提交 | 测试/验收证据 | 阻塞原因 | 下一步 |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| ENV-001 | 固定 Windows 工作区 | M00-A/M00-B | DONE | 远端 HEAD | 已确认 `D:\qipai`,Git 根、main 分支、固定 origin 和 push 校验通过。 | - | 后续每模块继续复检。 |
|
||||
@@ -63,8 +65,8 @@
|
||||
| WAL-004 | 优惠券和套餐权益 | M07-C/M08 | PARTIAL | `4701674` | 已建立优惠券模板、持券、套餐计划、持有和权益核销流水;支持满减券、时长券、适用门店/房型/房间/星期/节假日、套餐剩余时长/金额,以及订单冻结、确认核销、退回和重复请求幂等;M08-A 个人中心已展示可用/冻结券和套餐汇总,并新增本人优惠券/套餐明细页;下单预占可通过可视化选择器冻结优惠券/套餐并重算订单金额,时长券可按服务端单价折算抵扣,支付成功确认核销,取消订单释放冻结权益。 | 发放/购买入口和真机支付验收待补。 | M09 接入后台发放/购买和管理入口;M08-A 继续真机验收。 |
|
||||
| MEM-001 | 会员管理 | M07-D/M08 | PARTIAL | `7446852` | 已实现后台会员聚合查询服务和 `/admin-api/members`、`/admin-api/members/:id`;新增顾客端 `/app-api/profile` 和小程序个人中心,可查看注册/最近登录、订单数、消费额、余额、充值、优惠券、套餐和最近钱包流水,手机号脱敏,租户/门店范围及本人读取通过测试。 | 管理员赠券、余额人工调整、禁用、备注和后台前端页面需在 M09/M08 管理端接入并复用既有审计能力。 | M08-A 继续补顾客端权益明细;M09 接入后台会员管理页面。 |
|
||||
| GRP-001 | 团购券兑换 | M05-C | PARTIAL | `cda640b` | 已实现美团/点评、抖音、快手统一适配器,支持顾客粘贴/扫码值、管理员人工核销、Mock/API 核销、clientRequestId 幂等和券码 SHA-256 存储;重复券不能再次记账,WSL MySQL 8.4.9 实测通过。 | 缺各平台商家 API 授权,未执行真实厂商核销。 | 取得授权后配置 API endpoint/token 并执行真实验券。 |
|
||||
| GRP-002 | 美团直订 | M05-C | PARTIAL | `cda640b` | 已实现 HMAC 回调、事件幂等、外部门店/房间映射、未映射人工队列、顾客认领和团购支付订单生成;映射成功订单可进入 PAID。 | 缺美团开放平台授权和真实回调协议确认。 | 取得授权后按厂商协议实现专用签名适配并联调。 |
|
||||
| GRP-003 | 管理员验券 | M05-C/M08 | PARTIAL | `ce52f07` | 已提供管理员小程序扫码/手输券码、在线核销、显式人工确认、待支付订单选择和最近核销记录;金额由服务端订单未付金额推导,写权限叠加授权门店,记录保留操作人/门店/平台结果,券码仅存 SHA-256 和掩码;Windows 全量与 WSL MySQL 8.4.10 实测通过。 | 缺美团/抖音/快手真实商家 API 授权,未执行厂商真实核销。 | 取得授权后配置 API 模式并执行真实验券。 |
|
||||
| GRP-002 | 美团直订 | M05-C | PARTIAL | `7b97808` | 已实现 HMAC 回调、事件幂等、外部门店/房间映射、未映射人工队列、顾客认领和团购支付订单生成;映射成功订单可进入 PAID。Vue 后台可按平台/门店/状态查看直订队列、维护同租户资源映射,并以安全读取接口查看过滤后的配置。 | 缺美团开放平台授权和真实回调协议确认。 | 取得授权后按厂商协议实现专用签名适配并联调。 |
|
||||
| GRP-003 | 管理员验券 | M05-C/M08 | PARTIAL | `7b97808` | 已提供管理员小程序与 Vue 后台扫码/手输券码、在线核销、显式人工确认、待支付订单选择和脱敏核销记录;金额由服务端订单未付金额推导,写权限叠加授权门店,记录保留操作人/门店/平台结果,券码仅存 SHA-256 和掩码;后台凭据只接受环境引用,敏感设置键不从读取接口返回。 | 缺美团/抖音/快手真实商家 API 授权,未执行厂商真实核销。 | 取得授权后配置 API 模式并执行真实验券。 |
|
||||
| ADM-001 | 管理员小程序模式 | M08/M06 | PARTIAL | `ce52f07` | 已完成角色入口、授权门店概况/房态、订单处置与代下单、会员/员工概况、保洁验收、设备状态、临时开门/电控、管理员验券和门店经营统计;按钮按 capability 展示,服务端重复校验租户、门店与写权限,关键写操作保留实际操作人审计。 | 真实团购商家、微信和硬件现场验收条件未提供。 | M08-D 继续平台后台;具备外部条件后补真机与现场验收。 |
|
||||
| REP-001 | 数据统计报表 | M10/M08 | PARTIAL | `65f2e7c` | 门店 7/30/90 日经营统计已同时接入管理员小程序与 Vue 后台,返回订单总量/状态/预订额、OWNER 下单会员、成功支付实收与渠道、每日收入、当前房态、验券成功/失败;最长查询 93 天,租户与门店范围由服务端校验,后台支持授权门店切换、趋势条和明确口径提示,MySQL 实测 `GROUP_BUY` 渠道与成功支付口径。 | 尚缺全门店汇总、自定义导出、使用率/使用时长和生产数据复算验收。 | M08-D/M10 扩展平台统计、导出和指标口径文档。 |
|
||||
| FRN-001 | 加盟商与自动分账 | M05-D/M10/M08 | PARTIAL | `4eac99d` | 已实现租户/门店收款账户、商户号、环境凭据引用、分账授权状态、接收方哈希脱敏、比例总和校验、支付后幂等分账和明细查询;Vue 后台已接入账户、接收方、策略、记录和执行入口,未授权不能开启,生产环境 Mock 强制关闭。 | 缺微信支付服务商和分账权限,尚未执行真实分账。 | 取得权限后执行真实分账与对账;M10 补完整加盟流程。 |
|
||||
|
||||
@@ -7,11 +7,11 @@ execution_cursor:
|
||||
stage_status: DOING
|
||||
last_completed_stage: M08-C
|
||||
next_stage: M08-D
|
||||
last_engineering_commit: `4eac99d`
|
||||
last_engineering_commit: `7b97808`
|
||||
last_push_verified: true
|
||||
base_branch: main
|
||||
blocked_reason: "M08-A 真机合法域名、真实微信支付和实物开门验证缺微信后台/商户/硬件现场条件;M08-B 可独立工程内容已完成,真实商户凭据、微信后台配置、生产小额转账和实物硬件结果保持 BLOCKED_EXTERNAL;M08-C 可独立工程内容已完成,真实美团/抖音/快手商家授权与真机验券保持 BLOCKED_EXTERNAL,已按规则旁路进入 M08-D。M06-G 真实硬件联调仍缺生产 MQTT 账号/ACL、DeviceID、控制箱、门锁、插座和现场配线。"
|
||||
updated_at: 2026-08-10T12:00:13+08:00
|
||||
updated_at: 2026-08-10T12:10:43+08:00
|
||||
```
|
||||
|
||||
| 模块 | 状态 | 最近提交 | 最近开发日志 | 备注 |
|
||||
@@ -24,7 +24,7 @@ execution_cursor:
|
||||
| M05 会员、余额、套餐、优惠券 | PARTIAL | `1680d73` | docs/devlogs/2026-06-22-M05-D-分账与收款配置.md | M05-A/B/C/D 工程闭环已完成:统一支付、微信支付退款、团购直订、门店收款账户、分账接收方、比例策略、授权门禁、幂等分账和对账查询均通过 Windows 与 WSL MySQL 回归;真实微信/团购/分账权限未提供,模块保持 PARTIAL/BLOCKED_EXTERNAL。 |
|
||||
| M06 设备、MQTT 与真实硬件联动 | PARTIAL | `d01f771` | docs/devlogs/2026-06-24-M06-G-真实硬件联调.md | M06-A 至 F 已完成 MQTT、拓扑、协议幂等、控制箱、Sub-1G 门锁、智慧插座和订单自动联动任务;M06-G 已补真实硬件烟测运行器,缺生产 MQTT 账号/ACL、DeviceID 和实物配线,保持 BLOCKED_EXTERNAL。 |
|
||||
| M07 会员、余额、充值、优惠券和套餐营销 | DONE | `ed0d455` | docs/devlogs/2026-06-24-M07-D-会员管理.md | M07-A 已完成现金/赠送双余额账本;M07-B 已完成充值优惠;M07-C 已完成优惠券/套餐权益底表和冻结、确认、退回的可靠补偿核销服务;M07-D 已完成会员画像、订单、消费、余额、充值、优惠券和套餐聚合查询。 |
|
||||
| M08 微信原生小程序完整业务 | PARTIAL | `4eac99d` | docs/devlogs/2026-08-10-M08-D-Vue平台后台.md | M08-A 顾客端、M08-B 保洁端和 M08-C 管理员/员工端的可独立工程内容已完成,真实微信、团购和硬件现场验收按 BLOCKED_EXTERNAL 旁路。M08-D 已建立 Vue 运营总览、保洁、门店/房间、订单和资金运营;资金页支持收款账户环境引用、授权、脱敏接收方、比例策略、分账记录、微信退款、对账和 API/Mock 分账,继续团购与第三方运营。 |
|
||||
| M08 微信原生小程序完整业务 | PARTIAL | `7b97808` | docs/devlogs/2026-08-10-M08-D-Vue平台后台.md | M08-A 顾客端、M08-B 保洁端和 M08-C 管理员/员工端的可独立工程内容已完成,真实微信、团购和硬件现场验收按 BLOCKED_EXTERNAL 旁路。M08-D 已建立 Vue 运营总览、保洁、门店/房间、订单、资金和第三方渠道运营;支持直订/核销记录、平台环境凭据引用、安全设置读取、资源映射和管理员 API/人工验券,继续会员与员工用户管理。 |
|
||||
| M09 后台管理端完整业务 | TODO | - | - | - |
|
||||
| M10 部署、域名、验收和运维闭环 | TODO | - | - | - |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user