From 3f7956fa7435a2b581336dc067cf8f25c1719e1c Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 01 Mar 2024 10:44:22 +0800 Subject: [PATCH] 抽奖 --- src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java | 43 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java b/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java index 8e4f150..30330c5 100644 --- a/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java +++ b/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java @@ -1,13 +1,21 @@ package cc.mrbird.febs.rabbit.producter; +import cc.mrbird.febs.mall.dto.OpenPrice; import cc.mrbird.febs.rabbit.constants.ExchangeConstants; import cc.mrbird.febs.rabbit.constants.RouteKeyConstants; +import cc.mrbird.febs.rabbit.enumerates.RabbitQueueEnum; +import cn.hutool.core.util.IdUtil; import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.AmqpException; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.core.MessagePostProcessor; import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import javax.validation.constraints.NotNull; +import java.util.Date; import java.util.UUID; /** @@ -39,9 +47,36 @@ } - public void sendOrderReturn(Long id) { - log.info("发送消息:{}", id); - CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString()); - rabbitTemplate.convertAndSend(ExchangeConstants.EXCHANGE_DEFAULT, RouteKeyConstants.ROUTE_KEY_DEFAULT, id, correlationData); + public void sendChouJiangDelayMsg(String id, Long times) { + log.info("发送延时开奖信息消息:{}, {}", id, times); + rabbitTemplate.convertAndSend(RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getExchange(), + RabbitQueueEnum.CHOU_JIANG_TIME_TTL.getRoute(), + id, new MessagePostProcessor() { + @Override + public Message postProcessMessage(Message message) throws AmqpException { + message.getMessageProperties().setExpiration(String.valueOf(times)); + return message; + } + }); + } + + public void sendNoTimeDelayMsg(String id, Long times) { + log.info("发送停止下注:{}, {}", id, times); + rabbitTemplate.convertAndSend(RabbitQueueEnum.NO_TIME_TTL.getExchange(), + RabbitQueueEnum.NO_TIME_TTL.getRoute(), + id, new MessagePostProcessor() { + @Override + public Message postProcessMessage(Message message) throws AmqpException { + message.getMessageProperties().setExpiration(String.valueOf(times)); + return message; + } + }); + } + + public void sendOpenPriceMsg(OpenPrice openPrice) { + log.info("发送开奖信息:{}, {}", openPrice.getKjNo(), openPrice.getKjNum()); + CorrelationData correlationData = new CorrelationData(IdUtil.simpleUUID()); + rabbitTemplate.convertAndSend(RabbitQueueEnum.OPEN_PRICE.getExchange(), + RabbitQueueEnum.OPEN_PRICE.getRoute(), openPrice, correlationData); } } -- Gitblit v1.9.1