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 invitePerkExchange() {
|
return new DirectExchange(QueueEnum.TFC_INVITE_PERK.getExchange());
|
}
|
|
@Bean
|
public Queue invitePerkQueue() {
|
return new Queue(QueueEnum.TFC_INVITE_PERK.getQueue());
|
}
|
|
@Bean
|
public Binding invitePerkBind() {
|
return BindingBuilder.bind(invitePerkQueue()).to(invitePerkExchange()).with(QueueEnum.TFC_INVITE_PERK.getRoute());
|
}
|
// === 发送推荐规则奖励 end ===
|
|
|
|
// === 发送节点奖励 start ===
|
@Bean
|
public DirectExchange nodePerkExchange() {
|
return new DirectExchange(QueueEnum.TFC_NODE_PERK.getExchange());
|
}
|
|
@Bean
|
public Queue nodePerkQueue() {
|
return new Queue(QueueEnum.TFC_NODE_PERK.getQueue());
|
}
|
|
@Bean
|
public Binding nodePerkBind() {
|
return BindingBuilder.bind(nodePerkQueue()).to(nodePerkExchange()).with(QueueEnum.TFC_NODE_PERK.getRoute());
|
}
|
// === 发送节点奖励 end ===
|
|
|
|
// === 发送复投 start ===
|
@Bean
|
public DirectExchange nodeAgainExchange() {
|
return new DirectExchange(QueueEnum.TFC_NODE_AGAIN.getExchange());
|
}
|
|
@Bean
|
public Queue nodeAgainQueue() {
|
return new Queue(QueueEnum.TFC_NODE_AGAIN.getQueue());
|
}
|
|
@Bean
|
public Binding nodeAgainBind() {
|
return BindingBuilder.bind(nodeAgainQueue()).to(nodeAgainExchange()).with(QueueEnum.TFC_NODE_AGAIN.getRoute());
|
}
|
// === 发送复投 end ===
|
|
|
|
|
|
// === 发送复投 start ===
|
@Bean
|
public DirectExchange nodeAgainExchangeLong() {
|
return new DirectExchange(QueueEnum.TFC_NODE_AGAIN_LONG.getExchange());
|
}
|
|
@Bean
|
public Queue nodeAgainQueueLong() {
|
return new Queue(QueueEnum.TFC_NODE_AGAIN_LONG.getQueue());
|
}
|
|
@Bean
|
public Binding nodeAgainBindLong() {
|
return BindingBuilder.bind(nodeAgainQueueLong()).to(nodeAgainExchangeLong()).with(QueueEnum.TFC_NODE_AGAIN_LONG.getRoute());
|
}
|
// === 发送复投 end ===
|
}
|