开始

service层

下面来实现业务逻辑

image.png
image.png

商户的服务的起点就是收到消息,
image.png

函数式的方法,不需要显示的实现的。
image.png
用这种匿名类和匿名方法实现就可以了。
image.png

image.png

首先把body反序列化成dto。应ObjectMapper
image.png
拿到dto后需要做业务校验。在数据库里面找一下,消费者要的这个产品是不是可用的。然后找下消费者要的商户是不是可用的,是否是营业的,如果是,那么就计算下价格。就把订单处理的结果返回给我们。
注入两个dao层。
image.png
首先查一下有没有这个商品
image.png
image.png
else的判断,确认订单的状态设置为false
image.png

回复消息。
image.png

调用

谁来调用delivertCallback方法呢?
image.png

写一个handleMessage方法。加上@Async因为它要用异步线程去执行。
image.png
抛出异常
image.png
做监听
image.png
注册上监听器后,程序休眠
image.png
队列的绑定关系做好了吗?谁监听这个队列,谁要做好这个队列的声明

先声明exchange
image.png
再声明队列
image.png

声明绑定关系
image.png

线程池

再做线程池,然后调用一下这个异步的方法。
新建线程池的config
image.png

内容直接复制上一个微服务的
image.png
rabbit的配置类,让方法启动起来。
image.png
直接复制过来。也是和上一个服务是一样的。
image.png

这样商户微服务就开发好了

结束