From 9fb1a68d11a8928f2ba602dd68dc00d19ca7429f Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 27 Feb 2024 15:47:57 +0800
Subject: [PATCH] 抽奖
---
src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java | 124 +++++++++++++++++++++++++++--------------
1 files changed, 81 insertions(+), 43 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 cdca235..a2c82db 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
@@ -31,55 +31,93 @@
return new RabbitTemplate(connectionFactory);
}
- @Bean
- public DirectExchange defaultExchange() {
- return new DirectExchange(ExchangeConstants.EXCHANGE_DEFAULT);
- }
+ // === 延时 start ===
@Bean
- public Queue defaultQueue() {
- return new Queue(QueueConstants.QUEUE_DEFAULT);
+ public DirectExchange delayExchangeTtl() {
+ return new DirectExchange(RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getExchange());
}
-
- @Bean
- 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());
+ return BindingBuilder.bind(orderDelayQueueTtl()).to(delayExchangeTtl()).with(RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getRoute());
+ }
+ @Bean
+ public Queue orderDelayQueueTtl() {
+ return QueueBuilder.durable(RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getQueue())
+ //到期后转发的交换机
+ .withArgument("x-dead-letter-exchange", RabbitQueueEnum.CHOU_JIANG_TIME.getExchange())
+ //到期后转发的路由键
+ .withArgument("x-dead-letter-routing-key", RabbitQueueEnum.CHOU_JIANG_TIME.getRoute())
+ .build();
+ }
+ @Bean
+ public DirectExchange orderDelayExchange() {
+ return new DirectExchange(RabbitQueueEnum.CHOU_JIANG_TIME.getExchange());
+ }
+ @Bean
+ public Queue orderDelayQueue() {
+ return new Queue(RabbitQueueEnum.CHOU_JIANG_TIME.getQueue());
+ }
+ @Bean
+ public Binding orderDelayBind() {
+ return BindingBuilder.bind(orderDelayQueue()).to(orderDelayExchange()).with(RabbitQueueEnum.CHOU_JIANG_TIME.getRoute());
+ }
+ // === 延时 end ===
+
+
+ // === 延时 start ===
+ @Bean
+ public DirectExchange delayExchangeTtlNoTime() {
+ return new DirectExchange(RabbitQueueEnum.NO_TIME_TTL.getExchange());
+ }
+ @Bean
+ public Binding orderDelayBindTtlNoTime() {
+ return BindingBuilder.bind(orderDelayQueueTtlNoTime())
+ .to(delayExchangeTtlNoTime())
+ .with(RabbitQueueEnum.NO_TIME_TTL.getRoute());
+ }
+ @Bean
+ public Queue orderDelayQueueTtlNoTime() {
+ return QueueBuilder.durable(RabbitQueueEnum.NO_TIME_TTL.getQueue())
+ //到期后转发的交换机
+ .withArgument("x-dead-letter-exchange", RabbitQueueEnum.NO_TIME.getExchange())
+ //到期后转发的路由键
+ .withArgument("x-dead-letter-routing-key", RabbitQueueEnum.NO_TIME.getRoute())
+ .build();
+ }
+ @Bean
+ public DirectExchange orderDelayExchangeNoTime() {
+ return new DirectExchange(RabbitQueueEnum.NO_TIME.getExchange());
+ }
+ @Bean
+ public Queue orderDelayQueueNoTime() {
+ return new Queue(RabbitQueueEnum.NO_TIME.getQueue());
+ }
+ @Bean
+ public Binding orderDelayBindNoTime() {
+ return BindingBuilder.bind(orderDelayQueueNoTime())
+ .to(orderDelayExchangeNoTime())
+ .with(RabbitQueueEnum.NO_TIME.getRoute());
+ }
+ // === 延时 end ===
+
+
+
+ // === 处理中奖 start ===
+ @Bean
+ public DirectExchange openPriceExchange() {
+ return new DirectExchange(RabbitQueueEnum.OPEN_PRICE.getExchange());
}
+ @Bean
+ public Queue openPriceQueue() {
+ return new Queue(RabbitQueueEnum.OPEN_PRICE.getQueue());
+ }
+
+ @Bean
+ public Binding openPriceBind() {
+ return BindingBuilder.bind(openPriceQueue()).to(openPriceExchange()).with(RabbitQueueEnum.OPEN_PRICE.getRoute());
+ }
+ // === 处理中奖 end ===
}
--
Gitblit v1.9.1