|
@@ -97,9 +97,90 @@ class Notify extends Api
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ //普通邀请关系,提现
|
|
|
+ private function takecash($user_id,$gold,$table,$table_id){
|
|
|
+ //精确小数点
|
|
|
+ bcscale(1);
|
|
|
+
|
|
|
+ //收益者本人
|
|
|
+ $userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,gender')->where('id',$user_id)->find();
|
|
|
+
|
|
|
+ //提现往上(直推)返一级
|
|
|
+ if(!empty($userinfo['invite_uid'])){
|
|
|
+ $takecash_invite_rate = config('site.takecash_invite_rate');
|
|
|
+ $jewel = bcdiv(bcmul($gold,$takecash_invite_rate),100);
|
|
|
+
|
|
|
+ $result = model('Wallet')->lockChangeAccountRemain($userinfo['invite_uid'],'jewel',$jewel,42, $userinfo['username'].'提现',$table,$table_id);
|
|
|
+ if($result['status']===false)
|
|
|
+ {
|
|
|
+ Db::rollback();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ //四大收益,视频,音频,私聊,礼物
|
|
|
+ private function shouyi($user_id,$gold,$table,$table_id){
|
|
|
+ //精确小数点
|
|
|
+ bcscale(1);
|
|
|
+
|
|
|
+ //枚举
|
|
|
+ $table_enum = [
|
|
|
+ 'user_match_audio_log' => [
|
|
|
+ 'prefix'=>'audio',
|
|
|
+ 'remark' =>'语音',
|
|
|
+ ],
|
|
|
+ 'user_match_typing_log' => [
|
|
|
+ 'prefix'=>'typing',
|
|
|
+ 'remark' =>'私聊',
|
|
|
+ ],
|
|
|
+ 'user_match_video_log' => [
|
|
|
+ 'prefix'=>'video',
|
|
|
+ 'remark' =>'视频',
|
|
|
+ ],
|
|
|
+ 'gift_user_typing' => [
|
|
|
+ 'prefix'=>'gift',
|
|
|
+ 'remark' =>'收礼',
|
|
|
+ ],
|
|
|
+ ];
|
|
|
+
|
|
|
+ //变量前缀,钱包备注
|
|
|
+ $prefix = $table_enum[$table]['prefix'];
|
|
|
+ $remark = $table_enum[$table]['remark'];
|
|
|
+
|
|
|
+ //收益者本人
|
|
|
+ $userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,gender')->where('id',$user_id)->find();
|
|
|
+
|
|
|
+ //没有推荐人,自己等级最高,女性充值不返
|
|
|
+ if(empty($userinfo['intro_uid']) || $userinfo['group_id'] == 3 || $userinfo['gender'] == 0){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //充值后奖金
|
|
|
public function recharge($user_id,$gold,$payorder_id){
|
|
|
+ //精确小数点
|
|
|
+ bcscale(1);
|
|
|
+
|
|
|
//充值者本人
|
|
|
- $userinfo = Db::name('user')->field('id,username,group_id,intro_uid,gender')->where('id',$user_id)->find();
|
|
|
+ $userinfo = Db::name('user')->field('id,username,group_id,intro_uid,invite_uid,gender')->where('id',$user_id)->find();
|
|
|
+
|
|
|
+ //个人直推邀请充值
|
|
|
+ if(!empty($userinfo['invite_uid']) && $userinfo['gender'] == 1){
|
|
|
+ $recharge_invite_rate = config('site.recharge_invite_rate');
|
|
|
+ $jewel = bcdiv(bcmul($gold,$recharge_invite_rate),100);
|
|
|
+
|
|
|
+ $result = model('Wallet')->lockChangeAccountRemain($userinfo['invite_uid'],'jewel',$jewel,41, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
+ if($result['status']===false)
|
|
|
+ {
|
|
|
+ Db::rollback();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
//没有推荐人,自己等级最高,女性充值不返
|
|
|
if(empty($userinfo['intro_uid']) || $userinfo['group_id'] == 3 || $userinfo['gender'] == 0){
|
|
@@ -110,16 +191,14 @@ class Notify extends Api
|
|
|
$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;}
|
|
|
|
|
|
- //精确小数点
|
|
|
- bcscale(1);
|
|
|
|
|
|
//上级是一级邀请A,本人为B普、B1(二级邀请人),贡献给A
|
|
|
if($intro_userinfo['group_id'] == 3){
|
|
|
|
|
|
- $recharge_b2a_rate = config('site.recharge_b2a_rate');
|
|
|
- $jewel = bcdiv(bcmul($gold,$recharge_b2a_rate),100);
|
|
|
+ $recharge_b2a_rate = config('site.recharge_b2a_rate');//b2a 与 c2a相等
|
|
|
+ $jewelA = bcdiv(bcmul($gold,$recharge_b2a_rate),100);
|
|
|
|
|
|
- $result = model('Wallet')->lockChangeAccountRemain($intro_userinfo['id'],'jewel',$jewel,41, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
+ $result = model('Wallet')->lockChangeAccountRemain($intro_userinfo['id'],'jewel',$jewelA,51, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
if($result['status']===false)
|
|
|
{
|
|
|
Db::rollback();
|
|
@@ -129,12 +208,12 @@ class Notify extends Api
|
|
|
return true;//结束了
|
|
|
}
|
|
|
|
|
|
- //上级是二级邀请B0、B1,本人C1,贡献给A和B(表面上说B的钱在A那里,但是有记录,有总额,不能提现即可)
|
|
|
+ //上级是二级邀请B1,本人C1,贡献给B和A(表面上说B的钱在A那里,但是有记录,有总额,不能提现即可)
|
|
|
if($intro_userinfo['group_id'] == 2){
|
|
|
$recharge_c2b_rate = config('site.recharge_c2b_rate');
|
|
|
- $jewel = bcdiv(bcmul($gold,$recharge_c2b_rate),100);
|
|
|
+ $jewelB = bcdiv(bcmul($gold,$recharge_c2b_rate),100);
|
|
|
|
|
|
- $result = model('Wallet')->lockChangeAccountRemain($intro_userinfo['id'],'jewel',$jewel,41, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
+ $result = model('Wallet')->lockChangeAccountRemain($intro_userinfo['id'],'jewel',$jewelB,51, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
if($result['status']===false)
|
|
|
{
|
|
|
Db::rollback();
|
|
@@ -148,9 +227,10 @@ class Notify extends Api
|
|
|
if($intro_intro_userinfo['group_id'] == 3){
|
|
|
|
|
|
$recharge_b2a_rate = config('site.recharge_b2a_rate');
|
|
|
- $jewel = bcdiv(bcmul($jewel,$recharge_b2a_rate),100);
|
|
|
+ $jewelA = bcdiv(bcmul($jewelB,$recharge_b2a_rate),100);
|
|
|
+// $jewelA = bcadd($jewelA,$jewelB);
|
|
|
|
|
|
- $result = model('Wallet')->lockChangeAccountRemain($intro_intro_userinfo['id'],'jewel',$jewel,41, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
+ $result = model('Wallet')->lockChangeAccountRemain($intro_intro_userinfo['id'],'jewel',$jewelA,51, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
if($result['status']===false)
|
|
|
{
|
|
|
Db::rollback();
|
|
@@ -162,12 +242,13 @@ class Notify extends Api
|
|
|
}
|
|
|
|
|
|
//上级是普通用户,那自己肯定也是普通,则上级可能是D1、C1,找到上上级,如果也是普通C1,停止。如果上上级是B1,则一直追到A1
|
|
|
+ //上级是普通,自己可能是B1,这种不考虑,因为上级只能用普通网,自己相当于独立于超推网里的新分支,是后台新升级来的
|
|
|
if($intro_userinfo['group_id'] == 1){
|
|
|
//先给上级普通用户返
|
|
|
$recharge_d2c_rate = config('site.recharge_d2c_rate');//d2c 或 e2d
|
|
|
- $jewel = bcdiv(bcmul($gold,$recharge_d2c_rate),100);
|
|
|
+ $jewelC = bcdiv(bcmul($gold,$recharge_d2c_rate),100);
|
|
|
|
|
|
- $result = model('Wallet')->lockChangeAccountRemain($intro_userinfo['id'],'jewel',$jewel,41, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
+ $result = model('Wallet')->lockChangeAccountRemain($intro_userinfo['id'],'jewel',$jewelC,51, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
if($result['status']===false)
|
|
|
{
|
|
|
Db::rollback();
|
|
@@ -188,9 +269,9 @@ class Notify extends Api
|
|
|
|
|
|
//先给B1
|
|
|
$recharge_c2b_rate = config('site.recharge_c2b_rate');
|
|
|
- $jewel = bcdiv(bcmul($gold,$recharge_c2b_rate),100);
|
|
|
+ $jewelB = bcdiv(bcmul($jewelC,$recharge_c2b_rate),100);
|
|
|
|
|
|
- $result = model('Wallet')->lockChangeAccountRemain($intro_intro_userinfo['id'],'jewel',$jewel,41, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
+ $result = model('Wallet')->lockChangeAccountRemain($intro_intro_userinfo['id'],'jewel',$jewelB,51, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
if($result['status']===false)
|
|
|
{
|
|
|
Db::rollback();
|
|
@@ -204,9 +285,10 @@ class Notify extends Api
|
|
|
if($intro_intro_intro_userinfo['group_id'] == 3){
|
|
|
|
|
|
$recharge_b2a_rate = config('site.recharge_b2a_rate');
|
|
|
- $jewel = bcdiv(bcmul($jewel,$recharge_b2a_rate),100);
|
|
|
+ $jewelA = bcdiv(bcmul($jewelB,$recharge_b2a_rate),100);
|
|
|
+// $jewelA = bcadd($jewelA,$jewelB);
|
|
|
|
|
|
- $result = model('Wallet')->lockChangeAccountRemain($intro_intro_intro_userinfo['id'],'jewel',$jewel,41, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
+ $result = model('Wallet')->lockChangeAccountRemain($intro_intro_intro_userinfo['id'],'jewel',$jewelA,51, $userinfo['username'].'充值','pay_order',$payorder_id);
|
|
|
if($result['status']===false)
|
|
|
{
|
|
|
Db::rollback();
|