소스 검색

转移关系,杜绝内循环

lizhen_gitee 1 년 전
부모
커밋
ee7ebea3c7
1개의 변경된 파일11개의 추가작업 그리고 7개의 파일을 삭제
  1. 11 7
      application/admin/controller/user/User.php

+ 11 - 7
application/admin/controller/user/User.php

@@ -59,24 +59,28 @@ class User extends Backend
 
 
             //验证
             //验证
             if(empty($user_id)) $this->error("请输入需要转移的用户ID");
             if(empty($user_id)) $this->error("请输入需要转移的用户ID");
-            if(empty($new_intro_uid)) $this->error("请输入新的上级用户ID");
-
-            Db::startTrans();
+            if(empty($new_intro_uid)) $this->error("请输入新的推荐人用户ID");
 
 
             $user = Db::name('user')->where('id',$user_id)->find();
             $user = Db::name('user')->where('id',$user_id)->find();
             if(empty($user)){
             if(empty($user)){
-                Db::rollback();
                 $this->error('不存在的用户');
                 $this->error('不存在的用户');
             }
             }
 
 
-
             $new_intro = Db::name('user')->where('id',$new_intro_uid)->find();
             $new_intro = Db::name('user')->where('id',$new_intro_uid)->find();
             if(empty($new_intro)){
             if(empty($new_intro)){
-                Db::rollback();
-                $this->error('不存在的新上级用户');
+                $this->error('不存在的新推荐人');
             }
             }
 
 
+            if($user_id == $new_intro_uid){
+                $this->error('新邀请人不能是被转移用户');
+            }
+
+            $down_user_ids = $this->my_down_all($user_id,[$user_id]);
+            if(in_array($new_intro_uid,$down_user_ids)){
+                $this->error('新的邀请人不能在被转移用户下级网体内,会出现内循环');
+            }
 
 
+            Db::startTrans();
 
 
             //我的多个下级,的推荐人,改成新人
             //我的多个下级,的推荐人,改成新人
             $my_down = Db::name('user')->where('intro_uid',$user['id'])->select();
             $my_down = Db::name('user')->where('intro_uid',$user['id'])->select();