|
|
@ -1,7 +1,9 @@
|
|
|
|
package com.shun.placeOrder.contoller;
|
|
|
|
package com.shun.placeOrder.contoller;
|
|
|
|
|
|
|
|
|
|
|
|
import com.shun.placeOrder.client.*;
|
|
|
|
import com.shun.placeOrder.client.*;
|
|
|
|
|
|
|
|
import com.shun.placeOrder.config.RabbitMQConfig;
|
|
|
|
import jakarta.annotation.Resource;
|
|
|
|
import jakarta.annotation.Resource;
|
|
|
|
|
|
|
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
|
|
|
|
|
@ -23,6 +25,9 @@ public class PlaceOrderController {
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
StockClient stockClient;
|
|
|
|
StockClient stockClient;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
|
|
|
RabbitTemplate rabbitTemplate;
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("po")
|
|
|
|
@GetMapping("po")
|
|
|
|
public String po(){
|
|
|
|
public String po(){
|
|
|
|
long start = System.currentTimeMillis();
|
|
|
|
long start = System.currentTimeMillis();
|
|
|
@ -30,15 +35,29 @@ public class PlaceOrderController {
|
|
|
|
stockClient.delStock();
|
|
|
|
stockClient.delStock();
|
|
|
|
// 调用订单服务 创建订单
|
|
|
|
// 调用订单服务 创建订单
|
|
|
|
orderClient.create();
|
|
|
|
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();
|
|
|
|
couponClient.coupon();
|
|
|
|
// 调用用户积分服务,预扣除用户积分
|
|
|
|
// 调用用户积分服务,预扣除用户积分
|
|
|
|
integralClient.up();
|
|
|
|
integralClient.up();
|
|
|
|
// 调用商家服务,通知商家用户已下单
|
|
|
|
// 调用商家服务,通知商家用户已下单
|
|
|
|
businessClient.notifyBusiness();
|
|
|
|
businessClient.notifyBusiness();
|
|
|
|
long end = System.currentTimeMillis();
|
|
|
|
|
|
|
|
System.out.println("耗时:" + (end - start));
|
|
|
|
|
|
|
|
return "PlaceOrderController finish";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|