From b56ccffb0d6924ae45d25f395404495ad04a7447 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 14 Mar 2025 11:52:16 +0800 Subject: [PATCH] fix(MallMemberMapper): 修复查询时邀请人 ID 为空字符串的问题 --- src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 39 insertions(+), 11 deletions(-) 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 78135e0..7a5a0a9 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 @@ -1,15 +1,11 @@ package cc.mrbird.febs.mall.service.impl; -import cc.mrbird.febs.common.enumerates.AgentLevelEnum; -import cc.mrbird.febs.common.enumerates.RunVipDataDictionaryEnum; -import cc.mrbird.febs.common.enumerates.YesOrNoEnum; +import cc.mrbird.febs.common.enumerates.*; +import cc.mrbird.febs.common.utils.MallUtils; import cc.mrbird.febs.mall.dto.ApiMemberChargeFailDto; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; -import cc.mrbird.febs.mall.service.AsyncService; -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.mall.service.*; import cc.mrbird.febs.rabbit.producter.AgentProducer; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; @@ -46,6 +42,7 @@ private final RunNodeSetMapper runNodeSetMapper; private final AsyncService asyncService; private final RunVipGrowMapper runVipGrowMapper; + private final IMallMoneyFlowService mallMoneyFlowService; @Override @Transactional(rollbackFor = Exception.class) @@ -246,16 +243,20 @@ return; } - // 检查直推人数 + // 检查直推人数(有效的直推人数) long directCount = allMembers.stream() - .filter(member -> mallMember.getInviteId().equals(member.getReferrerId())) + .filter(member -> mallMember.getInviteId().equals(member.getReferrerId()) + && !"YOUKE".equals(member.getLevel())) .count(); if (directCount < directCnt) { return; } - // 检查团队人数 - if (allMembers.size() < teamCnt) { + // 检查团队人数(有效的团队人数) + long allMembersCount = allMembers.stream() + .filter(member -> !"YOUKE".equals(member.getLevel())) + .count(); + if (allMembersCount < teamCnt) { return; } @@ -366,6 +367,9 @@ //更新会员的等级和会员升级的时间 mallMemberMapper.updateVipLevelTimeAndLevel(memberId,DateUtil.date(),vipCode); + //直推权益 + asyncService.directCoin(mallCharge.getAmount(),memberId); + agentProducer.sendNodeUpMsg(memberId); } @@ -399,4 +403,28 @@ MallMember graMember = mallMemberMapper.selectInfoByInviteId(parentMember.getReferrerId()); NodeUp(graMember.getId(),directCnt,teamCnt,achieveCnt); } + + @Override + public void chargeSuccessMsg(Long chargeId) { + + MallCharge mallCharge = mallChargeMapper.selectById(chargeId); + if(null == mallCharge){ + return; + } + Long memberId = mallCharge.getMemberId(); + BigDecimal amount = mallCharge.getAmount(); + + walletService.addCommission(amount, memberId); + String orderNo = MallUtils.getOrderNum("C"); + mallMoneyFlowService.runVipMoneyFlowAdd( + memberId, + memberId, + orderNo, + FlowTypeEnum.COMMISSION.getValue(), + RunVipMoneyFlowTypeEnum.COMMISSION_PAY_CHARGE.getValue(), + amount, + StrUtil.format(RunVipMoneyFlowTypeEnum.COMMISSION_PAY_CHARGE.getDescription(),amount), + YesOrNoEnum.YES.getValue() + ); + } } -- Gitblit v1.9.1