后台业务机制与异常处理设计
2026-09-29 · 设计修订,不是原型实现、接口合同或生产验收。保留现有视觉与全局经营+单客户下钻结构,不新增REQ。
上游:确认政策、交易协议、状态定义。本文只派生后台职责,不另定义领域状态枚举;未决事项引用DECISIONS。下列“处理中/待核算”等是工作进度说明,不新增订单终态。
1. 对象与注意力分配
全局先呈现正常经营数量,再突出需要处理的例外;正常未到期的待确认不是异常。客户层集中解释同一对象的内容、配送、钱款和下一步,不强制先建服务事项才能查询或管理。
| 对象 / Owner | 必须能核对 | 不得混同 |
|---|---|---|
| 餐次 / Customer | 菜卡版本、日期、历次购买引用 | 草稿修改不更改已购商品 |
| 购买批次、订单 / Commerce | 批次→订单→行;配送日、地址快照、独立确认范围、前驱后继 | 周是视图;订单不跨日/地址,独立时段拆单;同日新购不是重复单 |
| 确认安排 / Demand | 安排ID、订单范围及版本、政策版本、时区、绝对截止、同意与接受记录 | 一单同一时刻一个有效确认范围;合并配送不让后加订单继承旧授权 |
| 执行范围 / Fulfillment | gate、generation、停止依据、任务及现场结果 | 没有任务不证明永久不会执行;任务完成不等于送达 |
| 原收款与分配 / Commerce | 交易、币种、金额切片、占用/消费/退款预留/实退 | 批次总额不是钱包余额,也不是可退金额 |
| 称重与计价 / Fulfillment、Commerce | 原始观察、被采用证据、订单行、冻结单价、计价版本 | 录入重量不等于接受重量,更不等于结算完成 |
各处显示源对象、源版本和查询时点。来源失联显示未知,不填零或推断“未支付”。批量动作列出每单成功、拒绝、未知;所有汇总可下钻且不双计替换前后订单。
2. 配送确认与自动取消
入口:全局确认概览,或客户配送安排。先展示日期、菜品、期望送达、是否已确认;展开查看付款核验、订单成立、授权、费用和截止依据。截止用安排保存的Asia/Shanghai绝对时刻,不取浏览器时区或人工选择“已截止”。
| 场景 | 系统处理 | 后台可做 / 不可做 |
|---|---|---|
| 付款核验成功且订单成立,尚未确认 | 立即开放该单确认;可提前多日 | 查询、解释、发送客户自助入口;D-06未定不开放代确认 |
| 窗口内客户提交 | 校验当前商品/地址/时间/费用同意、版本、资金及准备时间;同一裁决内检查t<截止 | 查询源接受结果;“回执齐全”勾选不构成证明 |
| 已提前确认,配送日未登录 | 按原承诺正常履约 | 不催重复确认,不执行未确认到期取消 |
| pending且t>=截止 | Demand expired→不可执行证据→Commerce cancelled | 自动执行;人工只查例外,不设每日批量取消必做任务 |
| 截止任务迟跑或停机 | 确认命令仍拒绝过期接受;恢复后幂等补扫 | 查看漏处理年龄、原请求、等待步骤;补扫不延长窗口 |
| 旧安排已到期/订单终态 | 永久保留原决定 | 重新购买用新单、新安排、新同意;不提供恢复原单按钮 |
flowchart TD
P[付款已核验且订单成立] --> W[安排待确认]
W --> G{同一安排版本裁决}
G -->|截止前且门禁满足| A[已接受:正常履约]
G -->|到截止仍未接受| E[安排到期:禁止确认]
E --> S[持久停止证据:拒绝迟到执行]
S --> C[对应订单取消:确认超时]
C --> F[独立核算与资金处置]
E --> N[继续服务:合法新购买]
N --> P
图中新购买不是回写旧对象。停止回执未齐时显示“本次不配送·取消处理中”;取消确认后显示“未正常履约 · 配送时间确认超时”。资金进度另列,不把原因归为商家送货违约,不以通知送达作为取消前置。若发现已切配等相反现场证据,隔离原执行范围并核验,不伪造停止完成。
费用解释先检查是否可承接,再计算距送达的间隔。默认政策下16:00确认18:00配送应拒绝,而不是显示免费后放行;15:00确认17:00为满120分钟免费(仍须时段与准备时间合法)。15:01确认17:00为119分钟,费用档位待D-01,不能默认¥3/6/9。提前已接受的18:00配送不因16:00截止被取消。时段区间的计费基准未定,不自行取起点或终点。
3. 政策发布与自动作业
Demand拥有确认政策;在全局政策区提供草稿、差异预览、权限核验、发布及生效范围。显示版本、适用服务范围、生效日期、时区、截止、准备时间和操作者依据。发布前检查配置完整、时段合法、同范围版本适用无歧义,并区分新安排、已有pending、accepted、expired的影响数量。
新版本只用于适用范围内新建立的安排;已有安排保存截止快照,不能静默修改。需要改变已有承诺时另走通知、授权和处置流程;回退配置也以新版本影响未来对象,不抹旧版本、延长旧窗口或复活终态。缺有效配置拒绝新承诺,已承担义务的查询、停止及资金恢复继续可用。
Platform只提供调度和观测:最近扫描时点、水位、积压、原操作重试及执行结果。Demand负责到期判定,Fulfillment负责停止,Commerce负责取消与资金。后台区分“逾期未裁决”“停止证据未齐”“关单未完成”“资金未收敛”,不能以Job成功标整链完成。重复补扫命中原目标;停用提醒不等于停用到期机制。等待预算和真实接手人待D-07,未配置不伪造SLA或无人值守保障。
4. 取消、换菜与改址改时
入口:全局订单/异常,或客户购买/餐次;两处使用同一命令与请求ID。提交前列出具体订单及范围、当前执行版本、变更内容、授权、资金可用依据及对其他日期的影响。
| 阶段 | 必须观察的结果 | 拒绝、失败与恢复出口 |
|---|---|---|
| 保存申请、核对新方案 | 原单版本、适用授权、唯一请求;换菜有新规格/报价 | 不合法则拒绝且原单未变;重复申请回原请求,同键异内容拒绝 |
| 冻结与开工竞争 | 同一执行gate裁决;无任务也须停止墓碑 | 开工先赢转实际处置/售后;现场未知查实物,不重复派工 |
| 停止、撤旧授权、关闭旧单 | 各Owner分项回执;前驱永久不可执行 | 部分完成按原目标恢复;冻结后不静默解冻送旧菜 |
| 换菜建立后继及合法资金分配 | 新单ID、前驱、来源唯一性、原款可用切片、必要补款 | 已退款/预留/未知资金不可挪用;政策不足显示待裁决,不承诺只补差价 |
| 新内容确认与承接 | 新商品/地址/时间/费用同意及当前窗口资格 | 可复用已明确覆盖新内容的同意形成新记录,不能复制旧授权;失败不复活旧单 |
| 取消或替换结果交代 | 旧单终点、新单进度、停止与钱款分别说明 | “待人工处置”必须带等待方、下一命令、升级依据;不是终点 |
取消只走适用的停止、关单、资金步骤,不强制创建新单。部分行/数量取消规则仍待D-02/03,不用整单取消冒充已支持。改址改时不一概新订单:商业标的不变且契约允许时追加修正及受控后继安排;授权和旧执行停止仍须核验,地址簿更改不回写原快照。已出发等超出边界情形进入专门处置,不设管理员跳过按钮。
5. 称重、结算与退款核验
称重链:原始观察(设备/人工来源、时间、单位、任务版本)→有权采用与更正依据→绑定订单行及数量→冻结单价、计价规则版本→行级应收及预付差额→政策允许的资金处置。更正保留原观察,不覆盖历史结算。重复称重事件不重复消费;失效任务、跨订单或单位无法换算的证据拒绝采用。
按实际重量计价已决定。D-04尚未决定超重、舍入、优惠/配送费分摊与应收确认时点;缺规则时显示“待核算:缺计价政策”,可展示重量和价格依据,但不落最终应收、不擅自补扣或宣布结清。批次结清后晚到事实进入独立调整,不重开旧结算。
D-05未定期间,原款页面展示已验证实收和合法分配事实、待处置原因,不称“已留存”或“可用余额”;取消并不自动产生已批准退款指令。退款方式、时点、无争议部分提前退、替换复用原款均受相应政策及资金守卫约束。已有合法退款义务继续核验,不因新政策待定而遗弃。
| 原目标查证结果 | 判定依据 | 后续处理 |
|---|---|---|
| 已验证成功 | 原Provider/账户/交易目标、币种金额一致,可信回执及来源版本 | 核销原预留,记录结果;同一成功不重复记账 |
| 确定失败 | 渠道合同定义的确定失败证据,不是超时或未查到 | 由Commerce受控释放或合法重试;客服不能随意释放再退 |
| 仍未知 | 暂无充分证据 | 保留原目标和额度,查原请求、继续对账与升级;不重发不具备幂等保证的动作 |
| 相反/冲突证据 | 与既有结果矛盾、目标或金额不符 | 建立差异核验,保护相关资金;不覆盖已验证终态 |
备注和上传凭据只用于提交线索,不等于验证通过。预览中的合成场景选择器也不是真实授权或渠道证明。退款与重新分配竞争受同一原款额度保护;不能各自页面成功却共用同一份钱。
6. 权限、迁移与恢复
每次提交重新核验岗位、范围、客户归属、对象版本和适用授权;经办与复核分离。禁止跨客户关联证据、旧页签覆盖新事实及管理员通用改状态。撤权后不能发起新义务,受限系统主体可继续原有恢复义务,保留发起者及实际执行者。
后续原型同步必须保留旧记录与请求。缺配送日期、时区、截止快照、资金来源或归属的旧样例标为待核实,不猜测补齐并放行;如需重建演示数据,先明确备份与重置范围。回退视图不回滚已收款、已作业或终态事实。本轮不执行迁移、清库、生成器或发布。
取舍:不选人工每日停送,避免人缺席即失控;不选统一“已安排”状态,避免付款/授权/执行混淆;不选默认退款方案,避免把设计补全变成未获批准的资金决策。代价是需呈现分项等待,采用概要+按需展开维持原有清晰度。
7. 设计检查与尚未完成
| 检查族 | 必须反证的场景 | 设计落点 / 责任域 |
|---|---|---|
| 身份及范围 | 跨日批次、同日二次购买、组合配送只取消一单、独立时段拆单 | §1、4 / Commerce、Demand |
| 时间竞争 | 付款后确认多日;15:59:59.999、16:00及之后;点击早但裁决晚;响应晚;已确认不登录 | §2 / Demand |
| 自动恢复与政策 | 停机补扫、迟到授权、无任务停止、旧快照保护、无配置及政策回退 | §2、3 / Demand、Fulfillment、Commerce |
| 取消替换 | 冻结/开工两种胜出、部分回执、旧终态+新单失败、重复替换、原款已退/未知 | §4 / Commerce、Fulfillment |
| 金额及证据 | 重复/更正称重、缺计价规则、退款与分配竞争、四类查询结果、批次结清后调整 | §5 / Commerce、Fulfillment、Finance |
| 权限及批量 | 无权/撤权、跨客户、陈旧版本、同键异载荷、多单部分成功、源不可用 | §1、6 / Identity及命令Owner |
本轮维护与文档复核:主会话。业务政策由用户决定;执行岗位、真实负责人、SLA和外部合同仍须按D-01~D-14收敛,未指定不能算已具备生产能力。
审查BA-01~BA-11在本文件分别由§2、§2、§2/6、§2、§5、§1、§4、§5、§5、§3、模块说明与来源索引承接。状态为“设计已修订,原型与验证待同步”,不关闭代码缺陷。后续须同步生成源、模型、两层页面、stories/flows/cases,并从两端证明同源结果及上述反例;本轮文档检查不能替代。