比较复杂的点:SKU 可能是动态的。
可以卖实体商品,也可以卖虚拟商品,也可以卖租赁系统。
阿里订单系统:
在考虑订单领域之前,先考虑用户领域,因为订单是和用户关联的。
用户可能有多个归属,可能有私人账号,也可能有企业账号,企业账号有企业绑定的信息。
用户能力是和账号绑定的,订单同样存储的是账号 id。
一个订单最终由什么支付组成 -> PayItem。
订单设计时考虑哪些东西?
所有订单必须有个唯一标识,就是订单流水号。
账号 id 和账号类型设计用户体系。
订单类型,新购、续费。。。。。
支付详情,包含支付项、还包含支付前的虚拟资产。
待支付金额。
订单信息通过列表来存储,每一项 CodeValue 实际上是一个 KV 对。
配送中等状态不属于订单领域,属于履约领域,订单只关心支付状态。
订单的生命周期。
生命周期会记录操作类型
修订和审计功能仍然在开发中,期待。
为什么要写领域服务层,因为我们的业务场景千变万化,有可能在后台下了个单,也有可能在前台下了个单。
领域服务提供了一个约束,即你想要下单,必须传入指定的参数。
在没有产品的情况下,是可以把通用领域层写完的。
我们可以根据订单类型的不同创建不同的索引,如果系统量很大,一定要创建不同的索引。
订单事件监听。
可以通过监听事件来处理保存、生命周期、同步 ES。
库表接口:
包含 3 个表:
order_base、order_item、order_lifecycle














