From 8032e6933d3eda1ef701fcb1f70b2a0b2523c8d9 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 24 Apr 2025 11:57:20 +0800
Subject: [PATCH] feat(mall): 添加活动订单相关功能
---
src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java | 131 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 127 insertions(+), 4 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
index 96a523b..5c4f242 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
@@ -3,10 +3,8 @@
import cc.mrbird.febs.rabbit.constants.ExchangeConstants;
import cc.mrbird.febs.rabbit.constants.QueueConstants;
import cc.mrbird.febs.rabbit.constants.RouteKeyConstants;
-import org.springframework.amqp.core.Binding;
-import org.springframework.amqp.core.BindingBuilder;
-import org.springframework.amqp.core.DirectExchange;
-import org.springframework.amqp.core.Queue;
+import cc.mrbird.febs.rabbit.enumerates.RabbitQueueEnum;
+import org.springframework.amqp.core.*;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
@@ -47,4 +45,129 @@
public Binding defaultBind() {
return BindingBuilder.bind(defaultQueue()).to(defaultExchange()).with(RouteKeyConstants.ROUTE_KEY_DEFAULT);
}
+
+ @Bean
+ public DirectExchange delayTtlExchange() {
+ return new DirectExchange(RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getExchange());
+ }
+
+ @Bean
+ public DirectExchange orderDelayExchange() {
+ return new DirectExchange(RabbitQueueEnum.ORDER_CANCEL_DELAY.getExchange());
+ }
+
+ @Bean
+ public Queue orderDelayQueue() {
+ return new Queue(RabbitQueueEnum.ORDER_CANCEL_DELAY.getQueue());
+ }
+
+ @Bean
+ public Queue orderDelayQueueTtl() {
+ return QueueBuilder.durable(RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getQueue())
+ //到期后转发的交换机
+ .withArgument("x-dead-letter-exchange", RabbitQueueEnum.ORDER_CANCEL_DELAY.getExchange())
+ //到期后转发的路由键
+ .withArgument("x-dead-letter-routing-key", RabbitQueueEnum.ORDER_CANCEL_DELAY.getRoute())
+ .build();
+ }
+
+ @Bean
+ public Binding orderDelayBind() {
+ return BindingBuilder.bind(orderDelayQueue()).to(orderDelayExchange()).with(RabbitQueueEnum.ORDER_CANCEL_DELAY.getRoute());
+ }
+
+ @Bean
+ public Binding orderDelayBindTtl() {
+ return BindingBuilder.bind(orderDelayQueueTtl()).to(delayTtlExchange()).with(RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getRoute());
+ }
+
+ @Bean
+ public Queue autoLevelUpAgentQueue() {
+ return new Queue(QueueConstants.AGENT_AUTO_LEVEL_UP);
+ }
+
+ @Bean
+ public Binding autoLevelUpBind() {
+ return BindingBuilder.bind(autoLevelUpAgentQueue()).to(defaultExchange()).with(RouteKeyConstants.ROUTE_KEY_DEFAULT);
+ }
+
+ @Bean
+ public DirectExchange agentReturnMoneyExchange() {
+ return new DirectExchange(RabbitQueueEnum.AGENT_REUTRN_MONEY.getExchange());
+ }
+
+ @Bean
+ public Queue agentReturnMoneyQueue() {
+ return new Queue(QueueConstants.AGENT_RETURN_MONEY);
+ }
+
+ @Bean
+ public Binding agentReturnMoneyBind() {
+ return BindingBuilder.bind(agentReturnMoneyQueue()).to(agentReturnMoneyExchange()).with(RabbitQueueEnum.AGENT_REUTRN_MONEY.getRoute());
+ }
+
+
+ @Bean
+ public DirectExchange orderReturnMoneyExchange() {
+ return new DirectExchange(RabbitQueueEnum.ORDER_RETURN_MONEY.getExchange());
+ }
+
+ @Bean
+ public Queue orderReturnMoneyQueue() {
+ return new Queue(QueueConstants.ORDER_RETURN_MONEY);
+ }
+
+ @Bean
+ public Binding orderReturnMoneyBind() {
+ return BindingBuilder.bind(orderReturnMoneyQueue()).to(orderReturnMoneyExchange()).with(RabbitQueueEnum.ORDER_RETURN_MONEY.getRoute());
+ }
+
+
+ @Bean
+ public DirectExchange orderCouponExchange() {
+ return new DirectExchange(RabbitQueueEnum.ORDER_COUPON.getExchange());
+ }
+
+ @Bean
+ public Queue orderCouponQueue() {
+ return new Queue(QueueConstants.ORDER_COUPON);
+ }
+
+ @Bean
+ public Binding orderCouponBind() {
+ return BindingBuilder.bind(orderCouponQueue()).to(orderCouponExchange()).with(RabbitQueueEnum.ORDER_COUPON.getRoute());
+ }
+
+
+ @Bean
+ public DirectExchange getScoreMsgExchange() {
+ return new DirectExchange(RabbitQueueEnum.GET_SCORE_MSG.getExchange());
+ }
+
+ @Bean
+ public Queue getScoreMsgQueue() {
+ return new Queue(QueueConstants.GET_SCORE_MSG);
+ }
+
+ @Bean
+ public Binding getScoreMsgBind() {
+ return BindingBuilder.bind(getScoreMsgQueue()).to(getScoreMsgExchange()).with(RabbitQueueEnum.GET_SCORE_MSG.getRoute());
+ }
+
+
+ @Bean
+ public DirectExchange vipLevelUp() {
+ return new DirectExchange(RabbitQueueEnum.VIP_LEVEL_UP.getExchange());
+ }
+
+ @Bean
+ public Queue vipLevelUpQueue() {
+ return new Queue(QueueConstants.VIP_LEVEL_UP);
+ }
+
+ @Bean
+ public Binding vipLevelUpBind() {
+ return BindingBuilder.bind(vipLevelUpQueue()).to(vipLevelUp()).with(RabbitQueueEnum.VIP_LEVEL_UP.getRoute());
+ }
+
}
--
Gitblit v1.9.1