From 934d97b2e6086db0be2772acbbe2ec33133bd77e Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 16 Oct 2025 00:13:55 +0800
Subject: [PATCH] 1

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/HomePageStatisticsController.java |   32 ++++++++++++++++++++++++++++----
 1 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/HomePageStatisticsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/HomePageStatisticsController.java
index 223993c..79af75c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/HomePageStatisticsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/HomePageStatisticsController.java
@@ -48,26 +48,50 @@
      * 首页统计
      */
     @GetMapping("/getStatistics")
-    public AjaxResult getUserTeamAndPosition() {
+    public AjaxResult getUserTeamAndPosition(@RequestParam(value = "invitationCode",required = false) String invitationCode) {
         HomePageStatisticsOut statisticsOut = new HomePageStatisticsOut();
+
+        //邀请人账号
+        String account = null;
+        if(StringUtils.isNotEmpty(invitationCode)){
+            UserAccount userAccount = userAccountService.getOne(new LambdaQueryWrapper<UserAccount>()
+                    .eq(UserAccount::getInvitationCode, invitationCode)
+            );
+            if(ObjectUtil.isNotEmpty(userAccount)){
+                account = userAccount.getAccount();
+            }
+        }
+
 
         // 今日注册
         LambdaQueryWrapper<UserAccount> todayWrapper = new LambdaQueryWrapper<>();
         todayWrapper.apply("DATE(create_time) = CURDATE()");
+        todayWrapper.eq(StringUtils.isNotEmpty(account),UserAccount::getInvitationAccount,account);
         statisticsOut.setTodayRegister(userAccountService.count(todayWrapper));
 
         // 总注册
-        statisticsOut.setTotalRegister(userAccountService.count());
+        statisticsOut.setTotalRegister(userAccountService.count(new LambdaQueryWrapper<UserAccount>().eq(StringUtils.isNotEmpty(account),UserAccount::getInvitationAccount,account)));
+
+
+        List<UserAccount> userAccounts = userAccountService.list(new LambdaQueryWrapper<UserAccount>()
+                .eq(StringUtils.isNotEmpty(account), UserAccount::getInvitationAccount, account)
+        );
+
+        List<String> accounts = userAccounts.stream().map(UserAccount::getAccount).collect(Collectors.toList());
 
         // 今日激活
         LambdaQueryWrapper<UserPolicy> userPolicyTodayWrapper = new LambdaQueryWrapper<>();
-        userPolicyTodayWrapper.eq(UserPolicy::getApprovalStatus, 1)
+        userPolicyTodayWrapper
+                .eq(UserPolicy::getApprovalStatus, 1)
+                .in(!CollectionUtils.isEmpty(accounts),UserPolicy::getAccount,accounts)
                 .apply("DATE(created_at) = CURDATE()");
         statisticsOut.setTodayActivate(userPolicyService.count(userPolicyTodayWrapper));
 
         // 总激活
         LambdaQueryWrapper<UserPolicy> userPolicyTotalWrapper = new LambdaQueryWrapper<>();
-        userPolicyTotalWrapper.eq(UserPolicy::getApprovalStatus, 1);
+        userPolicyTotalWrapper
+                .in(!CollectionUtils.isEmpty(accounts),UserPolicy::getAccount,accounts)
+                .eq(UserPolicy::getApprovalStatus, 1);
         statisticsOut.setTotalActivate(userPolicyService.count(userPolicyTotalWrapper));
 
         return AjaxResult.success(statisticsOut);

--
Gitblit v1.9.3