Browse Source

优惠券使用

master
weigang 5 years ago
parent
commit
7d831289ac
  1. 19
      app/Service/OrderService.php

19
app/Service/OrderService.php

@ -276,15 +276,15 @@ class OrderService implements OrderServiceInterface
// 处理红包的使用 // 处理红包的使用
$canUseCoupons = CouponUserRec::select(['id', 'user_id', 'number', 'number_remain', 'system_coupon_user_id']) $canUseCoupons = CouponUserRec::select(['id', 'user_id', 'number', 'number_remain', 'system_coupon_user_id'])
->whereIn('id', $receiveCouponIds) ->whereIn('id', $receiveCouponIds)
->get();
->get()->toArray();
if (is_array($canUseCoupons)&&!empty($canUseCoupons)) { if (is_array($canUseCoupons)&&!empty($canUseCoupons)) {
# 使用记录、更新当前优惠券 # 使用记录、更新当前优惠券
foreach ($canUseCoupons as $key => &$coupon) { foreach ($canUseCoupons as $key => &$coupon) {
$couponUse = [ $couponUse = [
'user_id' => $coupon->user_id,
'user_receive_id' => $coupon->id,
'system_coupon_id' => $coupon->system_coupon_user_id,
'user_id' => $coupon['user_id'],
'user_receive_id' => $coupon['id'],
'system_coupon_id' => $coupon['system_coupon_user_id'],
'order_main_id' => $orderMainId, 'order_main_id' => $orderMainId,
'use_time' => $currentTime, 'use_time' => $currentTime,
'return_time' => 0, 'return_time' => 0,
@ -292,20 +292,21 @@ class OrderService implements OrderServiceInterface
'status' => 1, 'status' => 1,
'update_time' => 0, 'update_time' => 0,
]; ];
var_dump('$couponUse',$couponUse);
$insertRes = CouponUserUse::query()->insert($couponUse); $insertRes = CouponUserUse::query()->insert($couponUse);
if ($insertRes) { if ($insertRes) {
$numberRemain = $coupon->number_remain - 1;
$numberRemain = $coupon['number_remain'] - 1;
if ($numberRemain == 0) { if ($numberRemain == 0) {
$status = 2; $status = 2;
} elseif ($numberRemain > 0 && $numberRemain < $coupon->number) {
} elseif ($numberRemain > 0 && $numberRemain < $coupon['number']) {
$status = 1; $status = 1;
} elseif ($numberRemain == $coupon->number) {
} elseif ($numberRemain == $coupon['number']) {
$status = 0; $status = 0;
} }
$upRes = CouponUserRec::query()->where(['id' => $coupon->id])->update(['number_remain' => $numberRemain, 'status' => $status]);
$upRes = CouponUserRec::query()->where(['id' => $coupon['id']])->update(['number_remain' => $numberRemain, 'status' => $status]);
if (!$upRes) { if (!$upRes) {
Db::rollBack(); Db::rollBack();
@ -313,7 +314,7 @@ class OrderService implements OrderServiceInterface
} }
// 缓存使用记录 // 缓存使用记录
$usedRes = $this->couponService->cacheTodayCouponUsed($coupon->user_id, $coupon->system_coupon_user_id, $coupon->id);
$usedRes = $this->couponService->cacheTodayCouponUsed($coupon['user_id'], $coupon['system_coupon_user_id'], $coupon['id']);
if (!$usedRes) { if (!$usedRes) {
Db::rollBack(); Db::rollBack();
return '优惠券使用失败'; return '优惠券使用失败';

Loading…
Cancel
Save