|
@@ -138,7 +138,7 @@ class Alltools {
|
|
|
public function recharge($user_id,$gold,$table,$payorder_id){
|
|
|
|
|
|
//充值者本人
|
|
|
- $userinfo = DB::table('mt_user')->select(['id','username','group_id','intro_uid','invite_uid','gender'])->where('id',$user_id)->first();
|
|
|
+ $userinfo = DB::table('mt_user')->select(['id','username','group_id','intro_uid','invite_uid','agent_id','gender'])->where('id',$user_id)->first();
|
|
|
|
|
|
//配置
|
|
|
$config_site = DB::table('mt_config')->whereIn('name',['invite_recharge_rate','recharge_b2a_rate','recharge_c2a_rate','recharge_d2c_rate','recharge_c2a_rate'])->pluck('value','name');
|
|
@@ -156,22 +156,22 @@ class Alltools {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //没有推荐人,自己等级最高,女性充值不返
|
|
|
- if(empty($userinfo->intro_uid) || $userinfo->group_id == 3 || $userinfo->gender == 0){
|
|
|
+ //没有推荐人,女性充值不返
|
|
|
+ if(empty($userinfo->intro_uid) || $userinfo->gender == 0){
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- //充值者上级
|
|
|
- $intro_userinfo = DB::table('mt_user')->select(['id','username','group_id','intro_uid','invite_uid','gender'])->where('id',$userinfo->intro_uid)->first();
|
|
|
- if(empty($intro_userinfo)){return true;}
|
|
|
|
|
|
//精确小数点
|
|
|
bcscale(2);
|
|
|
|
|
|
- //上级是一级邀请A,本人为B普、B1(二级邀请人),贡献给A
|
|
|
- if($intro_userinfo->group_id == 3){
|
|
|
+ //自己等级最高
|
|
|
+ if($userinfo->group_id == 3 && !empty($userinfo->intro_uid)){
|
|
|
+ //充值者上级
|
|
|
+ $intro_userinfo = DB::table('mt_user')->select(['id','username','group_id','intro_uid','invite_uid','agent_id','gender'])->where('id',$userinfo->intro_uid)->first();
|
|
|
+ if(empty($intro_userinfo)){return true;}
|
|
|
|
|
|
- $recharge_b2a_rate = $config_site['recharge_b2a_rate'];//b2a 与 b02a相等
|
|
|
+ $recharge_b2a_rate = $config_site['recharge_b2a_rate'];
|
|
|
$jewelA = bcdiv(bcmul($gold,$recharge_b2a_rate),100);
|
|
|
|
|
|
$result = $this->lockChangeAccountRemain($intro_userinfo->id,'agentjewel',$jewelA,51, $userinfo->username.'充值','pay_order',$payorder_id);
|
|
@@ -182,69 +182,49 @@ class Alltools {
|
|
|
}
|
|
|
|
|
|
return true;//结束了
|
|
|
- }
|
|
|
-
|
|
|
- //上级是二级邀请B1,本人C1,贡献给B和A(表面上说B的钱在A那里,但是有记录,有总额,不能提现即可)
|
|
|
- if($intro_userinfo->group_id == 2 && $intro_userinfo->group_id > $userinfo->group_id){
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- //充值者上上级,也就是A
|
|
|
- $intro_intro_userinfo = DB::table('mt_user')->select(['id','username','group_id','intro_uid','invite_uid','gender'])->where('id',$intro_userinfo->intro_uid)->first();
|
|
|
- if(empty($intro_intro_userinfo)){return true;}
|
|
|
+ if($userinfo->group_id == 2){
|
|
|
+ //充值者上级
|
|
|
+ $intro_userinfo = DB::table('mt_user')->select(['id','username','group_id','intro_uid','invite_uid','agent_id','gender'])->where('id',$userinfo->intro_uid)->first();
|
|
|
+ if(empty($intro_userinfo)){return true;}
|
|
|
|
|
|
- if($intro_intro_userinfo->group_id == 3){
|
|
|
+ //上级是一级邀请A,本人为B普、B1(二级邀请人),贡献给A
|
|
|
+ /*if($intro_userinfo->group_id == 3){*/
|
|
|
|
|
|
- $recharge_c2a_rate = $config_site['recharge_c2a_rate'];
|
|
|
- $jewelA = bcdiv(bcmul($gold,$recharge_c2a_rate),100);
|
|
|
+ $recharge_b2a_rate = $config_site['recharge_b2a_rate'];//b2a 与 b02a相等
|
|
|
+ $jewelA = bcdiv(bcmul($gold,$recharge_b2a_rate),100);
|
|
|
|
|
|
- $result = $this->lockChangeAccountRemain($intro_intro_userinfo->id,'agentjewel',$jewelA,51, $userinfo->username.'充值','pay_order',$payorder_id);
|
|
|
+ $result = $this->lockChangeAccountRemain($intro_userinfo->id,'agentjewel',$jewelA,51, $userinfo->username.'充值','pay_order',$payorder_id);
|
|
|
if($result['status']===false)
|
|
|
{
|
|
|
//Db::rollback();
|
|
|
return false;
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- return true;
|
|
|
+ return true;//结束了
|
|
|
+ /*}*/
|
|
|
}
|
|
|
|
|
|
- //上级是普通用户,那自己肯定也是普通,则上级可能是D1、C1,找到上上级,如果也是普通C1,停止。如果上上级是B1,则一直追到A1
|
|
|
- //上级是普通,自己可能是B1,这种不考虑,因为上级只能用普通网,自己相当于独立于超推网里的新分支,是后台新升级来的
|
|
|
- if($intro_userinfo->group_id == 1 && $userinfo->group_id == 1){
|
|
|
- //先给上级普通用户返
|
|
|
- $recharge_d2c_rate = $config_site['recharge_d2c_rate'];//d2c 或 e2d
|
|
|
- $jewelC = bcdiv(bcmul($gold,$recharge_d2c_rate),100);
|
|
|
-
|
|
|
- $result = $this->lockChangeAccountRemain($intro_userinfo->id,'agentjewel',$jewelC,51, $userinfo->username.'充值','pay_order',$payorder_id);
|
|
|
- if($result['status']===false)
|
|
|
- {
|
|
|
- //Db::rollback();
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- //充值者上上级
|
|
|
- $intro_intro_userinfo = DB::table('mt_user')->select(['id','username','group_id','intro_uid','invite_uid','gender'])->where('id',$intro_userinfo->intro_uid)->first();
|
|
|
- if(empty($intro_intro_userinfo)){return true;}
|
|
|
-
|
|
|
- //上上级也是普通C1,说明自己在E1,上级是D1,停止
|
|
|
- if($intro_intro_userinfo->group_id == 1){
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- //上上级是B1,上级是C1,自己是D1,
|
|
|
- if($intro_intro_userinfo->group_id == 2){
|
|
|
+ if($userinfo->group_id == 1){
|
|
|
+ //充值者上级
|
|
|
+ $intro_userinfo = DB::table('mt_user')->select(['id','username','group_id','intro_uid','invite_uid','agent_id','gender'])->where('id',$userinfo->intro_uid)->first();
|
|
|
+ if(empty($intro_userinfo)){return true;}
|
|
|
|
|
|
+ //上级是二级邀请B1,本人C1,贡献给B和A(表面上说B的钱在A那里,但是有记录,有总额,不能提现即可)
|
|
|
+ if($intro_userinfo->group_id == 2){
|
|
|
|
|
|
//充值者上上级,也就是A
|
|
|
- $intro_intro_intro_userinfo = DB::table('mt_user')->select(['id','username','group_id','intro_uid','invite_uid','gender'])->where('id',$intro_intro_userinfo->intro_uid)->first();
|
|
|
- if(empty($intro_intro_intro_userinfo)){return true;}
|
|
|
+ $intro_intro_userinfo = DB::table('mt_user')->select(['id','username','group_id','intro_uid','invite_uid','agent_id','gender'])->where('id',$intro_userinfo->agent_id)->first();
|
|
|
+ if(empty($intro_intro_userinfo)){return true;}
|
|
|
|
|
|
- if($intro_intro_intro_userinfo->group_id == 3){
|
|
|
+ if($intro_intro_userinfo->group_id == 3){
|
|
|
|
|
|
$recharge_c2a_rate = $config_site['recharge_c2a_rate'];
|
|
|
- $jewelA = bcdiv(bcmul($jewelC,$recharge_c2a_rate),100);
|
|
|
+ $jewelA = bcdiv(bcmul($gold,$recharge_c2a_rate),100);
|
|
|
|
|
|
- $result = $this->lockChangeAccountRemain($intro_intro_intro_userinfo->id,'agentjewel',$jewelA,51, $userinfo->username.'充值','pay_order',$payorder_id);
|
|
|
+ $result = $this->lockChangeAccountRemain($intro_intro_userinfo->id,'agentjewel',$jewelA,51, $userinfo->username.'充值','pay_order',$payorder_id);
|
|
|
if($result['status']===false)
|
|
|
{
|
|
|
//Db::rollback();
|
|
@@ -252,9 +232,58 @@ class Alltools {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
- return true;
|
|
|
+
|
|
|
+
|
|
|
+ //上级是普通用户,那自己肯定也是普通,则上级可能是D1、C1,找到上上级,如果也是普通C1,停止。如果上上级是B1,则一直追到A1
|
|
|
+ if(1 == 2 && $intro_userinfo->group_id == 1){
|
|
|
+ //先给上级普通用户返
|
|
|
+ $recharge_d2c_rate = $config_site['recharge_d2c_rate'];//d2c 或 e2d
|
|
|
+ $jewelC = bcdiv(bcmul($gold,$recharge_d2c_rate),100);
|
|
|
+
|
|
|
+ $result = $this->lockChangeAccountRemain($intro_userinfo->id,'agentjewel',$jewelC,51, $userinfo->username.'充值','pay_order',$payorder_id);
|
|
|
+ if($result['status']===false)
|
|
|
+ {
|
|
|
+ //Db::rollback();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ //充值者上上级
|
|
|
+ $intro_intro_userinfo = DB::table('mt_user')->select(['id','username','group_id','intro_uid','invite_uid','agent_id','gender'])->where('id',$intro_userinfo->intro_uid)->first();
|
|
|
+ if(empty($intro_intro_userinfo)){return true;}
|
|
|
+
|
|
|
+ //上上级也是普通C1,说明自己在E1,上级是D1,停止
|
|
|
+ if($intro_intro_userinfo->group_id == 1){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ //上上级是B1,上级是C1,自己是D1,
|
|
|
+ if($intro_intro_userinfo->group_id == 2){
|
|
|
+
|
|
|
+
|
|
|
+ //充值者上上级,也就是A
|
|
|
+ $intro_intro_intro_userinfo = DB::table('mt_user')->select(['id','username','group_id','intro_uid','invite_uid','agent_id','gender'])->where('id',$intro_intro_userinfo->intro_uid)->first();
|
|
|
+ if(empty($intro_intro_intro_userinfo)){return true;}
|
|
|
+
|
|
|
+ if($intro_intro_intro_userinfo->group_id == 3){
|
|
|
+
|
|
|
+ $recharge_c2a_rate = $config_site['recharge_c2a_rate'];
|
|
|
+ $jewelA = bcdiv(bcmul($jewelC,$recharge_c2a_rate),100);
|
|
|
+
|
|
|
+ $result = $this->lockChangeAccountRemain($intro_intro_intro_userinfo->id,'agentjewel',$jewelA,51, $userinfo->username.'充值','pay_order',$payorder_id);
|
|
|
+ if($result['status']===false)
|
|
|
+ {
|
|
|
+ //Db::rollback();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return true;
|