版本:v1.1 | 日期:2026-09-01 | 起草:小齐 | 状态:已拍板生效(缺口 G1-G4 全部关闭,拍板口径见 §七)
v1.0→v1.1:G-1 口径落定(福钥=商户预付已耗,不退回额度,与余量阈值联动);G-2 白名单两类;G-3/G-4 按建议处置。
触发:刘总 2026-09-01 指令——「很多业务逻辑和关联的事项也需要论证设计」。
问题:六条主链的每一段都单独验收过,但链与链的接缝从未做端到端论证。本文档以链路为单位补上这一层,作为后续施工/联调的验收锚点母本。
引用基线:订单域契约 v1.0(WIP-056)、订单域详设 v1.1、钥匙锚定 v0.8.2、争议规则 v1.1、双轨决议 v1.0、分销 v2.2、反向定制 v1.1a。
本文只论证已定结构的接缝;各链内部细节以源文档为准,冲突时以源文档为最高准。
数据流:游客提交订单 → precheck 类别查重(刘总 23:44 口径:已有有效订单含该类别→提醒可继续;不含→不提醒;有效=status ∈ booked/paid/confirmed/in_service/partially_redeemed)→ 按商户拆单生成 batch_no(码边界=一次下单动作)→ 1P 轨走平台商户号线上收款/3P 轨线下直结双钥匙判定 → 福钥按分笔冻结 → 核销码生成(一码对全单)→ 站内信 N1。
接缝论证:
断点风险:拆单事务中商户侧支付网关超时→batch 半成立;处置=子单独立状态机推进(draft→booked 失败不影响已成立子单),N2 逐商户通知。
验收锚点:跨主体组合单实测四条件展示;查重提醒对五状态集合的边界(cancelled 不提醒);福钥冻结分笔与子单一一对应。
数据流:商户员工扫游客码 → 身份路由(merchant_staff 七角色,owner/manager/cashier 可核销)→ 子订单状态校验(confirmed/in_service/partially_redeemed 才可核销,pending_confirmation 不允许提前)→ 幂等写入 redemption_events(唯一索引防重复提交)→ 子订单推进(partially_redeemed→completed,batch 内全部完成→批次 completed)→ N3(游客)+N4(同 batch 其他商户可见进度)→ 游客 7 日确认窗口(第 5 天 N7 提醒,超时自动确认)→ 游客可异议(N8→客服流程,不进 redemption_conflicts 技术冲突队列)。
接缝论证:
断点风险:码 pending 回退条件判断错误(无其他有效事件时才回 pending)→幽灵码;24h 撤销窗与 7 日确认窗重叠区(撤销发生在游客已确认后)→以事件时间戳裁决,撤销优先但通知 N5。
验收锚点:重复扫码幂等实测;部分核销状态推进 grep 状态机五值零越界;离线补录→N6 全链路 staging 实测。
数据流:redemption_events 聚合 → 月度账单生成(四类金额:服务费/核销补贴/调整项/合计)→ N9 通知商户 → 商户 7 日内确认或争议(dispute 只冻结争议行,无争议部分照付——争议规则 v1.1)→ 超时自动 auto_confirmed + N11 → 平台收入=服务费单轨(保证金已废止,零垫付零押品)。
接缝论证:
断点风险:自动落账定时任务(7 日)与人工争议并发——锁账单行;跨月撤销(见上,调整项)。
验收锚点:四类金额与事件净额逐笔对账脚本;争议行冻结/无争议行照付实测;三连触发与争议未决互斥实测。
数据流:发=商户签协议交服务费时平台赠送(唯一产出通道,定性=不可兑换补贴凭证)→ 冻=下单冻结分笔(credit_journal 记账)→ 核销完成解冻 → 花=游客在 3P 商户处抵扣(线下直结场景)→ 退=撤销/取消逆账回余额。
接缝论证:
断点风险:冻结/解冻与订单状态机不同步(订单 cancelled 但福钥仍冻)——对账脚本每日跑冻结净额=在途订单应收冻结额。
验收锚点:credit_journal 每笔可溯(ref_id 指向订单/事件);退款回余额实测;G-1 已拍板(口径见上)。
数据流:业务事件(下单/确认/核销/撤销/补录/确认提醒/异议/账单三态/裁决)→ 触发点写 app_messages → 游客/商户/运营三方按矩阵投递 → 关键节点(24h 确认超时类)电话兜底=线下 SOP。
接缝论证:
验收锚点:状态机每个转移边与 N 矩阵一一对照的覆盖表(联调时逐边打勾);app_messages 落库与页面展示时延实测。
数据流:游客自组清单(跨商户意向卡,不出总价)→ 发布需求(open 态入广场)→ 广场按品类展示(禁匹配排序/禁抢单竞价/禁闭环成交/禁联系方式裸奔)→ 商户/向导分项表达兴趣(响应颗粒度=分项响应、禁整单承接)→ 过期退出广场(open→expired,我的需求仍可见,可续期 7 天)→ N17 品类订阅推送给订阅商户。
接缝论证:
断点风险:需求含违禁联系方式文本(裸奔禁令)——发布时文本过滤(手机号正则等);过期判定与续期竞态。
验收锚点:排序接口无匹配度字段;响应记录无价格承诺字段;过期需求不出广场实测。
| # | 缺口 | 链 | 拍板结果(2026-09-01) |
|---|---|---|---|
| G-1 | 清退商户的未核销福钥游客侧处置 | 链四 | ✅ 口径=「已发放未核销福钥=商户已花出去的钱(预付),不退回可发额度」;游客侧处置与商户福钥余量阈值联动;细则小齐出方案 |
| G-2 | 电话兜底事件白名单未成文 | 链五 | ✅ 白名单=「确认超时将取消」「争议裁决」两类;作战手册补一节 |
| G-3 | 跨月撤销走下期调整项的账单展示口径 | 链三 | ✅ 按建议:账单域文档补「调整项」子类型说明 |
| G-4 | N 矩阵×状态机转移边覆盖表未制作 | 链五 | ✅ 排入 PLAN-03 订单域前端接管联调首项 |