|
@@ -541,11 +541,11 @@ class OrderService
|
|
|
}
|
|
|
Redis::sAdd($cacheKey, $goodsId);
|
|
|
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 * (100 - $couponDetail->coupon_value) / 100);
|
|
|
if (!empty($discountData[$couponId]['coupon_value'])) {
|
|
|
- $zhekouAmount = $discountData[$couponId]['coupon_value'] + ($money * $couponDetail->coupon_value / 100);
|
|
|
+ $zhekouAmount = $discountData[$couponId]['coupon_value'] + ($money * (100 - $couponDetail->coupon_value) / 100);
|
|
|
} else {
|
|
|
- $zhekouAmount = $money * $couponDetail->coupon_value / 100;
|
|
|
+ $zhekouAmount = $money * (100 - $couponDetail->coupon_value) / 100;
|
|
|
}
|
|
|
// json记录
|
|
|
$discountData[$couponId] = [
|
|
@@ -561,7 +561,6 @@ class OrderService
|
|
|
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)) {
|
|
|
$diyongCouponDetailIds = CouponDetail::leftJoin('coupon_goods', 'coupon_goods.join_goods_coupon_id', '=', 'coupon_detail.join_detail_coupon_id')
|
|
|
->where('join_detail_coupon_id', $couponId)
|
|
@@ -593,6 +592,7 @@ class OrderService
|
|
|
if (!Redis::sIsMember($cacheKey, $detailId)) {
|
|
|
$useDetailIds[] = $detailId;
|
|
|
Redis::sAdd($cacheKey, $detailId);
|
|
|
+ Redis::sAdd($cacheKey, $goodsId);
|
|
|
CouponDetail::where('coupon_detail_id', $detailId)->update(['coupon_detail_status' => 'USED']);
|
|
|
if ($good['nbr'] > 1) {
|
|
|
$payAmount = $payAmount - $good['goods_sales_price'];
|
|
@@ -751,7 +751,7 @@ class OrderService
|
|
|
}
|
|
|
Redis::sAdd($cacheKey, $goodsId);
|
|
|
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 * (100 - $couponDetail->coupon_value) / 100);
|
|
|
}
|
|
|
} elseif (in_array($couponDetail->coupon_classify, ['抵用券', '赠品券'])) {
|
|
|
if (Redis::sIsMember($cacheKey, $goodsId)) {
|