From ded46e4cbc894c60284ce3012885a6c8e5089382 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 21 May 2021 16:08:28 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/rabbit/producer/OtcProducter.java | 10 ++++++++++ src/main/resources/mapper/otc/OtcOrderDao.xml | 2 +- src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java | 20 ++++++++++++++++++++ src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java | 10 +++++++++- 4 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java b/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java index e19007f..135fd40 100644 --- a/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java +++ b/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java @@ -13,6 +13,8 @@ import org.springframework.context.annotation.Scope; import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; /** * @author wzy @@ -122,6 +124,9 @@ public static final String QUEUE_MARKET_BUSSINESS = "QUEUE_MARKET_BUSSINESS"; + public static final String ROUTING_KEY_DELAY = "route.delay"; + public static final String QUEUE_DELAY = "queue.delay"; + @Resource private ConnectionFactory connectionFactory; @@ -146,6 +151,21 @@ } @Bean + public Queue delayQueue() { + Map<String, Object> params = new HashMap<>(); + // x-dead-letter-exchange 声明了队列里的死信转发到的DLX名称, + params.put("x-dead-letter-exchange", EXCHANGE_ONE); + // x-dead-letter-routing-key 声明了这些死信在转发时携带的 routing-key 名称。 + params.put("x-dead-letter-routing-key", ROUTING_KEY_DELAY); + return new Queue(QUEUE_DELAY, true, false, false, params); + } + + @Bean + public Binding delayBinding() { + return BindingBuilder.bind(delayQueue()).to(defaultExchange()).with(ROUTING_KEY_DELAY); + } + + @Bean public Queue marketBussinessQueue() { return new Queue(QUEUE_MARKET_BUSSINESS); } diff --git a/src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java b/src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java index 147842c..8d8a336 100644 --- a/src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java +++ b/src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java @@ -6,14 +6,22 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; +import java.util.Date; + @Slf4j @Component @ConditionalOnProperty(prefix = "app", name = "otc-job", havingValue = "true") public class OtcConsumer { - @RabbitListener(queues = RabbitMqConfig.QUEUE_MARKET_BUSSINESS) +// @RabbitListener(queues = RabbitMqConfig.QUEUE_MARKET_BUSSINESS) public void marketBussiness(String content) { log.info("---->{}", content); } + + +// @RabbitListener(queues = RabbitMqConfig.QUEUE_DELAY) + public void delayOrder() { + log.info("---->{}", new Date()); + } } diff --git a/src/main/java/com/xcong/excoin/rabbit/producer/OtcProducter.java b/src/main/java/com/xcong/excoin/rabbit/producer/OtcProducter.java index cdee752..716c677 100644 --- a/src/main/java/com/xcong/excoin/rabbit/producer/OtcProducter.java +++ b/src/main/java/com/xcong/excoin/rabbit/producer/OtcProducter.java @@ -9,6 +9,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.Date; + @Slf4j @Component public class OtcProducter implements RabbitTemplate.ConfirmCallback { @@ -28,6 +30,14 @@ rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_ONE, RabbitMqConfig.ROUTINGKEY_MARKET_BUSSINESS, content, correlationData); } + public void sendDelayOrderMsg(String content) { + log.info("-----{}", new Date()); + rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_ONE, RabbitMqConfig.ROUTING_KEY_DELAY, message -> { + message.getMessageProperties().setExpiration(60 + ""); + return message; + }); + } + @Override public void confirm(CorrelationData correlationData, boolean b, String s) { diff --git a/src/main/resources/mapper/otc/OtcOrderDao.xml b/src/main/resources/mapper/otc/OtcOrderDao.xml index 4531360..154def2 100644 --- a/src/main/resources/mapper/otc/OtcOrderDao.xml +++ b/src/main/resources/mapper/otc/OtcOrderDao.xml @@ -68,7 +68,7 @@ select count(1) from otc_order where entrust_member_id=#{entrustMemberId} and entrust_member_id!=member_id <if test="status != null"> - and status #{status} + and status = #{status} </if> </select> -- Gitblit v1.9.1