Browse Source

Merge branch 'develop' of ssh://120.24.33.109:11022/hyzjshwo/lanzu_api_hyperf into develop

master
lanzu_qsy 5 years ago
parent
commit
bf2e8e86ec
  1. 35
      app/Controller/CouponController.php

35
app/Controller/CouponController.php

@ -159,11 +159,10 @@ class CouponController extends BaseController
$expired = []; $expired = [];
$couponIds = $couponIds->toArray(); $couponIds = $couponIds->toArray();
$coupons = Coupon::orderByRaw('FIELD(id, ' . implode(", ", $couponIds) . ')')->get();
$coupons = Coupon::whereIn('id',$couponIds)->get();
foreach ($coupons as $key => $coupon) { foreach ($coupons as $key => $coupon) {
if ($coupon->usable_end_time < $nowTime) {
if ($coupon->usable_end_time < $nowTime || $coupon->status != 1) {
$expired[] = $coupon; $expired[] = $coupon;
} else { } else {
$not_expired[] = $coupon; $not_expired[] = $coupon;
@ -197,10 +196,6 @@ class CouponController extends BaseController
// 获取用户优惠券 // 获取用户优惠券
$currentTime = time(); $currentTime = time();
$container = ApplicationContext::getContainer();
$redis = $container->get(Redis::class);
$couponIds = $redis->sMembers('coupon_'.date('Ymd').'_used_'.$userId);
$data = Db::table('ims_system_coupon_user_receive as receive') $data = Db::table('ims_system_coupon_user_receive as receive')
->select([ ->select([
'receive.id as receive_id', 'receive.id as receive_id',
@ -217,13 +212,8 @@ class CouponController extends BaseController
->join('ims_system_coupon_user as coupon', 'coupon.id', '=', 'receive.system_coupon_user_id') ->join('ims_system_coupon_user as coupon', 'coupon.id', '=', 'receive.system_coupon_user_id')
->where(['receive.user_id' => $userId]) ->where(['receive.user_id' => $userId])
->whereIn('receive.status', [0,1]) ->whereIn('receive.status', [0,1])
->where('receive.number_remain', '>', 0);
if (is_array($couponIds)&&!empty($couponIds)) {
$data->whereNotIn('coupon.id', $couponIds);
}
$data = $data->whereIn('coupon.type', [1,$type])
->where('receive.number_remain', '>', 0)
->whereIn('coupon.type', [1,$type])
->where('coupon.full_amount', '<=', $orderAmount) ->where('coupon.full_amount', '<=', $orderAmount)
->where('coupon.usable_start_time', '<=', $currentTime) ->where('coupon.usable_start_time', '<=', $currentTime)
->where('coupon.usable_end_time', '>=', $currentTime) ->where('coupon.usable_end_time', '>=', $currentTime)
@ -233,7 +223,20 @@ class CouponController extends BaseController
->orderByRaw('coupon.discounts DESC, coupon.full_amount DESC') ->orderByRaw('coupon.discounts DESC, coupon.full_amount DESC')
->get(); ->get();
return $this->success($data);
// 剔除用户今天用过的优惠券种类
$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);
});
return $this->success(['available' => $available, 'not_available' => $notAvailable]);
} }

Loading…
Cancel
Save