目录
项目需求概述
用户从开始下订单,到支付完成,再到物流部进行发货,最终用户确认收货
整个流程涉及到很多订单状态,需要通过代码对订单状态进行管理。
除此之外,用户或者物流部分每一次触发的不同操作,都有可能改变订单状态。
如:
用户创建订单操作导致订单状态为待支付状态
用户支付操作导致订单状态变为待发货状态
物流部门发货操作导致订单状态变为待收货状态
用户确认收货操作导致订单状态变为订单完成状态
开发任务
设计整体结算发货以及收货的流程
用户创建订单-> 支付订单->发货->收货->订单完成
要求:
创建订单完成后,订单状态初始化为待支付
订单状态包括:待支付;待发货;待收货;订单完成(状态模式)
触发订单状态变化的操作:支付订单;发货;确认收货(观察者模式)
开发
使用Spring里面的状态机
监听器实际都是用框架实现,不会手写
引入依赖
<dependency>
<groupId>org.springframework.statemachine</groupId>
<artifactId>spring-statemachine-core</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>