开始

扇形的exchange
image.png

复习一下
image.png

如果这个exchange是fanout类型的。那么它会忽略routingKey也会忽略队列和exchange之间的绑定关系。它会直接把所有的消息发送给所有的队列。它有几个队列就变成了几条消息。所有的队列都会收到。这就很适合事件的广播
image.png

订单微服务和结算微服务的交互。
image.png

image.png

image.png
这里有个handleMessage方法
image.png
把订单微服务 绑定上 结算的交换机。
image.png
订单微服务所监听的队列 绑定exchang上
image.png

业务逻辑

我们写在deliverCallback里面。
image.png
判断您订单的状态
image.png
起手微服务,把消息发送回来,就走下面的逻辑
image.png
餐厅已经确认的状态。我们收到这个订单给结算微服务发消息。
首先判断有没有骑手的id。

image.png

为什么上面把null放在前面 判断不等于呢?
因为这里如果放在后面判断不为null ,但是少些了叹号的时候,这样就变成了赋值,
image.png
一赋值就出错。
image.png
订单的结果更新。更新状态为骑手已确认,并把骑手的id也更新到数据库内。
image.png

发消息给结算服务。

发送消息给结算服务。。这里的routingKey不重要,因为exchange是fanout的广播类型的
image.png

else的情况
image.png

结束