WIN-2308041133\Administrator 2 veckor sedan
förälder
incheckning
bd3a66b09c
1 ändrade filer med 6 tillägg och 12 borttagningar
  1. 6 12
      app/api/controller/user/UserController.php

+ 6 - 12
app/api/controller/user/UserController.php

@@ -129,28 +129,21 @@ class UserController
      * @param int $uid 用户ID
      * @return array
      */
-    public static function getAllTeamMembers($uid, $isFirstCall = true)
+    public static function getAllTeamMembers($uid, &$teamUids = [])
     {
-        static $teamUids = [];
-
-        if ($isFirstCall) {
-            $teamUids = [];
-        }
-
         // 获取直接下级
         $directSubordinates = User::where('spread_uid', $uid)->column('uid');
 
         if (!empty($directSubordinates)) {
-            // 在首次调用时过滤掉最开始传入的UID
-            if ($isFirstCall) {
-                $directSubordinates = array_diff($directSubordinates, [$uid]);
-            }
+            // 过滤掉最开始传入的UID
+            $directSubordinates = array_diff($directSubordinates, [$uid]);
 
+            // 合并当前直接下级UID到团队UID列表
             $teamUids = array_merge($teamUids, $directSubordinates);
 
             // 递归获取下级的下级
             foreach ($directSubordinates as $subordinateUid) {
-                self::getAllTeamMembers($subordinateUid, false);
+                self::getAllTeamMembers($subordinateUid, $teamUids);
             }
         }
 
@@ -158,6 +151,7 @@ class UserController
     }
 
 
+
     /**
      * 用户资金统计
      * @param Request $request