Ver Fonte

获取下级所有网体的方法,集中到model/user里

lizhen_gitee há 1 ano atrás
pai
commit
b3274bea77

+ 2 - 1
application/admin/controller/user/User.php

@@ -75,7 +75,8 @@ class User extends Backend
                 $this->error('新邀请人不能是被转移用户');
             }
 
-            $down_user_ids = $this->my_down_all($user_id,[$user_id]);
+            $commonuser = new \app\common\model\User();
+            $down_user_ids = $commonuser->my_down_all($user_id,[$user_id]);
             if(in_array($new_intro_uid,$down_user_ids)){
                 $this->error('新的邀请人不能在被转移用户下级网体内,会出现内循环');
             }

+ 0 - 19
application/api/controller/Demo.php

@@ -70,26 +70,7 @@ class Demo extends Api
         $this->success('返回成功', ['action' => 'test3']);
     }
 
-    public function test4(){
-        $down_all = $this->my_down_all(1,[1]);
-        dump($down_all);
-    }
-
-    public function my_down_all($uids = [],$down_all = [],$level = 0){
-
-        $down = Db::name('user')->where('intro_uid','IN',$uids)->column('id');
-        //dump($down);
-        $level ++;
 
 
-        if(!empty($down)){
-            $down_all = array_merge($down_all,$down);
-            return $this->my_down_all($down,$down_all,$level);
-        }else{
-            //echo $level;
-            return $down_all;
-        }
-    }
-
 
 }

+ 17 - 0
application/common/model/User.php

@@ -252,4 +252,21 @@ class User extends Model
 
         return true;
     }
+
+    //某人的所有下级网体,到最后一级,如果$down_all==$uids,则包含自己
+    public function my_down_all($uids = [],$down_all = [],$level = 0){
+
+        $down = Db::name('user')->where('intro_uid','IN',$uids)->column('id');
+        //dump($down);
+        $level ++;
+
+
+        if(!empty($down)){
+            $down_all = array_merge($down_all,$down);
+            return $this->my_down_all($down,$down_all,$level);
+        }else{
+            //echo $level;
+            return $down_all;
+        }
+    }
 }

+ 2 - 16
application/index/controller/Plantask.php

@@ -302,7 +302,8 @@ class Plantask extends Controller
     private function jiesuan_yeji($user_id){
         //找到所有下级
         //$user_ids = Db::name('user')->where('find_in_set(:intro_ids,intro_ids)', ['intro_ids' => $user_id])->column('id');
-        $user_ids = $this->my_down_all($user_id,[$user_id]);
+        $commonuser = new \app\common\model\User();
+        $user_ids = $commonuser->my_down_all($user_id,[$user_id]);
 //        dump($user_ids);
 
         if(empty($user_ids)){
@@ -318,22 +319,7 @@ class Plantask extends Controller
         return $yeji;
     }
 
-    //某人的所有下级网体,到最后一级
-    private function my_down_all($uids = [],$down_all = [],$level = 0){
 
-        $down = Db::name('user')->where('intro_uid','IN',$uids)->column('id');
-        //dump($down);
-        $level ++;
-
-
-        if(!empty($down)){
-            $down_all = array_merge($down_all,$down);
-            return $this->my_down_all($down,$down_all,$level);
-        }else{
-            //echo $level;
-            return $down_all;
-        }
-    }
 
     //确认代理等级及规则
     private function jiesuan_daili_level($intronum,$yeji){