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.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; import javax.annotation.Resource; /** * @author wzy * @date 2022-05-31 **/ @Configuration public class RabbitConfiguration { @Resource private ConnectionFactory connectionFactory; @Bean @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public RabbitTemplate rabbitTemplate() { return new RabbitTemplate(connectionFactory); } // === 业绩树 start === @Bean public DirectExchange achieveTreeExchange() { return new DirectExchange(QueueEnum.ACHIEVE_TREE.getExchange()); } @Bean public Queue achieveTreeQueue() { return new Queue(QueueEnum.ACHIEVE_TREE.getQueue()); } @Bean public Binding achieveTreeBind() { return BindingBuilder.bind(achieveTreeQueue()).to(achieveTreeExchange()).with(QueueEnum.ACHIEVE_TREE.getRoute()); } // === 业绩树 end === // === 提现手续费 start === @Bean public DirectExchange withdrawFeeExchange() { return new DirectExchange(QueueEnum.WITHDRAW_FEE.getExchange()); } @Bean public Queue withdrawFeeQueue() { return new Queue(QueueEnum.WITHDRAW_FEE.getQueue()); } @Bean public Binding withdrawFeeBind() { return BindingBuilder.bind(withdrawFeeQueue()).to(withdrawFeeExchange()).with(QueueEnum.WITHDRAW_FEE.getRoute()); } // === 提现手续费 end === // === tfc最新价 start === @Bean public DirectExchange tfcNewPriceExchange() { return new DirectExchange(QueueEnum.TFC_NEW_PRICE.getExchange()); } @Bean public Queue tfcNewPriceQueue() { return new Queue(QueueEnum.TFC_NEW_PRICE.getQueue()); } @Bean public Binding tfcNewPriceBind() { return BindingBuilder.bind(tfcNewPriceQueue()).to(tfcNewPriceExchange()).with(QueueEnum.TFC_NEW_PRICE.getRoute()); } // === tfc最新价 end === // === 手续费分发 start === @Bean public DirectExchange feeDistributeExchange() { return new DirectExchange(QueueEnum.DISTRIB_PROFIT.getExchange()); } @Bean public Queue feeDistributeQueue() { return new Queue(QueueEnum.DISTRIB_PROFIT.getQueue()); } @Bean public Binding feeDistributeBind() { return BindingBuilder.bind(feeDistributeQueue()).to(feeDistributeExchange()).with(QueueEnum.DISTRIB_PROFIT.getRoute()); } // === 手续费分发 end === // === 层级奖励分发 start === @Bean public DirectExchange levelProfitExchange() { return new DirectExchange(QueueEnum.LEVEL_PROFIT.getExchange()); } @Bean public Queue levelProfitQueue() { return new Queue(QueueEnum.LEVEL_PROFIT.getQueue()); } @Bean public Binding levelProfitBind() { return BindingBuilder.bind(levelProfitQueue()).to(levelProfitExchange()).with(QueueEnum.LEVEL_PROFIT.getRoute()); } // === 层级奖励分发 end === // === 计算是否有人出局 start === @Bean public DirectExchange memberOutExchange() { return new DirectExchange(QueueEnum.MEMBER_OUT.getExchange()); } @Bean public Queue memberOutQueue() { return new Queue(QueueEnum.MEMBER_OUT.getQueue()); } @Bean public Binding memberOutBind() { return BindingBuilder.bind(memberOutQueue()).to(memberOutExchange()).with(QueueEnum.MEMBER_OUT.getRoute()); } // === 计算是否有人出局 end === // === 转账拨币 start === @Bean public DirectExchange bnbTransferExchange() { return new DirectExchange(QueueEnum.BNB_TRANSFER.getExchange()); } @Bean public Queue bnbTransferQueue() { return new Queue(QueueEnum.BNB_TRANSFER.getQueue()); } @Bean public Binding bnbTransferBind() { return BindingBuilder.bind(bnbTransferQueue()).to(bnbTransferExchange()).with(QueueEnum.BNB_TRANSFER.getRoute()); } // === 转账拨币 end === // === 代理升级 start === @Bean public DirectExchange agentUpExchange() { return new DirectExchange(QueueEnum.BNB_AGENT_UP.getExchange()); } @Bean public Queue agentUpQueue() { return new Queue(QueueEnum.BNB_AGENT_UP.getQueue()); } @Bean public Binding agentUpBind() { return BindingBuilder.bind(agentUpQueue()).to(agentUpExchange()).with(QueueEnum.BNB_AGENT_UP.getRoute()); } // === 代理升级 end === // === 消息测试 start === @Bean public DirectExchange bnbTransferTestExchange() { return new DirectExchange(QueueEnum.BNB_TRANSFER_TEST.getExchange()); } @Bean public Queue bnbTransferTestQueue() { return new Queue(QueueEnum.BNB_TRANSFER_TEST.getQueue()); } @Bean public Binding bnbTransferTestBind() { return BindingBuilder.bind(bnbTransferTestQueue()).to(bnbTransferTestExchange()).with(QueueEnum.BNB_TRANSFER_TEST.getRoute()); } // === 消息测试 end === // === A 入金的消息 start === @Bean public DirectExchange antACoinInExchange() { return new DirectExchange(QueueEnum.ANT_A_CION_IN.getExchange()); } @Bean public Queue antACoinInQueue() { return new Queue(QueueEnum.ANT_A_CION_IN.getQueue()); } @Bean public Binding antACoinInBind() { return BindingBuilder.bind(antACoinInQueue()).to(antACoinInExchange()).with(QueueEnum.ANT_A_CION_IN.getRoute()); } // === A 入金的消息 end === // === A 入金,转入A底池 start === @Bean public DirectExchange antACoinInAPoolExchange() { return new DirectExchange(QueueEnum.ANT_A_CION_IN_A_POOL.getExchange()); } @Bean public Queue antACoinInAPoolQueue() { return new Queue(QueueEnum.ANT_A_CION_IN_A_POOL.getQueue()); } @Bean public Binding antACoinInAPoolBind() { return BindingBuilder.bind(antACoinInAPoolQueue()).to(antACoinInAPoolExchange()).with(QueueEnum.ANT_A_CION_IN_A_POOL.getRoute()); } // === A 入金,转入A底池 end === // === A 入金,转入B底池 start === @Bean public DirectExchange antACoinInBPoolExchange() { return new DirectExchange(QueueEnum.ANT_A_CION_IN_B_POOL.getExchange()); } @Bean public Queue antACoinInBPoolQueue() { return new Queue(QueueEnum.ANT_A_CION_IN_B_POOL.getQueue()); } @Bean public Binding antACoinInBPoolBind() { return BindingBuilder.bind(antACoinInBPoolQueue()).to(antACoinInBPoolExchange()).with(QueueEnum.ANT_A_CION_IN_B_POOL.getRoute()); } // === A 入金,转入B底池 end === // === A 入金,5%节点 start === @Bean public DirectExchange antACoinInNodeExchange() { return new DirectExchange(QueueEnum.ANT_A_CION_IN_NODE.getExchange()); } @Bean public Queue antACoinInNodeQueue() { return new Queue(QueueEnum.ANT_A_CION_IN_NODE.getQueue()); } @Bean public Binding antACoinInNodeBind() { return BindingBuilder.bind(antACoinInNodeQueue()).to(antACoinInNodeExchange()).with(QueueEnum.ANT_A_CION_IN_NODE.getRoute()); } // === A 入金,5%节点 end === // === A 入金,极差奖 start === @Bean public DirectExchange antACoinInLevelExchange() { return new DirectExchange(QueueEnum.ANT_A_CION_IN_LEVEL.getExchange()); } @Bean public Queue antACoinInLevelQueue() { return new Queue(QueueEnum.ANT_A_CION_IN_LEVEL.getQueue()); } @Bean public Binding antACoinInLevelBind() { return BindingBuilder.bind(antACoinInLevelQueue()).to(antACoinInLevelExchange()).with(QueueEnum.ANT_A_CION_IN_LEVEL.getRoute()); } // === A 入金,极差奖 end === // === A 提现 start === @Bean public DirectExchange antACoinOutExchange() { return new DirectExchange(QueueEnum.ANT_A_CION_OUT.getExchange()); } @Bean public Queue antACoinOutQueue() { return new Queue(QueueEnum.ANT_A_CION_OUT.getQueue()); } @Bean public Binding antACoinOutBind() { return BindingBuilder.bind(antACoinOutQueue()).to(antACoinOutExchange()).with(QueueEnum.ANT_A_CION_OUT.getRoute()); } // === A 提现 end === // === A 会员升级 start === @Bean public DirectExchange antMemberLevelExchange() { return new DirectExchange(QueueEnum.ANT_MEMBER_LEVEL.getExchange()); } @Bean public Queue antMemberLevelQueue() { return new Queue(QueueEnum.ANT_MEMBER_LEVEL.getQueue()); } @Bean public Binding antMemberLevelBind() { return BindingBuilder.bind(antMemberLevelQueue()).to(antMemberLevelExchange()).with(QueueEnum.ANT_MEMBER_LEVEL.getRoute()); } // === A 会员升级 end === // === A k线数据 start === @Bean public DirectExchange antKLineExchange() { return new DirectExchange(QueueEnum.ANT_K_LINE.getExchange()); } @Bean public Queue antKLineQueue() { return new Queue(QueueEnum.ANT_K_LINE.getQueue()); } @Bean public Binding antKLineBind() { return BindingBuilder.bind(antKLineQueue()).to(antKLineExchange()).with(QueueEnum.ANT_K_LINE.getRoute()); } // === A k线数据 end === // === A k线数据 start === @Bean public DirectExchange antKLineABExchange() { return new DirectExchange(QueueEnum.ANT_K_LINE_AB.getExchange()); } @Bean public Queue antKLineABQueue() { return new Queue(QueueEnum.ANT_K_LINE_AB.getQueue()); } @Bean public Binding antKLineABBind() { return BindingBuilder.bind(antKLineABQueue()).to(antKLineABExchange()).with(QueueEnum.ANT_K_LINE_AB.getRoute()); } // === A k线数据 end === // === A k线数据 start === @Bean public DirectExchange allMemberPerkAvaExchange() { return new DirectExchange(QueueEnum.ALL_MEMBER_PERK_AVA.getExchange()); } @Bean public Queue allMemberPerkAvaQueue() { return new Queue(QueueEnum.ALL_MEMBER_PERK_AVA.getQueue()); } @Bean public Binding allMemberPerkAvaBind() { return BindingBuilder.bind(allMemberPerkAvaQueue()).to(allMemberPerkAvaExchange()).with(QueueEnum.ALL_MEMBER_PERK_AVA.getRoute()); } // === A k线数据 end === // === A 合约铸造ANDAO start === @Bean public DirectExchange contractAnDaoExchange() { return new DirectExchange(QueueEnum.CONTRACT_AN_DAO.getExchange()); } @Bean public Queue contractAnDaoQueue() { return new Queue(QueueEnum.CONTRACT_AN_DAO.getQueue()); } @Bean public Binding contractAnDaoBind() { return BindingBuilder.bind(contractAnDaoQueue()).to(contractAnDaoExchange()).with(QueueEnum.CONTRACT_AN_DAO.getRoute()); } // === A 合约铸造ANDAO end === // === A 合约铸造ANDAO start === @Bean public DirectExchange contractAnDaoInExchange() { return new DirectExchange(QueueEnum.ANT_A_CION_IN_CONTRACT.getExchange()); } @Bean public Queue contractAnDaoInQueue() { return new Queue(QueueEnum.ANT_A_CION_IN_CONTRACT.getQueue()); } @Bean public Binding contractAnDaoInBind() { return BindingBuilder.bind(contractAnDaoInQueue()).to(contractAnDaoInExchange()).with(QueueEnum.ANT_A_CION_IN_CONTRACT.getRoute()); } // === A 合约铸造ANDAO end === }