zilong 4 роки тому
батько
коміт
94188e3aeb

+ 2 - 1
app/Http/Controllers/Api/V1/CouponController.php

xqd
@@ -58,7 +58,8 @@ class CouponController extends AuthController
     {
         $user = $this->user;
 
-        $data = UserCoupon::with('couponType')->where('user_id', $user['id'])->where('status', 1)->where('expire_time', '>', time())->orderBy('id', 'desc')->paginate();
+        UserCoupon::where('user_id', $user['id'])->where('status', 1)->where('expire_time', '<=', time())->update(['status' => 3]);
+        $data = UserCoupon::with('couponType')->where('user_id', $user['id'])->orderBy('id', 'desc')->paginate();
 
         return out($data);
     }

+ 10 - 0
app/Models/Order.php

xqd
@@ -328,6 +328,16 @@ class Order extends BaseModel
             Vaccine::where('id', $orderVaccine['vaccine_id'])->increment('stock');
         }
 
+        //如果买的时候使用了优惠券,取消订单,要把优惠券返回回去
+        $userCoupon = UserCoupon::where('user_id', $order['user_id'])->where('order_id', $order['id'])->where('status', 2)->first();
+        if (!empty($userCoupon)) {
+            $new_status = 1;
+            if ($userCoupon['expire_time'] <= time()) {
+                $new_status = 3;
+            }
+            UserCoupon::where('id', $userCoupon['id'])->update(['status' => $new_status, 'order_id' => 0, 'use_time' => 0]);
+        }
+
         return true;
     }