设计场景

上图是一个网约车订单的状态流转图,数字代表对应订单状态在数据库中对应的值。
从图中可以看到,已取消
状态可由新订单 0
、待派单 1
、已接单 2
、已出发 3
四个状态变更而来,如果我们将已取消
对应的值设计为数12
,那么我们无法知道这个已取消
状态是由哪个状态变更而来的。
因此,我们定义9
开头的数字都表示已取消
,90
表示该已取消
订单是在新订单
状态下取消的、91
表示该已取消
订单是在待派单
状态下取消的、以此类推。
不适用场景
如果订单状态是可回退的,这种方法可能不适用,具体情况根据业务而定。