Kaynağa Gözat

我的团队

lizhen_gitee 2 ay önce
ebeveyn
işleme
e802e1188e
1 değiştirilmiş dosya ile 103 ekleme ve 1 silme
  1. 103 1
      application/api/controller/Intro.php

+ 103 - 1
application/api/controller/Intro.php

@@ -171,7 +171,109 @@ class Intro extends Api
 
     //我的团队
     public function my_team(){
-        
+        $type = input('type',1);
+        $keyword = input('keyword',0);
+
+        //普通成员
+        if($type == 1){
+
+            //普通直推
+            $zhitui_list  = 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')
+                ->where('uw.intro_uid',$this->auth->id)          //我邀请的
+                ->where('uw.intro_level','-1')             //没入金
+                ->select();
+            foreach($zhitui_list as $key => $val){
+                $val['show_level'] = '直推普通成员';
+                $val['tuanduiyeji'] = 0;
+
+                $zhitui_list[$key] = $val;
+            }
+
+
+            $zhitui_ids  = Db::name('user_wallet')->where('intro_uid',$this->auth->id)->column('user_id');//直推id。这里单独查不用上面的,是因为可能直推入金了,间推没入金,间推不能给丢了
+            $jiantui_list = 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)//下下级
+                ->where('uw.intro_level','-1')             //没入金
+                ->select();
+            foreach($jiantui_list as $key => $val){
+                $val['show_level'] = '间推普通成员';
+                $val['tuanduiyeji'] = 0;
+
+                $jiantui_list[$key] = $val;
+            }
+
+            $result = array_merge($zhitui_list,$jiantui_list);
+
+            $this->success(1,$result);
+
+        }
+        //一级成员
+        if($type == 2){
+
+            //出局
+            $chuju = config('site.intro_chuju_min_money');
+
+            //直推,下级,入金,等级比我低,未出局
+            $list = 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')
+                ->where('uw.intro_uid',$this->auth->id)          //我邀请的
+                ->where('uw.intro_level','neq','-1')             //入金了
+                ->where('uw.intro_level','elt',$this->wallet['intro_level'])   //等级比我低
+                ->where('uw.money','egt',$chuju)   //金额小于500,出局
+                ->select();
+            $down_uids = array_column($list,'user_id');
+
+            $pay_order = Db::name('pay_order')->field('user_id,sum(order_amount) as yeji')->where('user_id','IN',$down_uids)->where('table_name','money_recharge')->where('order_status',1)->whereTime('createtime','month')->group('user_id')->select();
+
+            foreach($list as $key => $val){
+                $val['yeji'] = '0.00';
+                foreach($pay_order as $k => $v){
+                    if($val['user_id'] == $v['user_id']){
+                        $val['yeji'] = $v['yeji'];
+                    }
+                }
+
+                $list[$key] = $val;
+            }
+
+            $this->success(1,$list);
+        }
+
+        //二级成员
+        if($type == 3){
+            //出局
+            $chuju = config('site.intro_chuju_min_money');
+
+            //直推,下级,入金,等级比我低,未出局
+            $list = 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')
+                ->where('uw.intro_uid',$this->auth->id)          //我邀请的
+                ->where('uw.intro_level','neq','-1')             //入金了
+                ->where('uw.intro_level','elt',$this->wallet['intro_level'])   //等级比我低
+                ->where('uw.money','egt',$chuju)   //金额小于500,出局
+                ->select();
+            $down_uids = array_column($list,'user_id');
+
+            //间推,下下级,入金,未出局,等级比我低,等级比自己的上级低
+            $list2 = 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')  //加这里,就是防止:下下级当中,虽然都比我低,但是有可能高于自己的上级(也就是我的直推)
+                ->whereIN('uw.intro_uid',$down_uids)  //下下级
+                ->where('uw.intro_level','neq','-1')             //入金了
+                ->where('uw.money','egt',$chuju)   //金额小于500,出局
+                ->where('uw.intro_level','elt',$this->wallet['intro_level'])   //等级比我低
+                ->where('uw.intro_level <= intro.intro_level')   //加这里,就是防止:下下级当中,虽然都比我低,但是有可能高于自己的上级(也就是我的直推)
+                ->select();
+            $down_down_uids = array_column($list2,'user_id');
+        }
+
 
 
     }