From a8e2452dcc1d12c887b0601a15bc5e6c8b3ceece Mon Sep 17 00:00:00 2001 From: Miku Date: Fri, 29 Aug 2025 23:24:48 +0800 Subject: [PATCH] fix(order): correct renewal handling for onetime plan fixes onetime plan renewal logic --- app/Services/OrderService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index e69fa7e..9cbeb8e 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -162,7 +162,7 @@ class OrderService } else { $order->total_amount = (int) ($order->total_amount - $order->surplus_amount); } - } else if ($user->expired_at > time() && $order->plan_id == $user->plan_id) { // 用户订阅未过期且购买订阅与当前订阅相同 === 续费 + } else if (($user->expired_at === null || $user->expired_at > time()) && $order->plan_id == $user->plan_id) { // 用户订阅未过期或按流量订阅 且购买订阅与当前订阅相同 === 续费 $order->type = Order::TYPE_RENEWAL; } else { // 新购 $order->type = Order::TYPE_NEW_PURCHASE;