|
@@ -508,9 +508,13 @@ class OrderService
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
if (in_array($couponDetail->coupon_classify, ['立减券', '满减券'])) {
|
|
if (in_array($couponDetail->coupon_classify, ['立减券', '满减券'])) {
|
|
|
|
+ if (Redis::sIsMember($cacheKey, $goodsId)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
if ($couponDetail->coupon_category == 'PIECE' || ($couponDetail->coupon_category == 'NORMAL' && $countAndAmount['amount'] >= $couponDetail->coupon_minimum_limit)) {
|
|
if ($couponDetail->coupon_category == 'PIECE' || ($couponDetail->coupon_category == 'NORMAL' && $countAndAmount['amount'] >= $couponDetail->coupon_minimum_limit)) {
|
|
if (!Redis::sIsMember($cacheKey, $couponId)) {
|
|
if (!Redis::sIsMember($cacheKey, $couponId)) {
|
|
Redis::sAdd($cacheKey, $couponId);
|
|
Redis::sAdd($cacheKey, $couponId);
|
|
|
|
+ Redis::sAdd($cacheKey, $goodsId);
|
|
$cutBalance = $couponDetail->coupon_value;
|
|
$cutBalance = $couponDetail->coupon_value;
|
|
}
|
|
}
|
|
if ($cutBalance - $money >= 0) {
|
|
if ($cutBalance - $money >= 0) {
|
|
@@ -532,6 +536,10 @@ class OrderService
|
|
CouponDetail::where('coupon_detail_id', $couponDetail->coupon_detail_id)->update(['coupon_detail_status' => 'USED']);
|
|
CouponDetail::where('coupon_detail_id', $couponDetail->coupon_detail_id)->update(['coupon_detail_status' => 'USED']);
|
|
}
|
|
}
|
|
} elseif ($couponDetail->coupon_classify == '折扣券') {
|
|
} elseif ($couponDetail->coupon_classify == '折扣券') {
|
|
|
|
+ if (Redis::sIsMember($cacheKey, $goodsId)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ Redis::sAdd($cacheKey, $goodsId);
|
|
if ($couponDetail->coupon_category == 'PIECE' || ($couponDetail->coupon_category == 'NORMAL' && $countAndAmount['amount'] >= $couponDetail->coupon_minimum_limit)) {
|
|
if ($couponDetail->coupon_category == 'PIECE' || ($couponDetail->coupon_category == 'NORMAL' && $countAndAmount['amount'] >= $couponDetail->coupon_minimum_limit)) {
|
|
$payAmount = $payAmount - ($money * $couponDetail->coupon_value / 100);
|
|
$payAmount = $payAmount - ($money * $couponDetail->coupon_value / 100);
|
|
if (!empty($discountData[$couponId]['coupon_value'])) {
|
|
if (!empty($discountData[$couponId]['coupon_value'])) {
|
|
@@ -550,6 +558,10 @@ class OrderService
|
|
CouponDetail::where('coupon_detail_id', $couponDetail->coupon_detail_id)->update(['coupon_detail_status' => 'USED']);
|
|
CouponDetail::where('coupon_detail_id', $couponDetail->coupon_detail_id)->update(['coupon_detail_status' => 'USED']);
|
|
}
|
|
}
|
|
} elseif (in_array($couponDetail->coupon_classify, ['抵用券', '赠品券'])) {
|
|
} elseif (in_array($couponDetail->coupon_classify, ['抵用券', '赠品券'])) {
|
|
|
|
+ if (Redis::sIsMember($cacheKey, $goodsId)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ Redis::sAdd($cacheKey, $goodsId);
|
|
if ($couponDetail->coupon_category == 'PIECE' || ($couponDetail->coupon_category == 'NORMAL' && $countAndAmount['amount'] >= $couponDetail->coupon_minimum_limit)) {
|
|
if ($couponDetail->coupon_category == 'PIECE' || ($couponDetail->coupon_category == 'NORMAL' && $countAndAmount['amount'] >= $couponDetail->coupon_minimum_limit)) {
|
|
$diyongCouponDetailIds = CouponDetail::leftJoin('coupon_goods', 'coupon_goods.join_goods_coupon_id', '=', 'coupon_detail.join_detail_coupon_id')
|
|
$diyongCouponDetailIds = CouponDetail::leftJoin('coupon_goods', 'coupon_goods.join_goods_coupon_id', '=', 'coupon_detail.join_detail_coupon_id')
|
|
->where('join_detail_coupon_id', $couponId)
|
|
->where('join_detail_coupon_id', $couponId)
|
|
@@ -603,7 +615,11 @@ class OrderService
|
|
Redis::set($cacheDiscountKey, json_encode($discountData,JSON_UNESCAPED_UNICODE));
|
|
Redis::set($cacheDiscountKey, json_encode($discountData,JSON_UNESCAPED_UNICODE));
|
|
}
|
|
}
|
|
} elseif ($couponDetail->coupon_classify == '福利券') {
|
|
} elseif ($couponDetail->coupon_classify == '福利券') {
|
|
|
|
+ if (Redis::sIsMember($cacheKey, $goodsId)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
if (!Redis::sIsMember($cacheKey, $couponId)) {
|
|
if (!Redis::sIsMember($cacheKey, $couponId)) {
|
|
|
|
+ Redis::sAdd($cacheKey, $goodsId);
|
|
Redis::sAdd($cacheKey, $couponId);
|
|
Redis::sAdd($cacheKey, $couponId);
|
|
CouponDetail::where('coupon_detail_id', $couponDetail->coupon_detail_id)->update(['coupon_detail_status' => 'USED']);
|
|
CouponDetail::where('coupon_detail_id', $couponDetail->coupon_detail_id)->update(['coupon_detail_status' => 'USED']);
|
|
$welfareBalance = $couponDetail->coupon_value;
|
|
$welfareBalance = $couponDetail->coupon_value;
|
|
@@ -712,9 +728,13 @@ class OrderService
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
if (in_array($couponDetail->coupon_classify, ['立减券', '满减券'])) {
|
|
if (in_array($couponDetail->coupon_classify, ['立减券', '满减券'])) {
|
|
|
|
+ if (Redis::sIsMember($cacheKey, $goodsId)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
if ($couponDetail->coupon_category == 'PIECE' || ($couponDetail->coupon_category == 'NORMAL' && $countAndAmount['amount'] >= $couponDetail->coupon_minimum_limit)) {
|
|
if ($couponDetail->coupon_category == 'PIECE' || ($couponDetail->coupon_category == 'NORMAL' && $countAndAmount['amount'] >= $couponDetail->coupon_minimum_limit)) {
|
|
if (!Redis::sIsMember($cacheKey, $couponId)) {
|
|
if (!Redis::sIsMember($cacheKey, $couponId)) {
|
|
Redis::sAdd($cacheKey, $couponId);
|
|
Redis::sAdd($cacheKey, $couponId);
|
|
|
|
+ Redis::sAdd($cacheKey, $goodsId);
|
|
$cutBalance = $couponDetail->coupon_value;
|
|
$cutBalance = $couponDetail->coupon_value;
|
|
}
|
|
}
|
|
if ($cutBalance - $money >= 0) {
|
|
if ($cutBalance - $money >= 0) {
|
|
@@ -726,10 +746,18 @@ class OrderService
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} elseif ($couponDetail->coupon_classify == '折扣券') {
|
|
} elseif ($couponDetail->coupon_classify == '折扣券') {
|
|
|
|
+ if (Redis::sIsMember($cacheKey, $goodsId)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ Redis::sAdd($cacheKey, $goodsId);
|
|
if ($couponDetail->coupon_category == 'PIECE' || ($couponDetail->coupon_category == 'NORMAL' && $countAndAmount['amount'] >= $couponDetail->coupon_minimum_limit)) {
|
|
if ($couponDetail->coupon_category == 'PIECE' || ($couponDetail->coupon_category == 'NORMAL' && $countAndAmount['amount'] >= $couponDetail->coupon_minimum_limit)) {
|
|
$payAmount = $payAmount - ($money * $couponDetail->coupon_value / 100);
|
|
$payAmount = $payAmount - ($money * $couponDetail->coupon_value / 100);
|
|
}
|
|
}
|
|
} elseif (in_array($couponDetail->coupon_classify, ['抵用券', '赠品券'])) {
|
|
} elseif (in_array($couponDetail->coupon_classify, ['抵用券', '赠品券'])) {
|
|
|
|
+ if (Redis::sIsMember($cacheKey, $goodsId)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ Redis::sAdd($cacheKey, $goodsId);
|
|
if ($couponDetail->coupon_category == 'PIECE' || ($couponDetail->coupon_category == 'NORMAL' && $countAndAmount['amount'] >= $couponDetail->coupon_minimum_limit)) {
|
|
if ($couponDetail->coupon_category == 'PIECE' || ($couponDetail->coupon_category == 'NORMAL' && $countAndAmount['amount'] >= $couponDetail->coupon_minimum_limit)) {
|
|
$diyongCouponDetailIds = CouponDetail::leftJoin('coupon_goods', 'coupon_goods.join_goods_coupon_id', '=', 'coupon_detail.join_detail_coupon_id')
|
|
$diyongCouponDetailIds = CouponDetail::leftJoin('coupon_goods', 'coupon_goods.join_goods_coupon_id', '=', 'coupon_detail.join_detail_coupon_id')
|
|
->where('join_detail_coupon_id', $couponId)
|
|
->where('join_detail_coupon_id', $couponId)
|
|
@@ -763,8 +791,12 @@ class OrderService
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} elseif ($couponDetail->coupon_classify == '福利券') {
|
|
} elseif ($couponDetail->coupon_classify == '福利券') {
|
|
|
|
+ if (Redis::sIsMember($cacheKey, $goodsId)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
if (!Redis::sIsMember($cacheKey, $couponId)) {
|
|
if (!Redis::sIsMember($cacheKey, $couponId)) {
|
|
Redis::sAdd($cacheKey, $couponId);
|
|
Redis::sAdd($cacheKey, $couponId);
|
|
|
|
+ Redis::sAdd($cacheKey, $goodsId);
|
|
$welfareBalance = $couponDetail->coupon_value;
|
|
$welfareBalance = $couponDetail->coupon_value;
|
|
}
|
|
}
|
|
if ($welfareBalance >= $money) {
|
|
if ($welfareBalance >= $money) {
|