zilong 4 лет назад
Родитель
Сommit
5945d64a18
2 измененных файлов с 19 добавлено и 20 удалено
  1. 1 20
      app/Http/Controllers/Api/V1/PayCallbackController.php
  2. 18 0
      app/Models/Order.php

+ 1 - 20
app/Http/Controllers/Api/V1/PayCallbackController.php

xqd
@@ -44,27 +44,8 @@ class PayCallbackController extends Controller
                     try {
                         //更新payment
                         Payment::where('id', $payment['id'])->update(['online_sn' => $message['transaction_id'], 'status' => 2, 'payment_time' => time()]);
-                        $order = Order::select(['id', 'user_id', 'docter_id', 'product_type', 'payment_amount', 'total_amount'])->where('id', $payment['order_id'])->first();
-                        $order_status = 2;
-                        if (in_array($order['product_type'], [3,4,5])) {
-                            $order_status = 7;
-                        }
-                        elseif ($order['product_type'] == 6) {
-                            $order_status = 3;
-                        }
-                        elseif ($order['product_type'] == 7) {
-                            $order_status = 4;
-                            //改变用户余额
-                            User::changeBalance($order['user_id'], $order['total_amount'], 2, $order['id'], '充值');
-                        }
-                        //更新订单
-                        Order::where('id', $payment['order_id'])->update([
-                            'order_status' => $order_status,
-                            'payment_status' => 2,
-                            'payment_time' => time(),
-                        ]);
 
-                        Order::payCompletedHandle($order['id']);
+                        Order::payCompletedHandle($payment['order_id']);
 
                         // 提交事务
                         DB::commit();

+ 18 - 0
app/Models/Order.php

xqd
@@ -94,6 +94,24 @@ class Order extends BaseModel
         $order = Order::with(['organization', 'orderVaccine', 'orderNurse', 'orderPack'])->where('id', $order_id)->first()->toArray();
         $orderPatient = OrderPatient::where('order_id', $order_id)->first();
         $user = User::where('id', $order['user_id'])->first();
+        //更新订单
+        $order_status = 2;
+        if (in_array($order['product_type'], [3,4,5])) {
+            $order_status = 7;
+        }
+        elseif ($order['product_type'] == 6) {
+            $order_status = 3;
+        }
+        elseif ($order['product_type'] == 7) {
+            $order_status = 4;
+            //改变用户余额
+            User::changeBalance($order['user_id'], $order['total_amount'], 2, $order['id'], '充值');
+        }
+        Order::where('id', $order_id)->update([
+            'order_status' => $order_status,
+            'payment_status' => 2,
+            'payment_time' => time(),
+        ]);
         //发送下单消息
         if ($order['product_type'] < 6) {
             $product_type_text = config('config.product_type_map')[$order['product_type']];