From 90a3c70e982935628232c98588022baa4183bda4 Mon Sep 17 00:00:00 2001 From: "DESKTOP-GG6FIN9\\Administrator" <15040771@qq.com> Date: Sat, 18 Jul 2020 17:45:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/CouponController.php | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/app/Controller/CouponController.php b/app/Controller/CouponController.php index 6641db1..8c15a77 100644 --- a/app/Controller/CouponController.php +++ b/app/Controller/CouponController.php @@ -149,20 +149,18 @@ class CouponController extends BaseController $userId = $this->request->input("user_id"); $nowTime = time(); - $couponIds = CouponRec::where('user_id', $userId) - ->whereIn('status', [0, 1]) - ->orderBy('receive_time', 'desc') - ->get() - ->pluck('system_coupon_user_id'); - - $not_expired = []; - $expired = []; - - $couponIds = $couponIds->toArray(); - $coupons = Coupon::whereIn('id',$couponIds)->get(); - + $coupons = Db::table('ims_system_coupon_user_receive as receive') + ->join('ims_system_coupon_user as u', 'u.id', '=', 'receive.system_coupon_user_id') + ->where([ + ['receive.user_id','=',$userId], + ]) + ->whereIn('receive.status',[0,1]) + ->select('u.*','receive.number_remain') + ->orderBy('u.weigh','desc') + ->get(); + foreach ($coupons as $key => $coupon) { - if ($coupon->usable_end_time < $nowTime || $coupon->status != 1) { + if ($coupon->usable_end_time < $nowTime || $coupon->status != 1 || $coupon->number_remain <= 0) { $expired[] = $coupon; } else { $not_expired[] = $coupon;