下单服务发送消息

main
夜灬瞬 2 years ago
parent 93e38dde45
commit a429ddfc4c

@ -1,7 +1,9 @@
package com.shun.placeOrder.contoller;
import com.shun.placeOrder.client.*;
import com.shun.placeOrder.config.RabbitMQConfig;
import jakarta.annotation.Resource;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@ -23,6 +25,9 @@ public class PlaceOrderController {
@Resource
StockClient stockClient;
@Resource
RabbitTemplate rabbitTemplate;
@GetMapping("po")
public String po(){
long start = System.currentTimeMillis();
@ -30,15 +35,29 @@ public class PlaceOrderController {
stockClient.delStock();
// 调用订单服务 创建订单
orderClient.create();
//feginToBu();
mqToBo();
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - start));
return "PlaceOrderController finish";
}
private void mqToBo() {
String userAndOrderInfo = "用户信息&订单信息&优惠券信息等等…………";
// 将同步方式修改为基于RabbitMQ的异步方式
rabbitTemplate.convertAndSend(RabbitMQConfig.PLACE_ORDER_EXCHANGE,"",userAndOrderInfo);
}
private void feginToBu() {
// 调用优惠券服务,预扣除优惠券
couponClient.coupon();
// 调用用户积分服务,预扣除用户积分
integralClient.up();
// 调用商家服务,通知商家用户已下单
businessClient.notifyBusiness();
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - start));
return "PlaceOrderController finish";
}
}

Loading…
Cancel
Save