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