鼎味肉市DESIGN ATELIER
← 资料目录docs/architecture/08-domain-model/model-07-fulfillment.md阅读原文

DM-07|履约与交付领域模型

状态:working-draft;候选模型,不是已锁定的结构或状态契约。
上游:BC-07;输入:旧聚合材料(历史材料保留在 docs_bak/)。
编写:主会话;业务决策与长期维护人:待指定。日期:2026-09-18。

1. 对象分类与候选聚合

对象 分类 维护什么 要保护的业务含义
FulfillmentOrder 候选根 接收商业确认的履约范围 唯一接收身份需包含合法履约组,不造第二张商业订单
ExecutionGate / ExecutionAllocation 候选门禁根 / 数量份额守卫 范围、generation/fence、依赖版本、前驱停止依据 冻结与开工同点裁决;后继 ID 不能绕开同份数量防重
FulfillmentPlan / PlanVersion 候选根及版本 计划、步骤配置与任务引用 版本修改不暗改执行中任务
Task 候选根 指派、执行状态、依赖与结果引用 领取与改派并发裁决
WorkstationRelease 候选根或门禁记录 工位作业条件的接受依据 需受 Supply 质量结果约束
Observation / MeasurementRecord 观察 / 不可变接受事实 原始测量与采用依据 原始设备数值不自动成为业务事实
Package 候选根 包裹行、封装门禁与标签引用 标签打印不等于封装
DeliveryTask / PickupTask 候选根 执行尝试与证明 一次扫描不等于完成交付
FulfillmentCapacity / Exception 候选根及版本 / 异常对象 能力发布 / 异常恢复 能力不由订单或任务数量直接覆盖

“候选根”表示需要独立身份、生命周期及一致性责任的提案,不代表每行已经确定为一个事务。历史、子实体、值对象及集合的最终边界还需基于规模和不变量核对。

2. 关系与引用

履约接收件引用订单与冻结组;计划引用任务;包裹行关联履约行及 Supply 绑定结果;交付任务关联包裹。Task、Plan、Package 不组成一个无限增长的聚合。

值对象及共享引用的统一含义见 MODELING-RULES。上下文之间引用 ID、版本或不可变快照,不共享可变实体。

3. 生命周期

任务:待执行 → 已领取 → 执行中 → 完成,阻断/取消/转派独立定义;包裹准备、封装和交接分开。交付尝试确定失败后若允许重试,创建新尝试关联原目标,旧终态不复活;结果未知先查现场,不重新派同份作业。执行范围门禁的精确候选迁移见状态定义,不将任务/包裹全部混成这一个门禁状态。

本页概述对象责任;六机范围内的精确候选迁移以 state 单源定义为准,其余对象仍为语义级路径。两者均未锁定,不能直接生成生产枚举。业务对象状态、协调进度和技术回执分别保存与展示。

4. 业务动作与事件

后台计划与指派;作业端提交现场动作;设备适配生成观察;Worker 接收订单确认或取消请求。事件候选:“任务已完成”“测量已接受”“包裹已封装”“交付证明已接受”。

本节事件名称为中文业务语义候选;state 中的事件标识只用于候选状态模型,不是已发布的公共事件 Registry。后续契约设计仍须确定输入、前置条件、结果、错误和受众。

5. 强一致性及并发边界

任务领取与指派版本同一裁决;完成时验证依赖和门禁,不只检查早前 UI 状态;Supply 绑定成功与 Package 封装之间用明确协调及恢复,不能用跨域事务假设掩盖。

开工消费唯一执行份额,同时核验每日授权、资金依据、前驱永久停止、当前 fence 与质量条件。冻结提高 fence,停止墓碑阻止旧事件派新任务;所有子任务及设备受同范围约束。设备无法在不可逆动作前验证时不得离线自主执行。已发生但回执未知必须隔离核验,不靠幂等请求声称物理动作可重试。协议见交易级严谨性。

共同约束见 CONSISTENCY:单根版本不能替代跨对象约束;如需同 BC 多根本地事务,必须明确保护范围与理由,不能默认为整个 BC 一把锁。

6. 反例、未知与下一步

两人领任务、改派后旧设备补传、重复扫码、打印超时、封装缺追溯、交付后取消。未切配可申请取消/换菜,开工先成立则按实际处置;包装规则、设备信任、物理停止证明及部分履约合同仍待定。

上述反例是设计验证目标,尚未执行产品测试。先关闭影响边界的不确定性,再完善动作级迁移表及精确模型。身份、权限与业务状态的联动仍遵守 07 的统一授权接缝,不在本页复制一套权限规则。