我实现了一个类似你这种需求的东西但是不保证能够满足你的需求,毕竟我是给我们公司定制的。代码不能开源但是可以给你提供一种思路。
需求背景:A 业务订单流程和 B 业务订单流程有相似之处但是也有不同的分支,比如 A 订单状态是 已支付--->待发货,而 B 业务是 已支付--->等待制作--->等待入库--->等待发货
C 业务又有其他的逻辑在里面等等。
这里 每个不同的业务我们把它想象成不同的模型
状态机我使用了 AASM, B 继承 A 将会获得和 A 一样的工作流,如果有不同的在 B 工作流中添加,或者重写就可以了。
以后如果想要实现工作流引擎 那么将会实现,后天管理页面中定制一个工作流 A,然后在已有状态中选择第一步执行什么然后到下一步是什么这种定制的可能。