From 7d7bfb034abeb03b78f173358161b834ed6692d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=94=E5=A7=AC=E6=A1=91?= Date: Thu, 7 Jan 2021 04:53:17 +0800 Subject: [PATCH] Fix #114 & Clean code --- app/Http/Controllers/Admin/LogsController.php | 2 +- app/Models/NotificationLog.php | 1 + app/Observers/NodeObserver.php | 28 +++---------------- app/Services/NodeService.php | 2 +- app/Services/OrderService.php | 2 +- .../views/admin/logs/userOnlineIP.blade.php | 12 ++++---- 6 files changed, 14 insertions(+), 33 deletions(-) diff --git a/app/Http/Controllers/Admin/LogsController.php b/app/Http/Controllers/Admin/LogsController.php index 7c64eebe..5b07ef25 100644 --- a/app/Http/Controllers/Admin/LogsController.php +++ b/app/Http/Controllers/Admin/LogsController.php @@ -288,7 +288,7 @@ class LogsController extends Controller foreach ($userList as $user) { //Todo node_online_ip表 api可以用user_id // 最近5条在线IP记录,如果后端设置为60秒上报一次,则为10分钟内的在线IP - $user->onlineIPList = $nodeOnlineIPs->where('port', $user->port)->chunk(5); + $user->onlineIPList = $nodeOnlineIPs->where('port', $user->port)->take(5); } return view('admin.logs.userOnlineIP', ['userList' => $userList]); diff --git a/app/Models/NotificationLog.php b/app/Models/NotificationLog.php index 528a3726..9c9f4962 100644 --- a/app/Models/NotificationLog.php +++ b/app/Models/NotificationLog.php @@ -10,4 +10,5 @@ use Illuminate\Database\Eloquent\Model; class NotificationLog extends Model { protected $table = 'notification_log'; + protected $guarded = []; } diff --git a/app/Observers/NodeObserver.php b/app/Observers/NodeObserver.php index d69bbab3..887cd2f8 100644 --- a/app/Observers/NodeObserver.php +++ b/app/Observers/NodeObserver.php @@ -6,8 +6,6 @@ use App\Components\DDNS; use App\Jobs\VNet\reloadNode; use App\Models\Node; use App\Models\NodeAuth; -use App\Models\RuleGroup; -use App\Models\UserGroup; use App\Services\NodeService; use Arr; use Log; @@ -30,7 +28,7 @@ class NodeObserver Log::warning('节点生成-自动生成授权时出现错误,请稍后自行生成授权!'); } - if ($node->is_ddns == 0 && $node->server && sysConfig('ddns_mode')) { + if ($node->is_ddns === 0 && $node->server && sysConfig('ddns_mode')) { if ($node->ip) { DDNS::store($node->server, $node->ip); } @@ -76,32 +74,14 @@ class NodeObserver } } - if ($node->type == 4) { - reloadNode::dispatch(Node::whereId($node->id)->get()); + if ($node->type === 4) { + reloadNode::dispatch($node); } } public function deleted(Node $node): void { - // 断开审计规则分组节点联系 - foreach (RuleGroup::all() as $ruleGroup) { - $nodes = $ruleGroup->nodes; - if ($nodes && in_array($node->id, $nodes)) { - $ruleGroup->nodes = array_merge(array_diff($nodes, [$node->id])); - $ruleGroup->save(); - } - } - - // 断开用户分组控制节点联系 - foreach (UserGroup::all() as $userGroup) { - $nodes = $userGroup->nodes; - if ($nodes && in_array($node->id, $nodes)) { - $userGroup->nodes = array_merge(array_diff($nodes, [$node->id])); - $userGroup->save(); - } - } - - if ($node->is_ddns == 0 && $node->server && sysConfig('ddns_mode')) { + if ($node->is_ddns === 0 && $node->server && sysConfig('ddns_mode')) { DDNS::destroy($node->server); } } diff --git a/app/Services/NodeService.php b/app/Services/NodeService.php index ec5ef58e..3df7fa60 100644 --- a/app/Services/NodeService.php +++ b/app/Services/NodeService.php @@ -18,7 +18,7 @@ class NodeService $result = 0; foreach ($nodes as $node) { $data = IP::IPSB($node->is_ddns ? gethostbyname($node->server) : $node->ip); - if ($data && Node::whereId($node->id)->update(['geo' => $data['latitude'].','.$data['longitude']])) { + if ($data && $node->update(['geo' => $data['latitude'].','.$data['longitude']])) { $result++; } } diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index b64d10e5..6fc85749 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -100,7 +100,7 @@ class OrderService // 激活套餐 private function activatePlan(): bool { - Order::whereId(self::$order->id)->update(['expired_at' => date('Y-m-d H:i:s', strtotime('+'.self::$goods->days.' days'))]); + self::$order->update(['expired_at' => date('Y-m-d H:i:s', strtotime('+'.self::$goods->days.' days'))]); $oldData = self::$user->transfer_enable; $updateData = [ 'invite_num' => self::$user->invite_num + (self::$goods->invite_num ?: 0), diff --git a/resources/views/admin/logs/userOnlineIP.blade.php b/resources/views/admin/logs/userOnlineIP.blade.php index 1d083567..f3ce8b81 100644 --- a/resources/views/admin/logs/userOnlineIP.blade.php +++ b/resources/views/admin/logs/userOnlineIP.blade.php @@ -71,7 +71,7 @@ @endif - @if(!$user->onlineIPList->isEmpty()) + @if($user->onlineIPList->isNotEmpty()) @@ -82,13 +82,13 @@ - @foreach($user->onlineIPList as $vo) + @foreach($user->onlineIPList as $log) - - - + + + @endforeach
{{$vo->created_at}}{{$vo->node->name ?? '【节点已删除】'}}{{$vo->type}}{{$log->created_at}}{{$log->node->name ?? '【节点已删除】'}}{{$log->type}} - {{$vo->ip}} + {{$log->ip}}