diff --git a/app/Controller/CouponController.php b/app/Controller/CouponController.php index cbe7162..7377ab6 100644 --- a/app/Controller/CouponController.php +++ b/app/Controller/CouponController.php @@ -221,20 +221,23 @@ class CouponController extends BaseController ->orderByRaw('coupon.discounts DESC, coupon.full_amount DESC') ->get(); - // 剔除用户今天用过的优惠券种类 + // 分离用户今天用过的优惠券种类 $container = ApplicationContext::getContainer(); $redis = $container->get(Redis::class); $couponIds = $redis->sMembers('coupon_'.date('Ymd').'_used_'.$userId); - $available = $data->reject(function ($item) use ($couponIds) { - return in_array($item->id, $couponIds); - }); - - $notAvailable = $data->reject(function ($item) use ($couponIds) { - return !in_array($item->id, $couponIds); - }); + $notAvailable = []; + foreach ($data as $key => &$item) { + if (in_array($item->id, $couponIds)) { + $notAvailable[] = $item; + unset($item); + } + } - return $this->success(['available' => $available, 'not_available' => $notAvailable]); + return $this->success([ + 'available' => $data, + 'not_available' => $notAvailable + ]); }