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); } // === speed 支付订单 start === @Bean public DirectExchange speedPayOrderExchange() { return new DirectExchange(QueueEnum.SPEED_PAY_ORDER.getExchange()); } @Bean public Queue speedPayOrderQueue() { return new Queue(QueueEnum.SPEED_PAY_ORDER.getQueue()); } @Bean public Binding speedPayOrderBind() { return BindingBuilder.bind(speedPayOrderQueue()).to(speedPayOrderExchange()).with(QueueEnum.SPEED_PAY_ORDER.getRoute()); } // === speed 支付订单 end === // === speed 代理升级 start === @Bean public DirectExchange speedLevelUpExchange() { return new DirectExchange(QueueEnum.SPEED_LEVEL_UP.getExchange()); } @Bean public Queue speedLevelUpQueue() { return new Queue(QueueEnum.SPEED_LEVEL_UP.getQueue()); } @Bean public Binding speedLevelUpBind() { return BindingBuilder.bind(speedLevelUpQueue()).to(speedLevelUpExchange()).with(QueueEnum.SPEED_LEVEL_UP.getRoute()); } // === speed 代理升级 end === // === speed 代理升级 start === @Bean public DirectExchange speedLevelUpTeamExchange() { return new DirectExchange(QueueEnum.SPEED_LEVEL_UP_TEAM.getExchange()); } @Bean public Queue speedLevelUpTeamQueue() { return new Queue(QueueEnum.SPEED_LEVEL_UP_TEAM.getQueue()); } @Bean public Binding speedLevelUpTeamBind() { return BindingBuilder.bind(speedLevelUpTeamQueue()).to(speedLevelUpTeamExchange()).with(QueueEnum.SPEED_LEVEL_UP_TEAM.getRoute()); } // === speed 代理升级 end === // === speed 直推返利 start === @Bean public DirectExchange speedDirectPerkExchange() { return new DirectExchange(QueueEnum.SPEED_DIRECT_PERK.getExchange()); } @Bean public Queue speedDirectPerkQueue() { return new Queue(QueueEnum.SPEED_DIRECT_PERK.getQueue()); } @Bean public Binding speedDirectPerkBind() { return BindingBuilder.bind(speedDirectPerkQueue()).to(speedDirectPerkExchange()).with(QueueEnum.SPEED_DIRECT_PERK.getRoute()); } // === speed 代理升级 end === // === speed 卖出资产 start === @Bean public DirectExchange speedSalePackageExchange() { return new DirectExchange(QueueEnum.SPEED_SALE_PACKAGE.getExchange()); } @Bean public Queue speedSalePackageQueue() { return new Queue(QueueEnum.SPEED_SALE_PACKAGE.getQueue()); } @Bean public Binding speedSalePackageBind() { return BindingBuilder.bind(speedSalePackageQueue()).to(speedSalePackageExchange()).with(QueueEnum.SPEED_SALE_PACKAGE.getRoute()); } // === speed 卖出资产 end === }