|
@@ -75,9 +75,11 @@ class Notify extends Api
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+ $user_id = $orderInfo['user_id'];
|
|
|
+
|
|
|
//逻辑开始
|
|
|
//$args = json_decode($orderInfo['args'],true);
|
|
|
- $result = model('Wallet')->lockChangeAccountRemain($orderInfo['user_id'],'money',$orderInfo['order_amount'],10, '余额充值','pay_order',$orderInfo['id']);
|
|
|
+ $result = model('Wallet')->lockChangeAccountRemain($user_id,'money',$orderInfo['order_amount'],10, '余额充值','pay_order',$orderInfo['id']);
|
|
|
if($result['status']===false)
|
|
|
{
|
|
|
Db::rollback();
|
|
@@ -93,11 +95,60 @@ class Notify extends Api
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+ //vip价格
|
|
|
+ $user_info = Db::name('user')->field('is_vipprice')->where('id',$user_id)->find();
|
|
|
+ if($user_info['is_vipprice'] == 0){
|
|
|
+ $recharge_sum = Db::name('user_money_log')->where('user_id',$user_id)->where('log_type',10)->sum('change_value');
|
|
|
+ if($recharge_sum >= config('site.vipprice_recharge_sum')){
|
|
|
+ Db::name('user')->where('id',$user_id)->update(['is_vipprice' => 1]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //入金
|
|
|
+ if($orderInfo['order_amount'] >= config('site.intro_rujin_money')){
|
|
|
+
|
|
|
+ $user_wallet = Db::name('user_wallet')->field('intro_level,intro_uid')->where('user_id',$user_id)->find();//我的
|
|
|
+
|
|
|
+ //自己入金
|
|
|
+ if($user_wallet['intro_level'] == '-1'){
|
|
|
+
|
|
|
+ //星级配置
|
|
|
+ $intro_level_config = Db::name('intro_level_config')->order('id asc')->select();
|
|
|
+
|
|
|
+ //看看直推了几个,就给升到对应的星级
|
|
|
+ $intro_num = Db::name('user_wallet')->where('intro_uid',$user_id)->where('intro_level','neq','-1')->count();//我直推的个数(入金的)
|
|
|
+ $level = $this->get_intro_level($intro_level_config,$intro_num);
|
|
|
+ Db::name('user_wallet')->where('user_id',$user_id)->update(['intro_level'=>$level]); //我升级了,最低入金,最高顶级
|
|
|
+
|
|
|
+ //上级升级
|
|
|
+ $intro_uid = $user_wallet['intro_uid'];
|
|
|
+ $up_wallet = Db::name('user_wallet')->field('intro_level')->where('user_id',$intro_uid)->find();//上级
|
|
|
+ if($up_wallet && $up_wallet['intro_level'] != 5){
|
|
|
+ //看看直推了几个,就给升到对应的星级
|
|
|
+ $intro_num = Db::name('user_wallet')->where('intro_uid',$intro_uid)->where('intro_level','neq','-1')->count();//直推的个数(入金的)
|
|
|
+ $level = $this->get_intro_level($intro_level_config,$intro_num);
|
|
|
+ Db::name('user_wallet')->where('user_id',$intro_uid)->update(['intro_level'=>$level]); //升级了
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
//默认提交
|
|
|
Db::commit();
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ //根据直推人数,得出应升的等级
|
|
|
+ private function get_intro_level($intro_level_config,$intro_num){
|
|
|
+ $level = 0;
|
|
|
+ foreach($intro_level_config as $key => $level){
|
|
|
+ if($intro_num >= $level['intro_count']){
|
|
|
+ $level = $level['id'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return $level;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|