From b31ae14c493b58c21d8c4cb78d3ffd38bbd5dea5 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 19 Dec 2024 16:53:29 +0800
Subject: [PATCH] refactor(mall): 优化团队信息初始化和数据结构

---
 src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java |   39 +++++++++++++++++++++++++++++++--------
 1 files changed, 31 insertions(+), 8 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..99a93d4 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
@@ -1,14 +1,16 @@
 package cc.mrbird.febs.rabbit.producter;
 
-import cc.mrbird.febs.rabbit.constants.ExchangeConstants;
-import cc.mrbird.febs.rabbit.constants.RouteKeyConstants;
+import cc.mrbird.febs.mall.dto.ApiMemberChargeFailDto;
+import cc.mrbird.febs.rabbit.enumerates.RabbitQueueEnum;
+import com.alibaba.fastjson.JSON;
 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 java.util.UUID;
 
 /**
  * @author wzy
@@ -39,9 +41,30 @@
 
     }
 
-    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);
+    /**
+     * 购买VIP自动过期
+     * @param apiMemberChargeFailDto
+     */
+    public void sendMemberChargeFailMsg(ApiMemberChargeFailDto apiMemberChargeFailDto) {
+        log.info("发送购买VIP自动过期: {}", JSON.toJSONString(apiMemberChargeFailDto));
+        rabbitTemplate.convertAndSend(
+                RabbitQueueEnum.RUN_VIP_OPERATION_CHARGE_FAIL_TTL.getExchange(),
+                RabbitQueueEnum.RUN_VIP_OPERATION_CHARGE_FAIL_TTL.getRoute(),
+                apiMemberChargeFailDto,
+                new MessagePostProcessor() {
+                    @Override
+                    public Message postProcessMessage(Message message) throws AmqpException {
+                        message.getMessageProperties().setExpiration(String.valueOf(apiMemberChargeFailDto.getFailTime()));
+                        return message;
+                    }
+                });
+    }
+
+    public void sendBuyVipSuccessMsg(Long id) {
+        log.info("发送购买成功消息:{}",id);
+        rabbitTemplate.convertAndSend(
+                RabbitQueueEnum.RUN_VIP_OPERATION_CHARGE.getExchange(),
+                RabbitQueueEnum.RUN_VIP_OPERATION_CHARGE.getRoute(),
+                id);
     }
 }

--
Gitblit v1.9.1