自动修改
This commit is contained in:
+55
-28
@@ -14,14 +14,15 @@
|
||||
|------|------|
|
||||
| **整体完成度(粗估)** | Wave 1 约 **45%**;Wave 2 约 **10%**;Wave 3 约 **5%** |
|
||||
| **可跑通的主链路** | 登录 → 浏览商品 → 同城下单 Mock/微信支付 → 权益 1:1 → **扫码核销** → T+1 门店 payout 记录 → 总部确认打款 |
|
||||
| **最大阻塞** | 端形态(无小程序 C 端)、规则常量冲突(TTL/Tab/SKU/佣金)、Wave 1 缺口(手机号核销/规则弹窗/试核销/自动推小飞侠) |
|
||||
| **最大阻塞** | C 端小程序迁移(暂缓)、Wave 1 缺口(手机号核销/规则弹窗/试核销/自动推小飞侠) |
|
||||
| **P0 冲突** | C2~C7、C14 **已修复**(2026-07-12) |
|
||||
| **冒烟覆盖** | `scripts/smoke-v3.mjs` 仅覆盖窄 W1 切片,**不等于** V3.0 ACC 全量 |
|
||||
|
||||
### Wave 门禁状态
|
||||
|
||||
| 门禁 | 状态 | 一句话 |
|
||||
|------|------|--------|
|
||||
| **W1-S1** 下单+支付+权益 | 🔶 | 链路可跑,SKU/订单 Tab/TTL 不合规 |
|
||||
| **W1-S1** 下单+支付+权益 | 🔶 | TTL/Tab/SKU/佣金已对齐;仍缺小程序形态 |
|
||||
| **W1-S2** 门店核销双通道 | 🔶 | 扫码 ✅;手机号核销 ❌ |
|
||||
| **W1-S3** 合伙人子账号 | ✅ | CRUD + 推广员菜单裁剪已有 |
|
||||
| **W1-S4** 拓店→审核→C 端可见 | 🔶 | 三步录入有;试核销100/负责人复核/SOP 缺失 |
|
||||
@@ -40,26 +41,54 @@
|
||||
|
||||
---
|
||||
|
||||
## 1. ⚠️ 冲突项(必须先改)
|
||||
## 1. ⚠️ 冲突项与改造计划
|
||||
|
||||
> 代码已存在,但与 V3.0 PRD **直接矛盾**,继续开发会累积返工。
|
||||
> 代码已存在但与 V3.0 PRD 直接矛盾。**P0 已于 2026-07-12 执行**;P1/P2 排后续迭代。
|
||||
|
||||
| # | V3.0 要求 | 当前实现 | 证据位置 | 改造建议 |
|
||||
|---|-----------|----------|----------|----------|
|
||||
| C1 | C 端 = **微信小程序** | `apps/h5-user` H5;无 `mini-user` | `apps/h5-user/` | 新建小程序或明确 H5 为过渡并排迁移 |
|
||||
| C2 | 核销码 TTL **3 分钟** | **300 秒(5 分钟)** | `packages/shared-types/src/enums.ts` `REDEEM_TOKEN_TTL_SECONDS=300`;`apps/h5-user/src/pages/RedeemPage.tsx` 文案 | 改常量为 180 + 全端文案 |
|
||||
| C3 | 短信验证码 **3 分钟** | Redis TTL **300 秒** | `server/dukang-api/src/integrations/sms/sms-code.store.ts` | 改 `CODE_TTL_SECONDS=180` |
|
||||
| C4 | 订单 Tab:**待付款 / 已付款 / 已完成** | **5 Tab**(含待发货/待收货) | `apps/h5-user/src/pages/OrderListPage.tsx`;`OrderTab` enum | 改 Tab 映射与列表 API |
|
||||
| C5 | 订单状态机三态展示 | **9 态** `OrderStatus` | `packages/shared-types/src/enums.ts` | PRD 三 Tab 映射到细粒度状态,或收敛状态机 |
|
||||
| C6 | 4 款 **酒祖杜康** + 锚点价 | preV1 杜康系列 ¥399–1299 | `server/dukang-api/prisma/seed-v31.ts` | 替换 seed + 商品管理数据 |
|
||||
| C7 | 默认佣金 **0% 订单 + 3% 核销** | seed **5% 订单佣金** | `seed-v31.ts` `orderCommissionRate: 0.05` | 改 seed 与开城默认 |
|
||||
| C8 | **一号多店**(同号可多店主账号) | `StoreAccount.phone @unique`;创建时**拒绝**重复手机 | `schema.prisma` `StoreAccount`;`store.service.ts` `partnerCheckStorePhone` | 改模型:主账号与门店多对多 |
|
||||
| C9 | 支付后**自动推小飞侠**(同城) | 支付后 delivery `MANUAL`;总部手动推单 | `trade.service.ts`;`admin-xiaofeixia.service.ts` | 支付回调后接 xiaofeixia |
|
||||
| C10 | 门店结算 = **门店主动提现**(W2) | 核销后**自动生成** `StorePayout` | `settlement.service.ts` `createStorePayout` | 增加余额账本 + 提现申请流 |
|
||||
| C11 | 工单 **四类型** | enum 仅 **3 类** `REFUND/RESHIPMENT/ALERT` | `schema.prisma` `TicketType` | 扩展 enum + 用户建单 UI |
|
||||
| C12 | 配送类型含 **现场提货** | `DeliveryType` 仅 `LOCAL/CROSS_CITY` | `packages/shared-types/src/enums.ts` | 新增 `ON_SITE_PICKUP` |
|
||||
| C13 | 多合伙人(全城/区域平级) | 城市 `partnerId` **单合伙人** | `schema.prisma` `CommonCity.partnerId` | 新增合伙人管辖/区县/佣金快照模型 |
|
||||
| C14 | 文档/规则残留 5min、5 Tab | `apps/AGENTS.md`、backend rules 仍写旧口径 | `.cursor/rules/`、`apps/AGENTS.md` | 批量对齐 V3.0 |
|
||||
### 1.1 改造计划总览
|
||||
|
||||
| 阶段 | 冲突项 | 内容 | 状态 |
|
||||
|------|--------|------|------|
|
||||
| **P0** | C2~C7、C14 | TTL、订单三 Tab、SKU seed、佣金默认、文档规则 | ✅ **已执行** |
|
||||
| **P1** | C1 | C 端 H5 过渡;目标微信小程序另立项 | 📋 已决策暂缓 |
|
||||
| **P1** | C9 | 支付后自动推小飞侠 | 📋 待做(Wave 1) |
|
||||
| **P2** | C8 | 一号多店(schema + 拓店确认) | 📋 待做(Wave 2) |
|
||||
| **P2** | C10 | 门店主动提现 + FIN 护栏 | 📋 待做(Wave 2) |
|
||||
| **P2** | C12 | 现场提货 `ON_SITE_PICKUP` | 📋 待做(Wave 2) |
|
||||
| **P3** | C11 | 工单四类型 | 📋 待做(Wave 3) |
|
||||
| **P3** | C13 | 多合伙人管辖/佣金快照 | 📋 待做(Wave 2~3) |
|
||||
|
||||
### 1.2 冲突明细
|
||||
|
||||
| # | V3.0 要求 | 改造前 | 状态 | 改造记录(2026-07-12) |
|
||||
|---|-----------|--------|------|------------------------|
|
||||
| C1 | C 端微信小程序 | `h5-user` H5 | 📋 暂缓 | 工程决策:H5 过渡,小程序另立项 |
|
||||
| C2 | 核销码 TTL **3 分钟** | 300s | ✅ 已修复 | `REDEEM_TOKEN_TTL_SECONDS=180`;C 端文案 |
|
||||
| C3 | 短信验证码 **3 分钟** | 300s | ✅ 已修复 | `SMS_CODE_TTL_SECONDS=180` |
|
||||
| C4 | 订单 Tab 三态 | 5 Tab | ✅ 已修复 | `pending_pay` / `paid` / `completed` |
|
||||
| C5 | 列表展示三态 | 9 态直出 | ✅ 已修复 | 内部状态保留;Tab/列表映射三态 |
|
||||
| C6 | 4 款酒祖杜康 + 锚点价 | preV1 SKU | ✅ 已修复 | `seed-v31.ts` 四 SKU ¥128~498 |
|
||||
| C7 | 佣金 0%+3% | seed 5% 订单 | ✅ 已修复 | seed + `admin-cities` + settlement 默认 |
|
||||
| C8 | 一号多店 | phone @unique | 📋 P2 | 待 schema + `partnerCheckStorePhone` |
|
||||
| C9 | 支付后推小飞侠 | MANUAL delivery | 📋 P1 | 待 `trade.service` 支付回调 |
|
||||
| C10 | 门店主动提现 | 自动 StorePayout | 📋 P2 | 待提现申请流 |
|
||||
| C11 | 工单四类型 | 3 enum | 📋 P3 | 待扩展 `TicketType` |
|
||||
| C12 | 现场提货 | 无 DeliveryType | 📋 P2 | 待 `ON_SITE_PICKUP` |
|
||||
| C13 | 多合伙人 | 单 partnerId | 📋 P2~3 | 待管辖/快照模型 |
|
||||
| C14 | 文档残留旧口径 | 5min/5 Tab | ✅ 已修复 | `apps/AGENTS.md`、rules、agents、skills |
|
||||
|
||||
### 1.3 P0 已改文件清单
|
||||
|
||||
| 模块 | 文件 |
|
||||
|------|------|
|
||||
| 契约 | `packages/shared-types/src/enums.ts` |
|
||||
| 规则 | `packages/domain/src/index.ts`、`index.test.ts` |
|
||||
| 短信 | `server/.../sms/sms-code.store.ts` |
|
||||
| 佣金 | `seed-v31.ts`、`admin-cities.service.ts`、`settlement.service.ts` |
|
||||
| C 端 | `OrderListPage.tsx`、`MinePage.tsx`、`PayPage.tsx`、`RedeemPage.tsx`、`RedeemCodePage.tsx` |
|
||||
| 文档 | `apps/AGENTS.md`、`.cursor/rules/*`、`.cursor/agents/owner-d-shop-redeem.md` |
|
||||
|
||||
> **重跑 seed**:本地需 `cd server/dukang-api && pnpm prisma:seed` 后商品/佣金数据才与 C6/C7 一致。
|
||||
|
||||
---
|
||||
|
||||
@@ -73,13 +102,13 @@
|
||||
| REQ-U-002 | 登录 + 下单强制手机号 | `OrderConfirmPage.tsx`、`PhoneVerifiedGuard` | ✅ |
|
||||
| REQ-U-003 | 微信支付 | `pay-wechat.ts` + 后端 callback | Mock/真实均有 |
|
||||
| REQ-U-004 | 定位/开城 | `HomePage.tsx`、`wechat-location.ts` | 🔶 H5 定位 API |
|
||||
| REQ-U-005~006 | 商品列表/详情 | `HomePage.tsx`、`ProductDetailPage.tsx` | ⚠️ SKU 数据见 C7 |
|
||||
| REQ-U-005~006 | 商品列表/详情 | `HomePage.tsx`、`ProductDetailPage.tsx` | ✅ seed 已对齐酒祖杜康 |
|
||||
| REQ-U-007 | 同城 ≥2 瓶 | `packages/domain` + `trade.service.ts` | ✅ |
|
||||
| REQ-U-010 | 锁单写入 30min | `trade.service.ts` `payExpireAt` | 🔶 无自动取消 job |
|
||||
| REQ-U-011 | 权益 1:1 | `benefit.service.ts` | ✅ |
|
||||
| REQ-U-012 | 客服入口 | `CustomerServicePage.tsx` | 🔶 Mock 对话 |
|
||||
| REQ-U-013~014 | 门店列表/详情 | `StoreListPage.tsx` 等 | ✅ 仅 OPEN |
|
||||
| REQ-U-015 | 出码核销 | `RedeemPage.tsx` | ⚠️ TTL 见 C3 |
|
||||
| REQ-U-015 | 出码核销 | `RedeemPage.tsx` | ✅ TTL 3 分钟 |
|
||||
| REQ-U-017 | 核销后评价 | `RedeemSuccessPage.tsx` | ✅ |
|
||||
| REQ-U-018 | 权益页 Tab | `BenefitPage.tsx` | ✅ |
|
||||
| REQ-U-019 | 个人中心 | `MinePage.tsx` | ✅ |
|
||||
@@ -220,12 +249,9 @@
|
||||
|
||||
## 6. 建议改造顺序(仅 V3.0 视角)
|
||||
|
||||
### P0 — 消除冲突(1~2 天)
|
||||
### P0 — 消除冲突 ✅ 已完成(2026-07-12)
|
||||
|
||||
1. C2/C3:核销码 + 短信 TTL → 3 分钟
|
||||
2. C6/C7:seed SKU + 佣金默认值
|
||||
3. C4/C5:订单三 Tab 与 API 映射
|
||||
4. C14:更新 `apps/AGENTS.md`、`.cursor/rules` 残留旧口径
|
||||
C2~C7、C14 见 §1.3。
|
||||
|
||||
### P1 — 补齐 Wave 1 门禁(3~5 天)
|
||||
|
||||
@@ -264,5 +290,6 @@
|
||||
|
||||
| 日期 | 说明 |
|
||||
|------|------|
|
||||
| 2026-07-12 | 明确总部端保持 WebAdmin,不改为 H5;移除原 C2 端形态冲突 |
|
||||
| 2026-07-12 | **P0 已执行**:C2~C7、C14 代码与文档对齐;§1 改为计划+状态表 |
|
||||
| 2026-07-12 | 明确总部端保持 WebAdmin,不改为 H5 |
|
||||
| 2026-07-11 | 首版:V3.0 PRD 全量对照当前 monorepo |
|
||||
|
||||
Reference in New Issue
Block a user