diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index cbcf6a58..5fc2bb7e 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -347,12 +347,17 @@ class OrderService // 需赠送礼品的总数 $num = $gift->num * $qty; - // 如果赠品有限,且剩余数量不足时,直接赠送剩余赠品 - if ($gift->isLimit() && $num > $gift->remaining) { - // 计算剩余可赠送的份数 - $remainingQty = (int) ($gift->remaining / $gift->num); + if ($gift->isLimit()) { + if ($gift->remaining === 0) { + continue; + } - $num = $gift->num * $remainingQty; + if ($num > $gift->remaining) { + // 计算剩余可赠送的份数 + $remainingQty = (int) ($gift->remaining / $gift->num); + + $num = $gift->num * $remainingQty; + } } if ($gift->isLimit()) {