Browse Source

收益改动

lizhen_gitee 11 months ago
parent
commit
79da3c086d
2 changed files with 62 additions and 38 deletions
  1. 61 37
      application/api/controller/Notify.php
  2. 1 1
      application/api/controller/Userintro.php

+ 61 - 37
application/api/controller/Notify.php

@@ -111,7 +111,7 @@ class Notify extends Api
 //        $this->recharge(1,10000,'',1);
     }
 
-    //已搬走,后台提现审核通过的方法
+    //已搬走,后台提现审核通过的方法 admin/takecash/takecash
     //普通邀请关系,提现
     /*public function takecash($user_id,$gold,$table,$table_id){
         //精确小数点
@@ -167,54 +167,78 @@ class Notify extends Api
         $remark = $table_enum[$table]['remark'];
 
         //收益者本人
-        $userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,gender')->where('id',$user_id)->find();
+        $userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,agent_id,gender')->where('id',$user_id)->find();
 
-        //没有推荐人,自己等级最高
-        if(empty($userinfo['intro_uid']) || $userinfo['group_id'] == 3){
-            return true;
-        }
+        //先确认自己的等级
+        if($userinfo['group_id'] == 1){
+            //充值者上级
+            $intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,agent_id,gender')->where('id',$userinfo['intro_uid'])->find();
+            if(empty($intro_userinfo)){return true;}
 
-        //充值者上级
-        $intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,gender')->where('id',$userinfo['intro_uid'])->find();
-        if(empty($intro_userinfo)){return true;}
+            //上级是二级邀请B1,贡献给A
+            if($intro_userinfo['group_id'] == 2){
 
-        //上级是一级邀请A,本人为B普、B1(二级邀请人),贡献给A
-        if($intro_userinfo['group_id'] == 3){
+                //充值者上上级,也就是A
+                $intro_intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,agent_id,gender')->where('id',$intro_userinfo['agent_id'])->find();
+                if(empty($intro_intro_userinfo)){return true;}
 
-            $shouyi_b2a_rate = config('site.shouyi_b2a_rate');//b2a 与 b02a相等
-            $jewelA = bcdiv(bcmul($gold,$shouyi_b2a_rate),100);
+                if($intro_intro_userinfo['group_id'] == 3){
 
-            $result = model('Wallet')->lockChangeAccountRemain($intro_userinfo['id'],'agentjewel',$jewelA,52, $userinfo['username'].$remark,$table,$table_id);
-            if($result['status']===false)
-            {
-                Db::rollback();
-                return false;
-            }
-
-            return true;//结束了
-        }
+                    $shouyi_c2a_rate = config('site.shouyi_c2a_rate');
+                    $jewelA = bcdiv(bcmul($gold,$shouyi_c2a_rate),100);
 
-        //上级是二级邀请B1,本人C1,贡献给B和A(表面上说B的钱在A那里,但是有记录,有总额,不能提现即可)
-        if($intro_userinfo['group_id'] == 2 && $intro_userinfo['group_id'] > $userinfo['group_id']){
+                    $result = model('Wallet')->lockChangeAccountRemain($intro_intro_userinfo['id'],'agentjewel',$jewelA,52, $userinfo['username'].$remark,$table,$table_id);
+                    if($result['status']===false)
+                    {
+                        Db::rollback();
+                        return false;
+                    }
+                }
 
-            //充值者上上级,也就是A
-            $intro_intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,gender')->where('id',$intro_userinfo['intro_uid'])->find();
-            if(empty($intro_intro_userinfo)){return true;}
+                return true;
+            }
+        }
+        if($userinfo['group_id'] == 2){
+            //充值者上级
+            $intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,agent_id,gender')->where('id',$userinfo['agent_id'])->find();
+            if(empty($intro_userinfo)){return true;}
 
-            if($intro_intro_userinfo['group_id'] == 3){
+            //上级是一级邀请A,本人为B普、B1(二级邀请人),贡献给A
+            if($intro_userinfo['group_id'] == 3){
 
-                $shouyi_c2a_rate = config('site.shouyi_c2a_rate');
-                $jewelA = bcdiv(bcmul($gold,$shouyi_c2a_rate),100);
+                $shouyi_b2a_rate = config('site.shouyi_b2a_rate');//b2a 与 b02a相等
+                $jewelA = bcdiv(bcmul($gold,$shouyi_b2a_rate),100);
 
-                $result = model('Wallet')->lockChangeAccountRemain($intro_intro_userinfo['id'],'agentjewel',$jewelA,52, $userinfo['username'].$remark,$table,$table_id);
+                $result = model('Wallet')->lockChangeAccountRemain($intro_userinfo['id'],'agentjewel',$jewelA,52, $userinfo['username'].$remark,$table,$table_id);
                 if($result['status']===false)
                 {
                     Db::rollback();
                     return false;
                 }
+
+                return true;//结束了
             }
+        }
+
+        //没有推荐人,自己等级最高
+        if($userinfo['group_id'] == 3 && !empty($userinfo['intro_uid'])){
+            //充值者上级
+            $intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,agent_id,gender')->where('id',$userinfo['intro_uid'])->find();
+            if(empty($intro_userinfo)){return true;}
+
+
+            $shouyi_b2a_rate = config('site.shouyi_b2a_rate');
+            $jewelA = bcdiv(bcmul($gold,$shouyi_b2a_rate),100);
+
+            $result = model('Wallet')->lockChangeAccountRemain($intro_userinfo['id'],'agentjewel',$jewelA,52, $userinfo['username'].$remark,$table,$table_id);
+            if($result['status']===false)
+            {
+                Db::rollback();
+                return false;
+            }
+
+            return true;//结束了
 
-            return true;
         }
 
         return true;
@@ -225,7 +249,7 @@ class Notify extends Api
     public function recharge($user_id,$gold,$table,$payorder_id){
 
         //充值者本人
-        $userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,gender')->where('id',$user_id)->find();
+        $userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,agent_id,gender')->where('id',$user_id)->find();
 
         //个人直推邀请充值
         if(!empty($userinfo['invite_uid']) && $userinfo['gender'] == 1 && empty($userinfo['intro_uid'])){
@@ -246,7 +270,7 @@ class Notify extends Api
         }
 
         //充值者上级
-        $intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,gender')->where('id',$userinfo['intro_uid'])->find();
+        $intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,agent_id,gender')->where('id',$userinfo['intro_uid'])->find();
         if(empty($intro_userinfo)){return true;}
 
         //精确小数点
@@ -273,7 +297,7 @@ class Notify extends Api
 
 
             //充值者上上级,也就是A
-            $intro_intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,gender')->where('id',$intro_userinfo['intro_uid'])->find();
+            $intro_intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,agent_id,gender')->where('id',$intro_userinfo['intro_uid'])->find();
             if(empty($intro_intro_userinfo)){return true;}
 
             if($intro_intro_userinfo['group_id'] == 3){
@@ -307,7 +331,7 @@ class Notify extends Api
             }
 
             //充值者上上级
-            $intro_intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,gender')->where('id',$intro_userinfo['intro_uid'])->find();
+            $intro_intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,agent_id,gender')->where('id',$intro_userinfo['intro_uid'])->find();
             if(empty($intro_intro_userinfo)){return true;}
 
             //上上级也是普通C1,说明自己在E1,上级是D1,停止
@@ -320,7 +344,7 @@ class Notify extends Api
 
 
                 //充值者上上级,也就是A
-                $intro_intro_intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,gender')->where('id',$intro_intro_userinfo['intro_uid'])->find();
+                $intro_intro_intro_userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,agent_id,gender')->where('id',$intro_intro_userinfo['intro_uid'])->find();
                 if(empty($intro_intro_intro_userinfo)){return true;}
 
                 if($intro_intro_intro_userinfo['group_id'] == 3){

+ 1 - 1
application/api/controller/Userintro.php

@@ -159,7 +159,7 @@ class Userintro extends Api
 
         //确定收益统计范围
         if(!empty($down_all_id)){
-            $downall_uid = Db::name('user')->where('intro_uid',$down_all_id)->column('id');//其下直推,A1下B0 或 B1下C1
+            $downall_uid = Db::name('user')->where('intro_uid',$down_all_id)->column('id');//其下直推,A1下B0+B1 或 B1下C1
             //$downall_uid[] = $down_all_id;
         }else{
             $down_uid = array_column($down_all,'id');