diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index 7d3dc4c3..6ad362a8 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -46,7 +46,7 @@ class OrderService $order = $this->order; if ($order->cycle === 'reset_price') { $order->type = 4; - } else if ($user->plan_id !== NULL && $order->plan_id !== $user->plan_id) { + } else if ($user->plan_id !== NULL && $order->plan_id !== $user->plan_id && $user->expired_at > time()) { // 用户订阅存在且用户订阅与购买订阅不同且用户订阅未过期 === 更换 if (!(int)config('v2board.plan_change_enable', 1)) abort(500, '目前不允许更改订阅,请联系客服或提交工单操作'); $order->type = 3; $this->getSurplusValue($user, $order); @@ -56,9 +56,9 @@ class OrderService } else { $order->total_amount = $order->total_amount - $order->surplus_amount; } - } else if ($user->expired_at > time() && $order->plan_id == $user->plan_id) { + } else if ($user->expired_at > time() && $order->plan_id == $user->plan_id) { // 用户订阅未过期且购买订阅与当前订阅相同 === 续费 $order->type = 2; - } else { + } else { // 新购 $order->type = 1; } }