From d497710f15f38a293fbab685160a113923f7811b Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 12 Mar 2025 11:30:09 +0800
Subject: [PATCH] refactor(mall): 优化直推人数统计逻辑

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 5a38e8e..e2a4d4a 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -92,15 +92,21 @@
             DateTime endTime = DateUtil.date();
             records.forEach(item -> {
                 CompletableFuture<Void> uCompletableFuture = CompletableFuture.runAsync(() -> {
-                    //获取直推
-                    Set<String> directInviteIds = mallMemberMapper.selectList(
+                    List<MallMember> directMembers = mallMemberMapper.selectList(
                             new LambdaQueryWrapper<MallMember>()
                                     .eq(MallMember::getReferrerId, item.getInviteId())
-                    ).stream()
+                    );
+                    //获取直推
+                    Set<String> directInviteIds = directMembers.stream()
+                            .map(MallMember::getInviteId)
+                            .collect(Collectors.toSet());
+                    Set<String> directCntAvailableInviteIds = directMembers.stream()
+                            .filter(member -> !"YOUKE".equals(member.getLevel()))
                             .map(MallMember::getInviteId)
                             .collect(Collectors.toSet());
                     if(CollUtil.isNotEmpty(directInviteIds)){
                         item.setDirectCnt(directInviteIds.size());
+                        item.setDirectCntAvailable(directCntAvailableInviteIds.size());
                         //获取团队
                         List<MallMember> allMembers = mallMemberMapper.selectList(
                                 new LambdaQueryWrapper<MallMember>()

--
Gitblit v1.9.1