From 1e38487a4a3eb5d858eceb59d97588fdc5e191a8 Mon Sep 17 00:00:00 2001 From: weigang Date: Sat, 18 Jul 2020 15:00:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=86=E5=8F=96=E4=BC=98=E6=83=A0=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/CouponController.php | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/app/Controller/CouponController.php b/app/Controller/CouponController.php index 59d0ec7..c72dc16 100644 --- a/app/Controller/CouponController.php +++ b/app/Controller/CouponController.php @@ -79,7 +79,7 @@ class CouponController extends BaseController 'receive_type' => $receiveType ] )->first(); - //TODO 会有超发情况 + $cr = new CouponRec; $cr->user_id = $userId; $cr->system_coupon_user_id = $cp->id; @@ -90,13 +90,20 @@ class CouponController extends BaseController $cr->status = 0; $cr->update_time = $now; $cr->receive_type = $receiveType; - if ($test&&($cp->id%2)) { + if ($test && ($cp->id % 2)) { $fail[] = $cp; } else { - if ($cr->save()) { - $success[] = $cp; - } else { + //TODO 会有超发情况 + //如果优惠卷库存小于等于已领取的数量, 则返回领取失败的优惠券 + if ($cp->inventory<=$cp->inventory_use||$cp->inventory<=($cp->inventory_use+$cr->number)){ $fail[] = $cp; + }else{ + $cp->inventory_use += $cr->number;//记录已领取的数量 + if ($cr->save()&&$cp->save()) { + $success[] = $cp; + } else { + $fail[] = $cp; + } } }