From febb0e226406f82f2d12b79e46481b24594cb3a4 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 10 May 2024 11:47:33 +0800
Subject: [PATCH] 合约监听
---
src/main/java/cc/mrbird/febs/rabbit/RabbitConfiguration.java | 122 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 118 insertions(+), 4 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/rabbit/RabbitConfiguration.java b/src/main/java/cc/mrbird/febs/rabbit/RabbitConfiguration.java
index 8c44b0d..31025f2 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/RabbitConfiguration.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/RabbitConfiguration.java
@@ -1,9 +1,6 @@
package cc.mrbird.febs.rabbit;
-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 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;
@@ -43,4 +40,121 @@
public Binding defaultBind() {
return BindingBuilder.bind(onlineTransferQueue()).to(onlineTransferExchange()).with(QueueEnum.ONLINE_TRANSFER.getRoute());
}
+
+ @Bean
+ public DirectExchange distribProfitExchange() {
+ return new DirectExchange(QueueEnum.DISTRIB_PROFIT.getExchange());
+ }
+
+ @Bean
+ public Queue distribProfitQueue() {
+ return new Queue(QueueEnum.DISTRIB_PROFIT.getQueue());
+ }
+
+ @Bean
+ public Binding distribProfitBind() {
+ return BindingBuilder.bind(distribProfitQueue()).to(distribProfitExchange()).with(QueueEnum.DISTRIB_PROFIT.getRoute());
+ }
+
+ // === 用户购买奖励 start ===
+ @Bean
+ public DirectExchange userBuyRewardExchange() {
+ return new DirectExchange(QueueEnum.USER_BUY_REWARD.getExchange());
+ }
+
+ @Bean
+ public Queue userBuyRewardQueue() {
+ return new Queue(QueueEnum.USER_BUY_REWARD.getQueue());
+ }
+
+ @Bean
+ public Binding userBuyRewardBind() {
+ return BindingBuilder.bind(userBuyRewardQueue()).to(userBuyRewardExchange()).with(QueueEnum.USER_BUY_REWARD.getRoute());
+ }
+ // === 用户购买奖励 end ===
+
+
+ // === 延时产出 start ===
+ @Bean
+ public DirectExchange delayExchangeTtl() {
+ return new DirectExchange(QueueEnum.GFA_ZY_TIME_TTL.getExchange());
+ }
+ @Bean
+ public Binding orderDelayBindTtl() {
+ return BindingBuilder.bind(orderDelayQueueTtl()).to(delayExchangeTtl()).with(QueueEnum.GFA_ZY_TIME_TTL.getRoute());
+ }
+ @Bean
+ public Queue orderDelayQueueTtl() {
+ return QueueBuilder.durable(QueueEnum.GFA_ZY_TIME_TTL.getQueue())
+ //到期后转发的交换机
+ .withArgument("x-dead-letter-exchange", QueueEnum.GFA_ZY_TIME.getExchange())
+ //到期后转发的路由键
+ .withArgument("x-dead-letter-routing-key", QueueEnum.GFA_ZY_TIME.getRoute())
+ .build();
+ }
+ @Bean
+ public DirectExchange orderDelayExchange() {
+ return new DirectExchange(QueueEnum.GFA_ZY_TIME.getExchange());
+ }
+ @Bean
+ public Queue orderDelayQueue() {
+ return new Queue(QueueEnum.GFA_ZY_TIME.getQueue());
+ }
+ @Bean
+ public Binding orderDelayBind() {
+ return BindingBuilder.bind(orderDelayQueue()).to(orderDelayExchange()).with(QueueEnum.GFA_ZY_TIME.getRoute());
+ }
+ // === 延时产出 end ===
+
+
+ // === 延时产出 start ===
+ @Bean
+ public DirectExchange delayExchangeTtlFlow() {
+ return new DirectExchange(QueueEnum.GFA_ZY_TIME_TTL_FLOW.getExchange());
+ }
+ @Bean
+ public Binding orderDelayBindTtlFlow() {
+ return BindingBuilder.bind(orderDelayQueueTtlFlow()).to(delayExchangeTtlFlow()).with(QueueEnum.GFA_ZY_TIME_TTL_FLOW.getRoute());
+ }
+ @Bean
+ public Queue orderDelayQueueTtlFlow() {
+ return QueueBuilder.durable(QueueEnum.GFA_ZY_TIME_TTL_FLOW.getQueue())
+ //到期后转发的交换机
+ .withArgument("x-dead-letter-exchange", QueueEnum.GFA_ZY_TIME_FLOW.getExchange())
+ //到期后转发的路由键
+ .withArgument("x-dead-letter-routing-key", QueueEnum.GFA_ZY_TIME_FLOW.getRoute())
+ .build();
+ }
+ @Bean
+ public DirectExchange orderDelayExchangeFlow() {
+ return new DirectExchange(QueueEnum.GFA_ZY_TIME_FLOW.getExchange());
+ }
+ @Bean
+ public Queue orderDelayQueueFlow() {
+ return new Queue(QueueEnum.GFA_ZY_TIME_FLOW.getQueue());
+ }
+ @Bean
+ public Binding orderDelayBindFlow() {
+ return BindingBuilder.bind(orderDelayQueueFlow()).to(orderDelayExchangeFlow()).with(QueueEnum.GFA_ZY_TIME_FLOW.getRoute());
+ }
+ // === 延时产出 end ===
+
+
+
+ //滑点 start
+ @Bean
+ public DirectExchange gfaZhiYaHuaDianExchange() {
+ return new DirectExchange(QueueEnum.GFA_ZY_HUA_DIAN.getExchange());
+ }
+
+ @Bean
+ public Queue gfaZhiYaHuaDianQueue() {
+ return new Queue(QueueEnum.GFA_ZY_HUA_DIAN.getQueue());
+ }
+
+ @Bean
+ public Binding gfaZhiYaHuaDianBind() {
+ return BindingBuilder.bind(gfaZhiYaHuaDianQueue()).to(gfaZhiYaHuaDianExchange()).with(QueueEnum.GFA_ZY_HUA_DIAN.getRoute());
+ }
+ //滑点 end
}
--
Gitblit v1.9.1