KKSU
2024-02-20 d6ed2678974b2750fd3b552cd607f487fbac0927
src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
@@ -31,137 +31,93 @@
        return new RabbitTemplate(connectionFactory);
    }
    @Bean
    public DirectExchange defaultExchange() {
        return new DirectExchange(ExchangeConstants.EXCHANGE_DEFAULT);
    }
    // === 延时  start ===
    @Bean
    public Queue defaultQueue() {
        return new Queue(QueueConstants.QUEUE_DEFAULT);
    public DirectExchange delayExchangeTtl() {
        return new DirectExchange(RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getExchange());
    }
    @Bean
    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());
        return BindingBuilder.bind(orderDelayQueueTtl()).to(delayExchangeTtl()).with(RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getRoute());
    }
    @Bean
    public Queue orderDelayQueueTtl() {
        return QueueBuilder.durable(RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getQueue())
                //到期后转发的交换机
                .withArgument("x-dead-letter-exchange", RabbitQueueEnum.CHOU_JIANG_TIME.getExchange())
                //到期后转发的路由键
                .withArgument("x-dead-letter-routing-key", RabbitQueueEnum.CHOU_JIANG_TIME.getRoute())
                .build();
    }
    @Bean
    public DirectExchange orderDelayExchange() {
        return new DirectExchange(RabbitQueueEnum.CHOU_JIANG_TIME.getExchange());
    }
    @Bean
    public Queue orderDelayQueue() {
        return new Queue(RabbitQueueEnum.CHOU_JIANG_TIME.getQueue());
    }
    @Bean
    public Binding orderDelayBind() {
        return BindingBuilder.bind(orderDelayQueue()).to(orderDelayExchange()).with(RabbitQueueEnum.CHOU_JIANG_TIME.getRoute());
    }
    // ===  延时  end ===
    // === 延时  start ===
    @Bean
    public DirectExchange delayExchangeTtlNoTime() {
        return new DirectExchange(RabbitQueueEnum.NO_TIME_TTL.getExchange());
    }
    @Bean
    public Binding orderDelayBindTtlNoTime() {
        return BindingBuilder.bind(orderDelayQueueTtlNoTime())
                .to(delayExchangeTtlNoTime())
                .with(RabbitQueueEnum.NO_TIME_TTL.getRoute());
    }
    @Bean
    public Queue orderDelayQueueTtlNoTime() {
        return QueueBuilder.durable(RabbitQueueEnum.NO_TIME_TTL.getQueue())
                //到期后转发的交换机
                .withArgument("x-dead-letter-exchange", RabbitQueueEnum.NO_TIME.getExchange())
                //到期后转发的路由键
                .withArgument("x-dead-letter-routing-key", RabbitQueueEnum.NO_TIME.getRoute())
                .build();
    }
    @Bean
    public DirectExchange orderDelayExchangeNoTime() {
        return new DirectExchange(RabbitQueueEnum.NO_TIME.getExchange());
    }
    @Bean
    public Queue orderDelayQueueNoTime() {
        return new Queue(RabbitQueueEnum.NO_TIME.getQueue());
    }
    @Bean
    public Binding orderDelayBindNoTime() {
        return BindingBuilder.bind(orderDelayQueueNoTime())
                .to(orderDelayExchangeNoTime())
                .with(RabbitQueueEnum.NO_TIME.getRoute());
    }
    // ===  延时  end ===
    // === 处理中奖  start ===
    @Bean
    public DirectExchange openPriceExchange() {
        return new DirectExchange(RabbitQueueEnum.OPEN_PRICE.getExchange());
    }
    @Bean
    public Queue autoLevelUpAgentQueue() {
        return new Queue(QueueConstants.AGENT_AUTO_LEVEL_UP);
    public Queue openPriceQueue() {
        return new Queue(RabbitQueueEnum.OPEN_PRICE.getQueue());
    }
    @Bean
    public Binding autoLevelUpBind() {
        return BindingBuilder.bind(autoLevelUpAgentQueue()).to(defaultExchange()).with(RouteKeyConstants.ROUTE_KEY_DEFAULT);
    public Binding openPriceBind() {
        return BindingBuilder.bind(openPriceQueue()).to(openPriceExchange()).with(RabbitQueueEnum.OPEN_PRICE.getRoute());
    }
    @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());
    }
    /**
     * 补贴金额
     * @return
     */
    //补贴金额 start
    @Bean
    public DirectExchange perkMoneyExchange() {
        return new DirectExchange(RabbitQueueEnum.PERK_MONEY.getExchange());
    }
    @Bean
    public Queue perkMoneyQueue() {
        return new Queue(QueueConstants.PERK_MONEY);
    }
    @Bean
    public Binding perkMoneyBind() {
        return BindingBuilder.bind(perkMoneyQueue()).to(perkMoneyExchange()).with(RabbitQueueEnum.PERK_MONEY.getRoute());
    }
    //补贴金额 end
    /**
     * 强制卖出
     * @return
     */
    //强制卖出 start
    @Bean
    public DirectExchange forceVoucherSaleExchange() {
        return new DirectExchange(RabbitQueueEnum.FORCE_VOUCHER_SALE.getExchange());
    }
    @Bean
    public Queue forceVoucherSaleQueue() {
        return new Queue(QueueConstants.FORCE_VOUCHER_SALE);
    }
    @Bean
    public Binding forceVoucherSaleBind() {
        return BindingBuilder.bind(forceVoucherSaleQueue()).to(forceVoucherSaleExchange()).with(RabbitQueueEnum.FORCE_VOUCHER_SALE.getRoute());
    }
    //强制卖出 end
    // ===  处理中奖  end ===
}