Browse Source

修复余额方面的问题

修复使用余额购买套餐,扣除余额后,没有实际处理订单的问题;
修复余额订单中支付方式记录类型错误的问题;
修复商品订单页面orderList无法显示的问题;
兔姬桑 5 years ago
parent
commit
346e841ea0

+ 112 - 1
_ide_helper.php

@@ -3,7 +3,7 @@
 
 /**
  * A helper file for Laravel 5, to provide autocomplete information to your IDE
- * Generated for Laravel 5.8.37 on 2020-04-04 05:47:15.
+ * Generated for Laravel 5.8.38 on 2020-04-15 08:22:37.
  *
  * This file should not be included in your code, only analyzed by your IDE!
  *
@@ -15276,6 +15276,115 @@ namespace Barryvdh\Debugbar {
  
 }
 
+namespace SSRPanel\HCaptcha\Facades { 
+
+    /**
+     * 
+     *
+     */ 
+    class HCaptcha {
+        
+        /**
+         * Render HTML captcha.
+         *
+         * @param array $attributes
+         * @return string 
+         * @static 
+         */ 
+        public static function display($attributes = [])
+        {
+                        /** @var \SSRPanel\HCaptcha\HCaptcha $instance */
+                        return $instance->display($attributes);
+        }
+        
+        /**
+         * 
+         *
+         * @see display()
+         * @static 
+         */ 
+        public static function displayWidget($attributes = [])
+        {
+                        /** @var \SSRPanel\HCaptcha\HCaptcha $instance */
+                        return $instance->displayWidget($attributes);
+        }
+        
+        /**
+         * Display a Invisible hCaptcha by embedding a callback into a form submit button.
+         *
+         * @param string $formIdentifier the html ID of the form that should be submitted.
+         * @param string $text the text inside the form button
+         * @param array $attributes array of additional html elements
+         * @return string 
+         * @static 
+         */ 
+        public static function displaySubmit($formIdentifier, $text = 'submit', $attributes = [])
+        {
+                        /** @var \SSRPanel\HCaptcha\HCaptcha $instance */
+                        return $instance->displaySubmit($formIdentifier, $text, $attributes);
+        }
+        
+        /**
+         * Render js source
+         *
+         * @param null $lang
+         * @param bool $callback
+         * @param string $onLoadClass
+         * @return string 
+         * @static 
+         */ 
+        public static function renderJs($lang = null, $callback = false, $onLoadClass = 'onloadCallBack')
+        {
+                        /** @var \SSRPanel\HCaptcha\HCaptcha $instance */
+                        return $instance->renderJs($lang, $callback, $onLoadClass);
+        }
+        
+        /**
+         * Verify no-captcha response.
+         *
+         * @param string $response
+         * @param string $clientIp
+         * @return bool 
+         * @static 
+         */ 
+        public static function verifyResponse($response, $clientIp = null)
+        {
+                        /** @var \SSRPanel\HCaptcha\HCaptcha $instance */
+                        return $instance->verifyResponse($response, $clientIp);
+        }
+        
+        /**
+         * Verify no-captcha response by Symfony Request.
+         *
+         * @param \Request $request
+         * @return bool 
+         * @static 
+         */ 
+        public static function verifyRequest($request)
+        {
+                        /** @var \SSRPanel\HCaptcha\HCaptcha $instance */
+                        return $instance->verifyRequest($request);
+        }
+        
+        /**
+         * Get hCaptcha js link.
+         *
+         * @param string $lang
+         * @param boolean $callback
+         * @param string $onLoadClass
+         * @return string 
+         * @static 
+         */ 
+        public static function getJsLink($lang = null, $callback = false, $onLoadClass = 'onloadCallBack')
+        {
+                        /** @var \SSRPanel\HCaptcha\HCaptcha $instance */
+                        return $instance->getJsLink($lang, $callback, $onLoadClass);
+        }
+         
+    }
+ 
+}
+
 namespace Mews\Captcha\Facades { 
 
     /**
@@ -19046,6 +19155,8 @@ namespace  {
 
     class Hash extends \Illuminate\Support\Facades\Hash {}
 
+    class HCaptcha extends \SSRPanel\HCaptcha\Facades\HCaptcha {}
+
     class Lang extends \Illuminate\Support\Facades\Lang {}
 
     class Log extends \Illuminate\Support\Facades\Log {}

+ 8 - 16
app/Components/Callback.php

@@ -11,7 +11,6 @@ use App\Http\Models\User;
 use App\Http\Models\UserLabel;
 use DB;
 use Exception;
-use Hash;
 use Log;
 
 trait Callback
@@ -32,15 +31,16 @@ trait Callback
 	private function tradePaid($msg, $pay_type)
 	{
 		$pay_type_name = $pay_type == 1? '余额支付' : ($pay_type == 4? '支付宝国际' : ($pay_type == 5? '支付宝当面付' : ''));
-		$payment = Payment::query()->with(['order', 'order.goods'])->where('status', 0)->where('order_sn', $msg['out_trade_no'])->first();
-		if(!$payment){
-			Log::info('【'.$pay_type_name.'】回调订单【'.$msg['out_trade_no'].'】不存在');
 
-			return FALSE;
-		}
 		if($pay_type != 1){
-			Log::info('【'.$pay_type_name.'】支付成功,开始处理回调订单');
 			// 获取未完成状态的订单防止重复增加时间
+			$payment = Payment::query()->with(['order', 'order.goods'])->where('status', 0)->where('order_sn', $msg['out_trade_no'])->first();
+			if(!$payment){
+				Log::info('【'.$pay_type_name.'】回调订单【'.$msg['out_trade_no'].'】不存在');
+
+				return FALSE;
+			}
+			Log::info('【'.$pay_type_name.'】支付成功,开始处理回调订单');
 		}else{
 			Log::info('【'.$pay_type_name.'】订单处理');
 		}
@@ -49,15 +49,6 @@ trait Callback
 		try{
 			DB::beginTransaction();
 			if($pay_type != 1){
-				// 如果支付单中没有用户信息则创建一个用户
-				if(!$payment->user_id){
-					$uid = Helpers::addUser('自动生成-'.$payment->order->email, Hash::make(makeRandStr()), 1, $payment->order->goods->days);
-
-					if($uid){
-						Order::query()->where('oid', $payment->oid)->update(['user_id' => $uid]);
-					}
-				}
-
 				// 更新支付单
 				$payment->pay_way = $pay_type == 4 || $pay_type == 5? 2 : 1; // 1-微信、2-支付宝
 				$payment->status = 1;
@@ -101,6 +92,7 @@ trait Callback
 						// 2为开始生效,3为预支付
 						$order->status = $activePlan? 3 : 2;
 						$order->save();
+
 						// 预支付不执行
 						if(!$activePlan){
 							// 如果买的是套餐,则先将之前购买的套餐都无效化,重置用户已用、可用流量为0

+ 1 - 1
app/Http/Controllers/PaymentController.php

@@ -122,7 +122,7 @@ class PaymentController extends Controller
 			$order->amount = $amount;
 			$order->expire_at = $balance? NULL : date("Y-m-d H:i:s", strtotime("+".$goods->days." days"));
 			$order->is_expire = 0;
-			$order->pay_way = $balance? 0 : $pay_type;
+			$order->pay_way = $pay_type;
 			$order->status = 0;
 			$order->save();
 			// 生成支付单

+ 11 - 12
composer.lock

@@ -1826,16 +1826,16 @@
         },
         {
             "name": "jaybizzle/crawler-detect",
-            "version": "v1.2.94",
+            "version": "v1.2.95",
             "source": {
                 "type": "git",
                 "url": "https://github.com/JayBizzle/Crawler-Detect.git",
-                "reference": "fbd4c12741583fb9d8f0bcbf65248a34eed68fc9"
+                "reference": "a7936c4b60c78f8ae9024eeecf7e8d4cf470b730"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/fbd4c12741583fb9d8f0bcbf65248a34eed68fc9",
-                "reference": "fbd4c12741583fb9d8f0bcbf65248a34eed68fc9",
+                "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/a7936c4b60c78f8ae9024eeecf7e8d4cf470b730",
+                "reference": "a7936c4b60c78f8ae9024eeecf7e8d4cf470b730",
                 "shasum": "",
                 "mirrors": [
                     {
@@ -1877,7 +1877,7 @@
                 "crawlerdetect",
                 "php crawler detect"
             ],
-            "time": "2020-02-20T21:42:59+00:00"
+            "time": "2020-04-14T20:42:56+00:00"
         },
         {
             "name": "jenssegers/agent",
@@ -2028,16 +2028,16 @@
         },
         {
             "name": "laravel/framework",
-            "version": "v5.8.37",
+            "version": "v5.8.38",
             "source": {
                 "type": "git",
                 "url": "https://github.com/laravel/framework.git",
-                "reference": "ce08aaee3a0b8bb58b459b2decf7f25ba7b10fa4"
+                "reference": "78eb4dabcc03e189620c16f436358d41d31ae11f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/laravel/framework/zipball/ce08aaee3a0b8bb58b459b2decf7f25ba7b10fa4",
-                "reference": "ce08aaee3a0b8bb58b459b2decf7f25ba7b10fa4",
+                "url": "https://api.github.com/repos/laravel/framework/zipball/78eb4dabcc03e189620c16f436358d41d31ae11f",
+                "reference": "78eb4dabcc03e189620c16f436358d41d31ae11f",
                 "shasum": "",
                 "mirrors": [
                     {
@@ -2178,7 +2178,7 @@
                 "framework",
                 "laravel"
             ],
-            "time": "2020-02-14T14:29:11+00:00"
+            "time": "2020-04-14T14:14:36+00:00"
         },
         {
             "name": "laravel/tinker",
@@ -8114,6 +8114,5 @@
         "ext-json": "*",
         "ext-openssl": "*"
     },
-    "platform-dev": [],
-    "plugin-api-version": "1.1.0"
+    "platform-dev": []
 }

+ 1 - 1
resources/views/admin/orderList.blade.php

@@ -111,7 +111,7 @@
 									@endif
 								</td>
 								<td> {{$order->order_sn}}</td>
-								<td> {{$order->goods->name}} </td>
+								<td> {{$order->goods_id == -1? "余额充值" :$order->goods->name}} </td>
 								<td> {{$order->is_expire ? '已过期' : $order->expire_at}} </td>
 								<td> {{$order->coupon ? $order->coupon->name . ' - ' . $order->coupon->sn : ''}} </td>
 								<td> ¥{{$order->origin_amount}} </td>