From bfa4d0fc1ce8d297fb2bea1c467ec335def8fa89 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 15 Jun 2023 01:26:41 +0800
Subject: [PATCH] 团队业绩

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java |   32 +++++++++++++++++++++++++++++---
 1 files changed, 29 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 fb9fc50..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,9 +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.*;
 import java.util.stream.Collectors;
 
 /**
@@ -812,4 +810,32 @@
     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