zilong 4 年之前
父節點
當前提交
1060d03cd8
共有 1 個文件被更改,包括 21 次插入4 次删除
  1. 21 4
      app/Http/Controllers/Api/V1/OrderController.php

+ 21 - 4
app/Http/Controllers/Api/V1/OrderController.php

xqd xqd xqd xqd xqd
@@ -80,7 +80,7 @@ class OrderController extends AuthController
         }
 
         if ($req['payment_type'] == 3) {
-            OrderPack::checkUserServicePack($req['order_pack_id'], $user['id'], $req['payment_type'], $payment_amount);
+            OrderPack::checkUserServicePack($req['order_pack_id'], $user['id'], $req['product_type'], $payment_amount);
         }
 
         $order_status = $payment_status = 1;
@@ -171,6 +171,11 @@ class OrderController extends AuthController
                 Order::payCompletedHandle($order['id']);
             }
 
+            //如果有优惠券就标记优惠券为已使用
+            if (!empty($req['user_coupon_id'])) {
+                UserCoupon::where('id', $req['user_coupon_id'])->update(['order_id' => $order['id'], 'status' => 2, 'use_time' => time()]);
+            }
+
             DB::commit();
         } catch (Exception $e) {
             DB::rollBack();
@@ -239,7 +244,7 @@ class OrderController extends AuthController
         }
 
         if ($req['payment_type'] == 3) {
-            OrderPack::checkUserServicePack($req['order_pack_id'], $user['id'], $req['payment_type'], $payment_amount);
+            OrderPack::checkUserServicePack($req['order_pack_id'], $user['id'], $req['product_type'], $payment_amount);
         }
 
         $order_status = $payment_status = 1;
@@ -346,6 +351,11 @@ class OrderController extends AuthController
                 Order::payCompletedHandle($order['id']);
             }
 
+            //如果有优惠券就标记优惠券为已使用
+            if (!empty($req['user_coupon_id'])) {
+                UserCoupon::where('id', $req['user_coupon_id'])->update(['order_id' => $order['id'], 'status' => 2, 'use_time' => time()]);
+            }
+
             DB::commit();
         } catch (Exception $e) {
             DB::rollBack();
@@ -490,11 +500,18 @@ class OrderController extends AuthController
                     //改变用户余额
                     $change_amount = 0 - $payment_amount;
                     User::changeBalance($user['id'], $change_amount, 1, $order['id'], '购买服务包');
-
-                    Order::payCompletedHandle($order['id']);
                 }
             }
 
+            if ($payment_amount == 0 || $req['payment_type'] == 2) {
+                Order::payCompletedHandle($order['id']);
+            }
+            
+            //如果有优惠券就标记优惠券为已使用
+            if (!empty($req['user_coupon_id'])) {
+                UserCoupon::where('id', $req['user_coupon_id'])->update(['order_id' => $order['id'], 'status' => 2, 'use_time' => time()]);
+            }
+
             DB::commit();
         } catch (Exception $e) {
             DB::rollBack();