From df864d1d636751424fd642d3bdd33c53cf63500d Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 07 Jul 2025 17:51:09 +0800
Subject: [PATCH] feat(mall): 为活动订单项添加积分和成长值奖 - 在活动添加和编辑页面增加积分和成长值输入字段 - 更新活动实体类,添加 scoreCnt 和 growthCnt 字段 - 修改活动订单项处理逻辑,增加积分和成长值奖励的计算和发放 - 优化活动订单项状态检查逻辑,移除冗余代码

---
 src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 1 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..d40c39d 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
@@ -2,12 +2,18 @@
 
 import cc.mrbird.febs.rabbit.constants.ExchangeConstants;
 import cc.mrbird.febs.rabbit.constants.RouteKeyConstants;
+import cc.mrbird.febs.rabbit.enumerates.RabbitQueueEnum;
 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;
 
 /**
@@ -42,6 +48,67 @@
     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);
+        rabbitTemplate.convertAndSend(RabbitQueueEnum.ORDER_RETURN_MONEY.getExchange(), RabbitQueueEnum.ORDER_RETURN_MONEY.getRoute(), id, correlationData);
+    }
+
+    public void sendOrderCancelDelayMsg(Long id, Long times) {
+        log.info("发送自动取消订单消息:{}, {}", id, times);
+        rabbitTemplate.convertAndSend(RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getExchange(), RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getRoute(), id, new MessagePostProcessor() {
+            @Override
+            public Message postProcessMessage(Message message) throws AmqpException {
+                message.getMessageProperties().setExpiration(String.valueOf(times));
+                return message;
+            }
+        });
+    }
+
+    /**
+     * 发送代理自动升级消息
+     *
+     * @param memberId
+     */
+    public void sendAutoLevelUpMsg(@NotNull Long memberId) {
+        log.info("发送代理自动升级消息:{}", memberId);
+        rabbitTemplate.convertAndSend(ExchangeConstants.EXCHANGE_DEFAULT, RouteKeyConstants.ROUTE_KEY_DEFAULT, memberId);
+    }
+
+    public void sendReturnMoneyMsg(Long orderId) {
+        log.info("发送返利消息:{}", orderId);
+        rabbitTemplate.convertAndSend(RabbitQueueEnum.AGENT_REUTRN_MONEY.getExchange(), RabbitQueueEnum.AGENT_REUTRN_MONEY.getRoute(), orderId);
+    }
+
+
+    public void sendOrderCoupon(Long id) {
+        log.info("发送使用优惠卷消息:{}", id);
+        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
+        rabbitTemplate.convertAndSend(RabbitQueueEnum.ORDER_COUPON.getExchange(), RabbitQueueEnum.ORDER_COUPON.getRoute(), id, correlationData);
+    }
+
+    public void sendGetScoreMsg(Long orderId) {
+        log.info("发送获得积分消息:{}", orderId);
+
+        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
+        rabbitTemplate.convertAndSend(RabbitQueueEnum.GET_SCORE_MSG.getExchange(), RabbitQueueEnum.GET_SCORE_MSG.getRoute(), orderId, correlationData);
+    }
+
+    public void sendVipLevelUp(Long orderId) {
+        log.info("发送会员升级消息:{}", orderId);
+
+        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
+        rabbitTemplate.convertAndSend(RabbitQueueEnum.VIP_LEVEL_UP.getExchange(), RabbitQueueEnum.VIP_LEVEL_UP.getRoute(), orderId, correlationData);
+    }
+
+    public void sendSaleLevelUp(Long orderId) {
+        log.info("发送团长升级:{}", orderId);
+
+        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
+        rabbitTemplate.convertAndSend(RabbitQueueEnum.SALE_LEVEL_UP.getExchange(), RabbitQueueEnum.SALE_LEVEL_UP.getRoute(), orderId, correlationData);
+    }
+
+    public void sendCheckActivityItem(Long orderId) {
+        log.info("核销活动门票:{}", orderId);
+
+        CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
+        rabbitTemplate.convertAndSend(RabbitQueueEnum.ACTIVITY_ORDER_ITEM_CHECK.getExchange(), RabbitQueueEnum.ACTIVITY_ORDER_ITEM_CHECK.getRoute(), orderId, correlationData);
     }
 }

--
Gitblit v1.9.1