From fda57b880c57c2a7e9d26d7912eed310e028042d Mon Sep 17 00:00:00 2001 From: Hentua <wangdoubleone@gmail.com> Date: Sat, 03 Jun 2023 03:25:42 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 31 +++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+), 0 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 bc7cdd2..8ed5bf9 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 @@ -36,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -771,4 +772,34 @@ return ids; } + + @Override + public List<MallMember> findParentMemberList(List<String> inviteIds, Integer level, boolean containsParent) { + List<MallMember> mallMembers = this.baseMapper.selectByInviteIds(inviteIds); + if(CollUtil.isEmpty(mallMembers)) { + return mallMembers; + } + + + List<MallMember> result = new ArrayList<>(); + int index = containsParent ? 0 : 1; + int count = 0; + while(true) { + if (level != null && count == level) { + break; + } + + if (index >= mallMembers.size()) { + break; + } + + String inviteId = inviteIds.get(index); + List<MallMember> collect = mallMembers.stream().filter(item -> item.getInviteId().equals(inviteId)).collect(Collectors.toList()); + result.add(collect.get(0)); + + index++; + count++; + } + return result; + } } -- Gitblit v1.9.1