|
|
@ -222,20 +222,23 @@ class CouponController extends BaseController |
|
|
->orderByRaw('coupon.discounts DESC, coupon.full_amount DESC') |
|
|
->orderByRaw('coupon.discounts DESC, coupon.full_amount DESC') |
|
|
->get(); |
|
|
->get(); |
|
|
|
|
|
|
|
|
// 剔除用户今天用过的优惠券种类
|
|
|
|
|
|
|
|
|
// 分离用户今天用过的优惠券种类
|
|
|
$container = ApplicationContext::getContainer(); |
|
|
$container = ApplicationContext::getContainer(); |
|
|
$redis = $container->get(Redis::class); |
|
|
$redis = $container->get(Redis::class); |
|
|
$couponIds = $redis->sMembers('coupon_'.date('Ymd').'_used_'.$userId); |
|
|
$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 |
|
|
|
|
|
]); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|