From e081193a764667cb091390b034795ee05a36b4fb Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 31 Dec 2024 15:20:32 +0800
Subject: [PATCH] feat(rabbitmq): 新增节点升级消息功能
---
src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java | 7 +++
src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java | 19 +++++++++
src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java | 13 ++++++
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 8 ++++
src/main/java/cc/mrbird/febs/rabbit/constants/ExchangeConstants.java | 1
src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java | 1
src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java | 8 ++++
src/main/java/cc/mrbird/febs/mall/service/IAgentService.java | 2 +
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 5 ++
src/main/java/cc/mrbird/febs/rabbit/constants/RouteKeyConstants.java | 1
10 files changed, 64 insertions(+), 1 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
index b6ec57a..d16c5f3 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
@@ -77,4 +77,23 @@
}
// end
+
+
+ // start
+ @Bean
+ public DirectExchange nodeUpExchange() {
+ return new DirectExchange(RabbitQueueEnum.RUN_VIP_NODE_UP.getExchange());
+ }
+
+ @Bean
+ public Queue nodeUpQueue() {
+ return new Queue(RabbitQueueEnum.RUN_VIP_NODE_UP.getQueue());
+ }
+
+ @Bean
+ public Binding nodeUpBind() {
+ return BindingBuilder.bind(nodeUpQueue()).to(nodeUpExchange()).with(RabbitQueueEnum.RUN_VIP_NODE_UP.getRoute());
+ }
+ // end
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAgentService.java b/src/main/java/cc/mrbird/febs/mall/service/IAgentService.java
index f6bbbc9..eea9037 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAgentService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAgentService.java
@@ -13,4 +13,6 @@
void sendMemberChargeFailMsg(ApiMemberChargeFailDto apiMemberChargeFailDto);
void buyVipSuccessMsg(Long chargeId);
+
+ void nodeUpMsg(Long memberId);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
index 9091b6b..a939650 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -15,6 +15,7 @@
import cc.mrbird.febs.mall.service.IAgentService;
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
+import cc.mrbird.febs.rabbit.producter.AgentProducer;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -46,6 +47,7 @@
private final RunVipMapper runVipMapper;
private final IApiMallMemberWalletService walletService;
private final IApiMallMemberService mallMemberService;
+ private final AgentProducer agentProducer;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -282,6 +284,12 @@
Long memberId = mallCharge.getMemberId();
String vipCode = mallCharge.getVipCode();
mallMemberMapper.updateVipLevelTimeAndLevel(memberId,DateUtil.date(),vipCode);
+
+ agentProducer.sendNodeUpMsg(memberId);
+ }
+
+ @Override
+ public void nodeUpMsg(Long memberId) {
DataDictionaryCustom directCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
RunVipDataDictionaryEnum.NODE_DIRECT_CNT.getType(),
RunVipDataDictionaryEnum.NODE_DIRECT_CNT.getCode());
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 60c1d1d..e97d254 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -16,6 +16,7 @@
import cc.mrbird.febs.pay.model.BrandWCPayRequestData;
import cc.mrbird.febs.pay.service.IXcxPayService;
import cc.mrbird.febs.pay.util.MD5;
+import cc.mrbird.febs.rabbit.producter.AgentProducer;
import cc.mrbird.febs.vip.VipSettingUnAliveSettingBo;
import cc.mrbird.febs.vip.entity.MallVipConfig;
import cc.mrbird.febs.vip.mapper.MallVipConfigMapper;
@@ -70,7 +71,6 @@
private final MallShopApplyMapper mallShopApplyMapper;
private final MallRegisterAppealMapper mallRegisterAppealMapper;
private final MallTeamLeaderMapper mallTeamLeaderMapper;
- private final SpringContextHolder springContextHolder;
private final MallAgentRecordMapper mallAgentRecordMapper;
private final IMallMoneyFlowService mallMoneyFlowService;
private final IMallMemberCollectionService mallMemberCollectionService;
@@ -88,6 +88,7 @@
private final MallStoreItemMapper mallStoreItemMapper;
private final MallStoreMemberMapper mallStoreMemberMapper;
private final MallMemberWithdrawMapper mallMemberWithdrawMapper;
+ private final AgentProducer agentProducer;
@Value("${spring.profiles.active}")
@@ -201,6 +202,8 @@
wallet.setBalance(BigDecimal.ZERO);
wallet.setMemberId(mallMember.getId());
mallMemberWalletMapper.insert(wallet);
+
+ agentProducer.sendNodeUpMsg(mallMember.getId());
return new FebsResponse().success().message("注册成功");
}
diff --git a/src/main/java/cc/mrbird/febs/rabbit/constants/ExchangeConstants.java b/src/main/java/cc/mrbird/febs/rabbit/constants/ExchangeConstants.java
index 90d7f2e..030527d 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/constants/ExchangeConstants.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/constants/ExchangeConstants.java
@@ -9,4 +9,5 @@
public static final String RUN_VIP_OPERATION_CHARGE_FAIL_TTL = "exchange_run_vip_operation_charge_fail_tll";
public static final String RUN_VIP_OPERATION_CHARGE_FAIL = "exchange_run_vip_operation_charge_fail";
public static final String RUN_VIP_OPERATION_CHARGE = "exchange_run_vip_operation_charge";
+ public static final String RUN_VIP_NODE_UP = "exchange_run_vip_node_up";
}
diff --git a/src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java b/src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java
index c07c15e..ea779b6 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/constants/QueueConstants.java
@@ -6,6 +6,7 @@
**/
public class QueueConstants {
+ public static final String RUN_VIP_NODE_UP = "queue_run_vip_node_up";
public static final String RUN_VIP_OPERATION_CHARGE = "queue_run_vip_operation_charge";
public static final String RUN_VIP_OPERATION_CHARGE_FAIL = "queue_run_vip_operation_charge_fail";
public static final String RUN_VIP_OPERATION_CHARGE_FAIL_TTL = "queue_run_vip_operation_charge_fail_tll";
diff --git a/src/main/java/cc/mrbird/febs/rabbit/constants/RouteKeyConstants.java b/src/main/java/cc/mrbird/febs/rabbit/constants/RouteKeyConstants.java
index a5ad921..80aec9f 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/constants/RouteKeyConstants.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/constants/RouteKeyConstants.java
@@ -5,6 +5,7 @@
* @date 2021-09-25
**/
public class RouteKeyConstants {
+ public static final String RUN_VIP_NODE_UP = "route_key_run_vip_node_up";
public static final String RUN_VIP_OPERATION_CHARGE = "route_key_run_vip_operation_charge";
public static final String RUN_VIP_OPERATION_CHARGE_FAIL = "route_key_run_vip_operation_charge_fail";
public static final String RUN_VIP_OPERATION_CHARGE_FAIL_TTL = "route_key_run_vip_operation_charge_fail_tll";
diff --git a/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java b/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
index 9ee6f75..ea6d6f4 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
@@ -47,4 +47,17 @@
}
+ /**
+ * 购买成功
+ */
+ @RabbitListener(queues = QueueConstants.RUN_VIP_NODE_UP)
+ public void nodeUpMsg(Long memberId) {
+ try {
+ agentService.nodeUpMsg(memberId);
+ } catch (Exception e) {
+ log.error("消费节点升级异常", e);
+ }
+ }
+
+
}
diff --git a/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java b/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
index b50a883..5e043ff 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
@@ -9,6 +9,13 @@
public enum RabbitQueueEnum {
/**
+ * 节点升级
+ */
+ RUN_VIP_NODE_UP(ExchangeConstants.RUN_VIP_NODE_UP,
+ RouteKeyConstants.RUN_VIP_NODE_UP,
+ QueueConstants.RUN_VIP_NODE_UP),
+
+ /**
* 购买成功消息
*/
RUN_VIP_OPERATION_CHARGE(ExchangeConstants.RUN_VIP_OPERATION_CHARGE,
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 99a93d4..8fc3fb3 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
@@ -67,4 +67,12 @@
RabbitQueueEnum.RUN_VIP_OPERATION_CHARGE.getRoute(),
id);
}
+
+ public void sendNodeUpMsg(Long memberId) {
+ log.info("发送节点升级消息:{}",memberId);
+ rabbitTemplate.convertAndSend(
+ RabbitQueueEnum.RUN_VIP_NODE_UP.getExchange(),
+ RabbitQueueEnum.RUN_VIP_NODE_UP.getRoute(),
+ memberId);
+ }
}
--
Gitblit v1.9.1