diff --git a/a-rabbitMQ/placeOrder/src/main/java/com/shun/placeOrder/contoller/PlaceOrderController.java b/a-rabbitMQ/placeOrder/src/main/java/com/shun/placeOrder/contoller/PlaceOrderController.java index c24a116..ad623c6 100644 --- a/a-rabbitMQ/placeOrder/src/main/java/com/shun/placeOrder/contoller/PlaceOrderController.java +++ b/a-rabbitMQ/placeOrder/src/main/java/com/shun/placeOrder/contoller/PlaceOrderController.java @@ -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"; - } }