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 |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 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 866d039..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
@@ -243,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;
             }
 
@@ -363,6 +367,9 @@
         //更新会员的等级和会员升级的时间
         mallMemberMapper.updateVipLevelTimeAndLevel(memberId,DateUtil.date(),vipCode);
 
+        //直推权益
+        asyncService.directCoin(mallCharge.getAmount(),memberId);
+
         agentProducer.sendNodeUpMsg(memberId);
     }
 

--
Gitblit v1.9.1