zz 6 lat temu
rodzic
commit
8804138d0c
1 zmienionych plików z 27 dodań i 17 usunięć
  1. 27 17
      app/Http/Controllers/Wap/Pay/OrdersController.php

+ 27 - 17
app/Http/Controllers/Wap/Pay/OrdersController.php

@@ -69,6 +69,7 @@ class OrdersController extends Controller
         $pay_redirect_url = $request->has('pay_redirect_url') ? $request->get('pay_redirect_url') : '';
         $send_order_id = $request->has('send_order_id') ? $request->get('send_order_id') : 0;
         $activity_id = $request->has('activity_id') ? $request->get('activity_id') : 0;
+        $ip = $request->has('ip') ? $request->get('ip') : '';
         $n = $request->has('n') ? $request->get('n') : 0;
         if ($send_order_id && strlen($send_order_id) > 50) {
             try {
@@ -148,7 +149,12 @@ class OrdersController extends Controller
         }
         if (empty($openid)) {
             $trade_no = date("YmdHis") . str_shuffle(hexdec(uniqid()));
-            $params = compact('uid', 'product_id', 'distribution_channel_id', 'send_order_id', 'bid', 'trade_no', 'pay_redirect_url', 'fromtype', 'activity_id', 'n','suid');
+            if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR']){
+                $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
+            }else{
+                $ip = get_client_ip();
+            }
+            $params = compact('uid', 'product_id', 'distribution_channel_id', 'send_order_id', 'bid', 'trade_no', 'pay_redirect_url', 'fromtype', 'activity_id', 'n','suid','ip');
 
             $redirect_url = env('CREATE_PAY_URL') . '?' . http_build_query($params);
             //$redirect_url  = env('CREATE_PAY_URL').'?uid='.$uid.'&product_id='.$product_id.'&distribution_channel_id='
@@ -213,7 +219,7 @@ class OrdersController extends Controller
 
         $data['price'] = $price;
 
-        $data['create_ip'] = $request->getClientIp();
+        $data['create_ip'] = $ip;
 
         $data['openid'] = $openid;//
 
@@ -229,7 +235,7 @@ class OrdersController extends Controller
                 'uid' => $uid,
                 'dcd' => $distribution_channel_id,
                 'bid' => $bid,
-                'cp' => $request->getClientIp(),
+                'cp' => $ip,
                 'pms' => $pay_merchant->source,
                 'pmi' => $channel->pay_merchant_id,
                 'pd' => $product_id,
@@ -284,7 +290,7 @@ class OrdersController extends Controller
             'trade_no' => $data['trade_no'],
             'pay_merchant_source' => $pay_merchant->source,
             'pay_merchant_id' => $channel->pay_merchant_id,
-            'create_ip' => $request->getClientIp(),
+            'create_ip' => $ip,
             'send_order_id' => $send_order_id,
             'send_order_name' => $send_order_name,
             'order_type' => $order_type,
@@ -357,15 +363,15 @@ class OrdersController extends Controller
         Log::info('jsSdkSign---- :' . $jsSdkSign);
         $pay_order = $trade_no;
         
-        // 注册动作-》创建订单
-        $action_type = 'CreateOrder';
+        // 注册动作-》创建订单
+        $action_type = 'CreateOrder';
         $param = [
-	        'openid' => isset($openid)?$openid:'0',
+	        'openid' => isset($openid)?$openid:'0',
 	        'uid' =>isset($uid)?$uid:'0',
 	        'order_sn' => isset($trade_no)?$trade_no:'0',
-	        'amount' => isset($price)?$price:'0',
-        ];
-        UserService::PushUserActionToQueue($action_type,$distribution_channel_id,$param);
+	        'amount' => isset($price)?$price:'0',
+        ];
+        UserService::PushUserActionToQueue($action_type,$distribution_channel_id,$param);
         
         return view('pay.order.index', compact('pay_info', 'referer', 'jsSdkSign', 'pay_order'));
     }
@@ -424,11 +430,15 @@ class OrdersController extends Controller
         } catch (\Exception  $e) {
 
         }
-
+        if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR']){
+            $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
+        }else{
+            $ip = get_client_ip();
+        }
         $data = [];
 
         $data['price'] = $price;
-        $data['create_ip'] = $request->getClientIp();
+        $data['create_ip'] = $ip;
         $data['body'] = 'novel read';
         $official_name = $this->getSubscribeOfficialName($uid);
         if ($official_name) {
@@ -471,7 +481,7 @@ class OrdersController extends Controller
             'trade_no' => $data['trade_no'],
             'pay_merchant_source' => 'PALMPAY',
             'pay_merchant_id' => $pay_merchant->id,
-            'create_ip' => $request->getClientIp(),
+            'create_ip' => $ip,
             'send_order_id' => $send_order_id,
             'send_order_name' => $send_order_name,
             'order_type' => $order_type,
@@ -803,12 +813,12 @@ class OrdersController extends Controller
                 Redis::hdel($key, $uid);
                 DB::commit();
                 
-                // 注册动作-》回调订单
+                // 注册动作-》回调订单
                 $action_type = 'CallBackOrder';
-                $param = [
+                $param = [
                    'order_sn' => isset($trade_no)?$trade_no:'0',
-                   'openid' => isset($uid)?$uid:'0',// 没有openid,用uid写log
-                ];
+                   'openid' => isset($uid)?$uid:'0',// 没有openid,用uid写log
+                ];
                 UserService::PushUserActionToQueue($action_type,$distribution_channel_id,$param);
                 
                 return true;