From 1d0d712b4f2b489e020cbf23eaf20e386eee1561 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 15 Jun 2023 01:46:42 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 73 +++++++++++++++++++++++++++++++++++-
1 files changed, 70 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 bc7cdd2..73f91e2 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,8 +36,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -614,7 +613,7 @@
member.setReferrerIds(refererIds);
this.baseMapper.updateById(member);
- List<MallMember> childs = this.baseMapper.selectByRefererId(member.getInviteId());
+ List<MallMember> childs = this.baseMapper.selectAllChildAgentListByInviteId(member.getInviteId());
if (CollUtil.isEmpty(childs)) {
return;
}
@@ -771,4 +770,72 @@
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;
+ }
+
+ @Override
+ public TreeItemVo findMatrixTree() {
+ return null;
+ }
+
+ @Override
+ public List<ChargeListExportVo> findChargeListForExcel(MoneyChargeListDto moneyChargeListDto) {
+ return this.mallMoneyFlowMapper.selectChargeListForExcel(moneyChargeListDto);
+ }
+
+ @Override
+ public IPage<AdminTeamListVo> findTeamList(MallMember mallMember, QueryRequest request) {
+ Page<AdminTeamListVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<AdminTeamListVo> teamListInPage = this.mallMemberMapper.selectTeamListInPage(mallMember, page);
+ if (CollUtil.isEmpty(teamListInPage.getRecords())) {
+ return teamListInPage;
+ }
+
+ List<Long> memberIds = teamListInPage.getRecords().stream().map(AdminTeamListVo::getId).collect(Collectors.toList());
+ List<MallMoneyFlow> mallMoneyFlows = this.mallMoneyFlowMapper.selectMemberProfitByMemberIds(memberIds);
+ if (CollUtil.isNotEmpty(mallMoneyFlows)) {
+ Map<Long, MallMoneyFlow> map = new HashMap<>();
+ mallMoneyFlows.forEach(item -> {
+ map.put(item.getMemberId(), item);
+ });
+
+ teamListInPage.getRecords().forEach(item -> {
+ MallMoneyFlow mallMoneyFlow = map.get(item.getId());
+ if (mallMoneyFlow != null) {
+ item.setTeamProfitAmount(mallMoneyFlow.getAmount());
+ }
+ });
+ }
+
+
+ return teamListInPage;
+ }
}
--
Gitblit v1.9.1