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 ===
|
}
|