配置
2024-08-05 14:31:51 0 举报
1
作者其他创作
大纲/内容
状态上,可配置拦截器,跳过验证器,后置触发器3种类型拦截器:必须通过当前状态1的拦截器,才能变更成下一状态跳过验证器:如果能通过下一状态2的跳过验证器,则会跳过状态2,变更成状态3,以此类推后置触发器:如果当前状态变更成功,则会执行当前状态的后置触发器
用户点击到达
二、状态变更
拦截器2
三、后置处理
拦截器1
跳过验证器2
跳过验证器1
假如状态从待到达变更成了已发车这里的后置处理只会触发待到达上配置的后置处理器,而没有触发待装货配置的后置处理器
流程介绍
后置触发器2
状态
状态变更
已发车
一、流程验证
调用运输服务变更运单状态
待装货
后置触发器1
当前修补逻辑: 将后置处理的动作,放到状态变更的最后一个拦截器和最后一个跳过验证器上来做 比如状态从待到达变更成了已发车,则将待到达的后置处理动作放在了拦截器2,待装货的后置处理动作放在了跳过验证器2 基于这种修补的衍生问题: 后置动作依赖状态变更的结果:比如纠偏,就依赖卸货完毕,在更新卸货之后才能纠偏衍生问题修补逻辑: 在流程验证之前加锁,然后在拦截器和跳过验证器中的后置动作进行异步执行,且也去抢这把锁,保证后置动作在状态变更之后才执行
假设:运单当前状态为待到达,用户点击到达之后①先依次执行待到达配置的拦截器,如果都验证通过,则当前状态为待装货②再依次执行待装货配置的跳过验证器,如果都验证通过,则当前状态为已发车③再依次执行已发车和...之间配置的跳过验证器,.........最后返回状态
待到达
0 条评论
回复 删除
下一页