Browse Source

防止whereIN空

lizhen_gitee 2 months ago
parent
commit
33fed0ac87
1 changed files with 11 additions and 3 deletions
  1. 11 3
      application/api/controller/Intro.php

+ 11 - 3
application/api/controller/Intro.php

@@ -39,7 +39,7 @@ class Intro extends Api
 
         //下线总数
         $zhitui_ids  = Db::name('user_wallet')->where('intro_uid',$this->auth->id)->column('user_id');//直推
-        $jiantui_ids = Db::name('user_wallet')->where('intro_uid','IN',$zhitui_ids)->column('user_id');//间推
+        $jiantui_ids = empty($zhitui_ids) ? [] : Db::name('user_wallet')->where('intro_uid','IN',$zhitui_ids)->column('user_id');//间推
 
         $result['xiaxianzongshu'] = count($zhitui_ids) + count($jiantui_ids);
 
@@ -114,6 +114,10 @@ class Intro extends Api
             $down_uids = array_column($list,'user_id');
         }
 
+        if(empty($down_uids)){
+            return [];
+        }
+
         $chuju = config('site.intro_chuju_min_money');
 
         //间推,下下级,入金,未出局,等级比我低,等级比自己的上级低
@@ -199,7 +203,7 @@ class Intro extends Api
 
 
             $zhitui_ids  = Db::name('user_wallet')->where('intro_uid',$this->auth->id)->column('user_id');//直推id。这里单独查不用上面的,是因为可能直推入金了,间推没入金,间推不能给丢了
-            $jiantui_list = Db::name('user_wallet')->alias('uw')
+            $jiantui_list = empty($zhitui_ids) ? [] : Db::name('user_wallet')->alias('uw')
                 ->field('uw.user_id,uw.money,uw.intro_level,uw.intro_uid,user.nickname')
                 ->join('user','uw.user_id = user.id','LEFT')
                 ->whereIN('uw.intro_uid',$zhitui_ids)//下下级
@@ -234,6 +238,7 @@ class Intro extends Api
                 ->where('uw.money','egt',$chuju)   //金额小于500,出局
                 ->where($wheresearch)
                 ->select();
+            if(!empty($list)){
             $down_uids = array_column($list,'user_id');
 
             $pay_order = Db::name('pay_order')->field('user_id,sum(order_amount) as yeji')
@@ -251,6 +256,7 @@ class Intro extends Api
 
                 $list[$key] = $val;
             }
+            }
 
             $this->success(1,$list);
         }
@@ -265,7 +271,7 @@ class Intro extends Api
             $down_uids = array_column($list,'user_id');
 
             //间推,下下级,入金,未出局,等级比我低,等级比自己的上级低
-            $list2 = Db::name('user_wallet')->alias('uw')
+            $list2 = empty($down_uids) ? [] : Db::name('user_wallet')->alias('uw')
                 ->field('uw.user_id,uw.money,uw.intro_level,uw.intro_uid,user.nickname')
                 ->join('user','uw.user_id = user.id','LEFT')
                 ->join('user_wallet intro','uw.intro_uid = intro.user_id','LEFT')  //加这里,就是防止:下下级当中,虽然都比我低,但是有可能高于自己的上级(也就是我的直推)
@@ -276,6 +282,7 @@ class Intro extends Api
                 ->where('uw.intro_level <= intro.intro_level')   //加这里,就是防止:下下级当中,虽然都比我低,但是有可能高于自己的上级(也就是我的直推)
                 ->where($wheresearch)
                 ->select();
+            if(!empty($list2)){
             $down_down_uids = array_column($list2,'user_id');
 
             $pay_order = Db::name('pay_order')->field('user_id,sum(order_amount) as yeji')
@@ -293,6 +300,7 @@ class Intro extends Api
 
                 $list2[$key] = $val;
             }
+            }
 
             $this->success(1,$list2);
         }