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