From 2a3a94396395e11a9274c72e3046600b7b8d027d Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Thu, 23 Dec 2021 18:25:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B4=AD=E4=B9=B0=E9=A2=86?= =?UTF-8?q?=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Services/CouponService.php | 6 ++++++ app/Services/OrderService.php | 13 +++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/Services/CouponService.php b/app/Services/CouponService.php index 238fa06e..ce428aff 100644 --- a/app/Services/CouponService.php +++ b/app/Services/CouponService.php @@ -98,7 +98,13 @@ class CouponService for ($i=0; $i<$coupon['num']; $i++) { $userCoupons[] = self::createUserCouponData($user->id, $coupon['coupon']); } + //更新对应券发送量,余量; + $coupon['coupon']->increment('sent', $coupon['num']); + if ($coupon['coupon']->limit > 0) {//限量才减少余量 + $coupon['coupon']->decrement('stock', $coupon['num']); + } } + UserCoupon::insert($userCoupons); } diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index 1d0cce1a..7b5ba929 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -19,6 +19,7 @@ use App\Models\User; use App\Models\UserCoupon; use Illuminate\Database\QueryException; use Illuminate\Support\Facades\DB; +use Throwable; class OrderService { @@ -742,8 +743,16 @@ class OrderService 'status' => Order::STATUS_PAID, ]); - // todo 处理购买分区商品送券 - $this->sendPartCoupon($order); + // 处理购买分区商品送券 + try { + DB::beginTransaction(); + $this->sendPartCoupon($order); + DB::commit(); + } catch (Throwable $th) { + DB::rollBack(); + report($th); + } + // todo 处理预收益