From 8bf923b44bbe9b45b73ddcc25df75c9c59f54e07 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 15 Jun 2023 11:19:44 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java |   83 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 72 insertions(+), 11 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 64bbfe9..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;
 
 /**
@@ -233,14 +232,8 @@
         mallMoneyFlowMapper.updateById(mallMoneyFlow);
         if(AppContants.MEMBER_WITHDRAW_NORMAL.equals(mallMemberWithdraw.getRemark())){
             //用户佣金增加对应的余额
-            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance");
-        }
-        if(AppContants.MEMBER_WITHDRAW_VOUCHER.equals(mallMemberWithdraw.getRemark())){
-            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance");
-            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmountFee(),mallMemberWithdraw.getMemberId(),"voucherFireCnt");
-        }
-        if(AppContants.MEMBER_WITHDRAW_VOUCHER_AMOUNT.equals(mallMemberWithdraw.getRemark())){
-            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"voucherAmount");
+            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount().add(mallMemberWithdraw.getAmountFee()),mallMemberWithdraw.getMemberId(),"balance");
+//            mallMoneyFlowService.addMoneyFlow(mallMemberWithdraw.getMemberId(), mallMemberWithdraw.getAmount().add(mallMemberWithdraw.getAmountFee()), MoneyFlowTypeEnum.WITHDRAWAL.getValue(), mallMemberWithdraw.getWithdrawNo(), FlowTypeEnum.BALANCE.getValue());
         }
         return new FebsResponse().success();
     }
@@ -620,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;
         }
@@ -777,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