lizhen_gitee 8 ماه پیش
والد
کامیت
b66bf67845
2فایلهای تغییر یافته به همراه34 افزوده شده و 12 حذف شده
  1. 19 5
      application/api/controller/Notify.php
  2. 15 7
      application/api/controller/Pay.php

+ 19 - 5
application/api/controller/Notify.php

@@ -77,7 +77,7 @@ class Notify extends Api
         //逻辑开始
         $remark = $orderInfo['payment_class'] == 'alipay' ? '支付宝' : '微信';
         $args = json_decode($orderInfo['args'],true);
-        $result = model('Wallet')->lockChangeAccountRemain($orderInfo['user_id'],0,'gold',$args['gold'],10, $remark.'金币充值:'.$out_trade_no,'pay_order',$orderInfo['id'],1);
+        $result = model('Wallet')->lockChangeAccountRemain($orderInfo['user_id'],0,'gold',$args['gold'],10, $remark.'充值金币','pay_order',$orderInfo['id'],1);
         if($result['status']===false)
         {
             Db::rollback();
@@ -99,7 +99,7 @@ class Notify extends Api
                 //上级获得金额数量
                 $intro_uid_money = bcdiv(bcmul($args['money'],$intro_recharge_rebate_rate,2),100,2);
                 if ($intro_uid_money > 0) {
-                    $intro_result = model('wallet')->lockChangeAccountRemain($args['intro_uid'],$orderInfo['user_id'],'money',$intro_uid_money,65,'邀请人充值奖励:'.$out_trade_no,'pay_order',$orderInfo['id']);
+                    $intro_result = model('wallet')->lockChangeAccountRemain($args['intro_uid'],$orderInfo['user_id'],'money',$intro_uid_money,65,'邀请朋友充值金币奖励','pay_order',$orderInfo['id']);
                     if($intro_result['status']===false)
                     {
                         Db::rollback();
@@ -125,7 +125,7 @@ class Notify extends Api
             }
             //送金币
             if(isset($args['first_gold']) && $args['first_gold'] > 0){
-                $result = model('Wallet')->lockChangeAccountRemain($orderInfo['user_id'],0,'gold',$args['first_gold'],14, $remark . '金币充值:'.$out_trade_no,'pay_order',$orderInfo['id']);
+                $result = model('Wallet')->lockChangeAccountRemain($orderInfo['user_id'],0,'gold',$args['first_gold'],14, '充值金币首充奖励','pay_order',$orderInfo['id']);
                 if($result['status']===false)
                 {
                     Db::rollback();
@@ -138,9 +138,11 @@ class Notify extends Api
                 if($user_info['vip_endtime'] < time()){
                     //过期了
                     $vip_endtime = time() + (intval($args['first_vipdays']) * 86400);
+                    $vip_type = 1;
                 }else{
                     //追加vip
                     $vip_endtime = $user_info['vip_endtime'] + (intval($args['first_vipdays']) * 86400);
+                    $vip_type = 2;
                 }
                 $result = Db::name('user_wallet')->where('user_id',$orderInfo['user_id'])->update(['vip_endtime'=>$vip_endtime]);
                 if($result === false)
@@ -148,13 +150,25 @@ class Notify extends Api
                     Db::rollback();
                     return false;
                 }
+
+                //记录日志
+                $log_data = [
+                    'user_id' => $orderInfo['user_id'],
+                    'before'  => $user_info['vip_endtime'],
+                    'change_value'  => intval($args['first_vipdays']) * 86400,
+                    'remain'  => $vip_endtime,
+                    'remark'  => '首充赠送vip',
+                    'createtime'  => time(),
+                    'vip_type'  => $vip_type,
+                ];
+                Db::name('user_vip_log')->insertGetId($log_data);
             }
 
         }
 
         //vip用户充值额外送金币
         if(isset($args['vip_gold']) && $args['vip_gold'] > 0){
-            $result = model('Wallet')->lockChangeAccountRemain($orderInfo['user_id'],0,'gold',$args['vip_gold'],101, $remark . '金币充值赠送:'.$out_trade_no,'pay_order',$orderInfo['id']);
+            $result = model('Wallet')->lockChangeAccountRemain($orderInfo['user_id'],0,'gold',$args['vip_gold'],101, 'VIP用户充值金币赠送','pay_order',$orderInfo['id']);
             if($result['status']===false)
             {
                 Db::rollback();
@@ -164,7 +178,7 @@ class Notify extends Api
 
         //用户充值额外送钻石
         if(isset($args['jewel']) && $args['jewel'] > 0){
-            $result = model('Wallet')->lockChangeAccountRemain($orderInfo['user_id'],0,'jewel',$args['jewel'],35, $remark . '金币充值赠送:'.$out_trade_no,'pay_order',$orderInfo['id']);
+            $result = model('Wallet')->lockChangeAccountRemain($orderInfo['user_id'],0,'jewel',$args['jewel'],35, '充值金币赠送钻石','pay_order',$orderInfo['id']);
             if($result['status']===false)
             {
                 Db::rollback();

+ 15 - 7
application/api/controller/Pay.php

@@ -47,6 +47,9 @@ class Pay extends Api
 
         //赋值money
         $recharge_config = Db::name('payvip_config')->where('id',$rc_id)->find();
+        if(empty($recharge_config)){
+            $this->error('不存在的充值金额');
+        }
         $money = $recharge_config['money'];
 
         if($money <= 0) {
@@ -152,11 +155,16 @@ class Pay extends Api
         //赋值money
         if($rc_id){
             $recharge_config = Db::name('paygold_config')->where('id',$rc_id)->find();
-            $money = $recharge_config ? $recharge_config['money']: 0;
-            $gold  = $recharge_config ? $recharge_config['gold'] : 0;
-            $first_gold     = $recharge_config ? $recharge_config['first_gold'] : 0;
-            $first_vipdays  = $recharge_config ? $recharge_config['first_vipdays'] : 0;
-            $vip_gold  = $recharge_config ? $recharge_config['vip_gold'] : 0;
+            if(empty($recharge_config)){
+                $this->error('不存在的充值金额');
+            }
+
+            $money = $recharge_config['money'];
+            $gold  = $recharge_config['gold'];
+            $first_gold     = $recharge_config['first_gold'];
+            $first_vipdays  = $recharge_config['first_vipdays'];
+            $vip_gold  = $recharge_config['vip_gold'];
+            $jewel  = $recharge_config['jewel'];
         }
 
         //自由输入覆盖
@@ -168,6 +176,7 @@ class Pay extends Api
             $first_gold = 0;
             $first_vipdays = 0;
             $vip_gold  = 0;
+            $jewel  = 0;
         }
         if($money <= 0) {
             $this->error('支付金额必须大于0');
@@ -192,8 +201,7 @@ class Pay extends Api
         $data['pay_type'] = $pay_type;
         $data['user_id'] = $uid;
         $data['memo'] =  '充值金币支付';
-        $data['args'] = json_encode(['user_id'=>$uid,'gold'=>$gold,'money'=>$money,'pg_id'=>$rc_id,'first_gold'=>$first_gold,'first_vipdays'=>$first_vipdays, 'intro_uid' => $this->auth->intro_uid, 'vip_gold' => $vip_gold]);
-
+        $data['args'] = json_encode(['user_id'=>$uid,'gold'=>$gold,'money'=>$money,'pg_id'=>$rc_id,'first_gold'=>$first_gold,'first_vipdays'=>$first_vipdays, 'intro_uid' => $this->auth->intro_uid, 'vip_gold' => $vip_gold, 'jewel' => $jewel]);
 
         $data['createtime'] = time();
         $data['payment'] = 'app';