
如图所示,中转服务之后,有个并行网关,同时进入一个支付通知或者抽检的过程,我需要的操作是,抽检如果驳回了就不能操作支付了,但是如果支付完成了就不能抽检了,他俩属于一个同时能操作,但是又有互斥的关系,相当于抢车位,你先走了我就不能走了,我先走了你就不能走了,而且我支付完成任务那里还需要使用MQ来接受,比如中转服务之后,我可以抽检,也可以等别人支付完支付MQ通知我说支付完成了,我就不能让抽检进行了,这样应该怎么操作,可能图画的也不太对,有懂的吗?谢谢
可以通过设置流程变量,控制流程的进度,或者使用网关控制。
在进行抽检或支付时,先加redis锁,两者都获取到该数据的话(并发),看谁先拿到锁。如果锁被另外一方拿到了,就不进行处理(抽检/支付)。