xiaoyong931011
2023-08-15 84c7afc62bb1eb6f5d80d2d9928d0d11a1ffbdda
src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
@@ -3,10 +3,8 @@
import cc.mrbird.febs.rabbit.constants.ExchangeConstants;
import cc.mrbird.febs.rabbit.constants.QueueConstants;
import cc.mrbird.febs.rabbit.constants.RouteKeyConstants;
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 cc.mrbird.febs.rabbit.enumerates.RabbitQueueEnum;
import org.springframework.amqp.core.*;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
@@ -47,4 +45,171 @@
    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());
    }
    @Bean
    public Queue autoLevelUpAgentQueue() {
        return new Queue(QueueConstants.AGENT_AUTO_LEVEL_UP);
    }
    @Bean
    public Binding autoLevelUpBind() {
        return BindingBuilder.bind(autoLevelUpAgentQueue()).to(defaultExchange()).with(RouteKeyConstants.ROUTE_KEY_DEFAULT);
    }
    @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());
    }
    /** 新用户注册 start**/
    @Bean
    public DirectExchange memberSubExchange() {
        return new DirectExchange(RabbitQueueEnum.YWG_MEMBER_SUB.getExchange());
    }
    @Bean
    public Queue memberSubQueue() {
        return new Queue(RabbitQueueEnum.YWG_MEMBER_SUB.getQueue());
    }
    @Bean
    public Binding memberSubBind() {
        return BindingBuilder.bind(memberSubQueue()).to(memberSubExchange()).with(RabbitQueueEnum.YWG_MEMBER_SUB.getRoute());
    }
    /** 新用户注册 end**/
    /** 新用户注册 start**/
    @Bean
    public DirectExchange memberSubScanExchange() {
        return new DirectExchange(RabbitQueueEnum.YWG_MEMBER_SUB_SCAN.getExchange());
    }
    @Bean
    public Queue memberSubScanQueue() {
        return new Queue(RabbitQueueEnum.YWG_MEMBER_SUB_SCAN.getQueue());
    }
    @Bean
    public Binding memberSubScanBind() {
        return BindingBuilder.bind(memberSubScanQueue()).to(memberSubScanExchange()).with(RabbitQueueEnum.YWG_MEMBER_SUB_SCAN.getRoute());
    }
    /** 新用户注册 end**/
    /** 用户信息 start**/
    @Bean
    public DirectExchange memberInfoExchange() {
        return new DirectExchange(RabbitQueueEnum.YWG_MEMBER_INFO.getExchange());
    }
    @Bean
    public Queue memberInfoQueue() {
        return new Queue(RabbitQueueEnum.YWG_MEMBER_INFO.getQueue());
    }
    @Bean
    public Binding memberInfoBind() {
        return BindingBuilder.bind(memberInfoQueue()).to(memberInfoExchange()).with(RabbitQueueEnum.YWG_MEMBER_INFO.getRoute());
    }
    /** 新用户注册 end**/
    /** 支付后同意验证 start**/
    @Bean
    public DirectExchange orderGetExchange() {
        return new DirectExchange(RabbitQueueEnum.YWG_ORDER_GET.getExchange());
    }
    @Bean
    public Queue orderGetQueue() {
        return new Queue(RabbitQueueEnum.YWG_ORDER_GET.getQueue());
    }
    @Bean
    public Binding orderGetBind() {
        return BindingBuilder.bind(orderGetQueue()).to(orderGetExchange()).with(RabbitQueueEnum.YWG_ORDER_GET.getRoute());
    }
    /** 支付后同意验证 end**/
    /** 支付后生成我的课程或者我的民宿卷 start**/
    @Bean
    public DirectExchange rollSendExchange() {
        return new DirectExchange(RabbitQueueEnum.YWG_ROLL_SEND.getExchange());
    }
    @Bean
    public Queue rollSendQueue() {
        return new Queue(RabbitQueueEnum.YWG_ROLL_SEND.getQueue());
    }
    @Bean
    public Binding rollSendBind() {
        return BindingBuilder.bind(rollSendQueue()).to(rollSendExchange()).with(RabbitQueueEnum.YWG_ROLL_SEND.getRoute());
    }
    /** 支付后生成我的课程或者我的民宿卷 end**/
}