From e4857407ba03d0136797fa8d82dd9f59807f720b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=94=E5=A7=AC=E6=A1=91?= <867057410@qq.com> Date: Mon, 26 Dec 2022 18:34:16 +0800 Subject: [PATCH] Extract ActivePaying function to UserService --- app/Http/Controllers/UserController.php | 4 +++- app/Models/User.php | 5 ----- app/Services/UserService.php | 5 +++++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index d235a526..5be3746f 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -17,6 +17,7 @@ use App\Notifications\TicketCreated; use App\Notifications\TicketReplied; use App\Services\CouponService; use App\Services\ProxyService; +use App\Services\UserService; use Cache; use DB; use Exception; @@ -43,6 +44,7 @@ class UserController extends Controller auth()->loginUsingId(Session::get('user')); Session::forget('user'); } + $userService = UserService::getInstance(); $user = auth()->user(); $totalTransfer = $user->transfer_enable; $usedTransfer = $user->used_traffic; @@ -69,7 +71,7 @@ class UserController extends Controller 'unusedPercent' => $totalTransfer > 0 ? round($unusedTraffic / $totalTransfer, 2) * 100 : 0, 'announcements' => Article::type(2)->latest()->simplePaginate(1), // 公告 'isTrafficWarning' => $user->isTrafficWarning(), // 流量异常判断 - 'paying_user' => $user->activePayingUser(), // 付费用户判断 + 'paying_user' => $userService->isActivePaying(), // 付费用户判断 'userLoginLog' => $user->loginLogs()->latest()->first(), // 近期登录日志 'subscribe_status' => $user->subscribe->status, 'subType' => $subType, diff --git a/app/Models/User.php b/app/Models/User.php index 4f9b3dcb..7c987554 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -303,11 +303,6 @@ class User extends Authenticatable return UserHourlyDataFlow::userRecentUsed($this->id)->sum('total'); } - public function activePayingUser() - { //付费用户判断 - return $this->orders()->active()->where('origin_amount', '>', 0)->exists(); - } - public function orders(): HasMany { return $this->hasMany(Order::class); diff --git a/app/Services/UserService.php b/app/Services/UserService.php index 77e79497..f532b14c 100644 --- a/app/Services/UserService.php +++ b/app/Services/UserService.php @@ -59,4 +59,9 @@ class UserService extends BaseService return $isCode ? $aff : sysConfig('website_url').route('register', ['aff' => 1], false); } + + public function isActivePaying(): bool + { + return self::$user->orders()->active()->where('origin_amount', '>', 0)->exists(); + } }