跳至主要內容
订单状态机

订单有待支付/待发货/待收货/待评价/已完成/已关闭/退款中等状态,每个状态下的操作结果都不一样。
比如待支付状态下取消订单不需要退款,而待发货状态下取消订单需要退款。待收货时就不能取消订单,需要走退款流程。
因此状态机就是为了实现,不同的状态下操作不一样,同样的操作在不同的状态下执行不同的逻辑。

上下文对象

每个处理器的上下文,可以是任意对象,比如订单id,支付详情,创建订单表单等等。因此StateContext中的context是泛型C。除此之外还有固定的操作事件对象,用于寻找对应的订单处理器。


起凡大约 8 分钟起凡商城订单状态机