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