Browse Source

优惠券使用

gorden 3 months ago
parent
commit
dc2c6da003
1 changed files with 7 additions and 5 deletions
  1. 7 5
      app/admin/service/order/OrderService.php

+ 7 - 5
app/admin/service/order/OrderService.php

@@ -769,8 +769,10 @@ class OrderService
             $order = Order::where('order_id', $orderId)->first();
             if (!empty($order->order_discount_json)) {
                 $orderDiscountJson = json_decode($order->order_discount_json, true);
-                foreach ($orderDiscountJson as $coupon) {
-                    $couponDetailIds = $coupon['coupon_detail_id'];
+                foreach ($orderDiscountJson as $orderCoupon) {
+                    if ($coupon[0] == $orderCoupon['coupon_id']) {
+                        $couponDetailIds = $orderCoupon['coupon_detail_id'];
+                    }
                 }
             }
         }
@@ -785,8 +787,8 @@ class OrderService
                 $couponDetail = CouponDetail::leftJoin('coupon_goods', 'coupon_goods.join_goods_coupon_id', '=', 'coupon_detail.join_detail_coupon_id')
                     ->leftJoin('coupon', 'coupon.coupon_id', '=', 'coupon_detail.join_detail_coupon_id')
                     ->select('coupon_detail.coupon_detail_id', 'coupon_goods.coupon_goods_id', 'coupon_id', 'coupon_classify', 'coupon_value', 'coupon_minimum_limit', 'coupon_category')
-                    ->whereIn('coupon_detail_id',$couponDetailIds)
-                    ->orWhere(function($query) use ($goodsId,$couponId,$memberId){
+                    ->whereIn('coupon_detail_id', $couponDetailIds)
+                    ->orWhere(function ($query) use ($goodsId, $couponId, $memberId) {
                         $query->where('coupon_goods.join_coupon_goods_id', $goodsId)
                             ->where('join_goods_coupon_id', $couponId)
                             ->where('coupon_detail.join_coupon_detail_member_id', $memberId)
@@ -915,7 +917,7 @@ class OrderService
         } catch (\Exception $e) {
             Redis::del("ORDER:USE:COUPON:" . $memberId);
             Redis::del("ORDER:USE:COUPON:DISCOUNT:" . $memberId);
-            dump($e->getTrace());
+            Log::error('优惠券使用失败', ['msg' => $e->getMessage()]);
         }
     }