From 65ece4e9e659ba7d0be699a64a4ca016d37a637b Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 15 一月 2025 14:43:14 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/qijisheng

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java |   43 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 34 insertions(+), 9 deletions(-)

diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
index f6d33b5..834ecc6 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
@@ -369,13 +369,19 @@
                 user.setShopName(shop.getName());
             }
         }
-        Long count1 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 1).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
-        Long count2 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 2).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
-        Long count3 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 3).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
-        Long count4 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 4).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
-        Long count5 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 5).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
-        Long count6 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 6).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
-        Long count7 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 7).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
+        List<AppUser> appUserList = appUserService.list(new LambdaQueryWrapper<AppUser>()
+                .ne(AppUser::getStatus, 3)
+                .eq(AppUser::getDelFlag, 0));
+        ArrayList<Long> userIds = new ArrayList<>();
+        userIds.add(userId);
+        getUserAncestorList(userIds, appUserList);
+//        Long count1 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 1).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
+//        Long count2 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 2).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
+//        Long count3 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 3).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
+//        Long count4 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 4).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
+//        Long count5 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 5).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
+//        Long count6 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 6).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
+//        Long count7 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 7).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count();
         user.setCount1(count1);
         user.setCount2(count2);
         user.setCount3(count3);
@@ -392,8 +398,27 @@
             user.setIsSign(0);
         }
         return R.ok(user);
-
-
+    }
+    private Long count1 = 0L;
+    private Long count2 = 0L;
+    private Long count3 = 0L;
+    private Long count4 = 0L;
+    private Long count5 = 0L;
+    private Long count6 = 0L;
+    private Long count7 = 0L;
+    public void getUserAncestorList(List<Long> userIds, List<AppUser> list) {
+        List<AppUser> children = list.stream().filter(u -> userIds.contains(u.getInviteUserId()) || userIds.contains(u.getTopInviteId())).collect(Collectors.toList());
+        if(!CollectionUtils.isEmpty(children)){
+            count1 = count1 + children.stream().filter(e->e.getVipId() == 1).count();
+            count2 = count2 + children.stream().filter(e->e.getVipId() == 2).count();
+            count3 = count3 + children.stream().filter(e->e.getVipId() == 3).count();
+            count4 = count4 + children.stream().filter(e->e.getVipId() == 4).count();
+            count5 = count5 + children.stream().filter(e->e.getVipId() == 5).count();
+            count6 = count6 + children.stream().filter(e->e.getVipId() == 6).count();
+            count7 = count7 + children.stream().filter(e->e.getVipId() == 7).count();
+            List<Long> userIdList = children.stream().map(AppUser::getId).collect(Collectors.toList());
+            getUserAncestorList(userIdList, children);
+        }
     }
 
     @GetMapping("/index/change")

--
Gitblit v1.7.1