From 73b3813c2d110bf446f251350f120bb1e2b51d0c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 10 Jan 2023 10:45:14 +0800
Subject: [PATCH] 20221227 充值归集

---
 src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java |  148 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 144 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..2031533 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,146 @@
     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());
+    }
+
+    // === 奖励分发 start ===
+    @Bean
+    public DirectExchange mallCoinDirectRewardExchange() {
+        return new DirectExchange(RabbitQueueEnum.MALL_COIN_DIRECT_REWARD.getExchange());
+    }
+
+    @Bean
+    public Queue mallCoinDirectRewardQueue() {
+        return new Queue(RabbitQueueEnum.MALL_COIN_DIRECT_REWARD.getQueue());
+    }
+
+    @Bean
+    public Binding mallCoinDirectRewardBind() {
+        return BindingBuilder.bind(mallCoinDirectRewardQueue()).to(mallCoinDirectRewardExchange()).with(RabbitQueueEnum.MALL_COIN_DIRECT_REWARD.getRoute());
+    }
+    // === 奖励分发 end ===
+
+    // === 创建新地址 start ===
+    @Bean
+    public DirectExchange mallCoinTrcUsdtAddressExchange() {
+        return new DirectExchange(RabbitQueueEnum.MALL_COIN_TRC_USDT_ADDRESS.getExchange());
+    }
+    @Bean
+    public Queue mallCoinTrcUsdtAddressQueue() {
+        return new Queue(RabbitQueueEnum.MALL_COIN_TRC_USDT_ADDRESS.getQueue(), true);
+    }
+    @Bean
+    public Binding mallCoinTrcUsdtAddressBinding() {
+        return BindingBuilder.bind(mallCoinTrcUsdtAddressQueue()).to(mallCoinTrcUsdtAddressExchange())
+                .with(RabbitQueueEnum.MALL_COIN_TRC_USDT_ADDRESS.getRoute());
+    }
+    // === 创建新地址 end ===
+
+    // === usdt更新 start ===
+    @Bean
+    public DirectExchange mallCoinTrcUsdtUpdateExchange() {
+        return new DirectExchange(RabbitQueueEnum.MALL_COIN_TRC_USDT_UPDATE.getExchange());
+    }
+    @Bean
+    public Queue mallCoinTrcUsdtUpdateQueue() {
+        return new Queue(RabbitQueueEnum.MALL_COIN_TRC_USDT_UPDATE.getQueue(), true);
+    }
+    @Bean
+    public Binding mallCoinTrcUsdtUpdateBinding() {
+        return BindingBuilder.bind(mallCoinTrcUsdtUpdateQueue()).to(mallCoinTrcUsdtUpdateExchange())
+                .with(RabbitQueueEnum.MALL_COIN_TRC_USDT_ADDRESS.getRoute());
+    }
+    // === usdt更新 end ===
+
+    // === TRC20_USDT同步 start ===
+    @Bean
+    public DirectExchange mallCoinTrcTrc20Exchange() {
+        return new DirectExchange(RabbitQueueEnum.MALL_COIN_TRC_TRC20_BLOCK.getExchange());
+    }
+    @Bean
+    public Queue mallCoinTrcTrc20Queue() {
+        return new Queue(RabbitQueueEnum.MALL_COIN_TRC_TRC20_BLOCK.getQueue(), true);
+    }
+    @Bean
+    public Binding mallCoinTrcTrc20Binding() {
+        return BindingBuilder.bind(mallCoinTrcTrc20Queue()).to(mallCoinTrcTrc20Exchange())
+                .with(RabbitQueueEnum.MALL_COIN_TRC_TRC20_BLOCK.getRoute());
+    }
+    // === TRC20_USDT同步 end ===
+
 }

--
Gitblit v1.9.1