diff --git a/app/Jobs/CheckServer.php b/app/Jobs/CheckServer.php deleted file mode 100644 index dc83f1c..0000000 --- a/app/Jobs/CheckServer.php +++ /dev/null @@ -1,35 +0,0 @@ -where('status', 'up')->chunk(100, function ($servers) { + Server::where('status', 'up')->with('tunnels')->chunk(100, function ($servers) { foreach ($servers as $server) { - foreach ($server->tunnels as $host) { + $tunnels = $server->toArray()['tunnels']; + + foreach ($tunnels as $host) { + $host = Tunnel::with(['user', 'server'])->find($host['id']); $host->load('user'); Log::debug('------------'); @@ -36,6 +40,7 @@ public function handle() $tunnel_data = Cache::get($cache_key, null); if (!is_null($tunnel_data)) { + Log::debug('frpTunnel_data_ 不为空。'); $traffic = ($tunnel_data['today_traffic_in'] ?? 0) + ($tunnel_data['today_traffic_out'] ?? 0); Log::debug('本次使用的流量: ' . round($traffic / 1024 / 1024 / 1024, 2) ?? 0); @@ -78,7 +83,16 @@ public function handle() Log::debug('此时 traffic: ' . $traffic); // lock for update - $host->user->balance -= $traffic * $host->user->cost; + + Log::debug('此时 user->traffic: ' . $host->user->traffic); + Log::debug('扣除后的流量: ' . $host->user->traffic - $gb); + + Cache::lock('user_traffic_' . $host->user->id)->get(function () use ($host, $gb) { + $host->user->update([ + 'traffic' => $host->user->traffic - $gb + ]); + }); + } } } diff --git a/app/Jobs/StatusJob.php b/app/Jobs/StatusJob.php deleted file mode 100644 index a9652b2..0000000 --- a/app/Jobs/StatusJob.php +++ /dev/null @@ -1,40 +0,0 @@ -host_id = $host_id; - $this->requests = $requests; - } - - /** - * Execute the job. - * - * @return void - */ - public function handle() - { - Http::remote()->asForm()->patch('hosts/'.$this->host_id, $this->requests); - } -} diff --git a/app/Jobs/StopAllHostJob.php b/app/Jobs/StopAllHostJob.php deleted file mode 100644 index 87b846c..0000000 --- a/app/Jobs/StopAllHostJob.php +++ /dev/null @@ -1,46 +0,0 @@ -user_id = $user_id; - } - - /** - * Execute the job. - * - * @return void - */ - public function handle() - { - $hosts = Tunnel::where('user_id', $this->user_id); - - $hosts->chunk(100, function () use ($hosts) { - foreach ($hosts as $host) { - $host->status = 'stopped'; - $host->save(); - } - }); - } -} diff --git a/resources/js/components/Menu.vue b/resources/js/components/Menu.vue index 66a5213..0b90318 100644 --- a/resources/js/components/Menu.vue +++ b/resources/js/components/Menu.vue @@ -25,14 +25,16 @@ const items = ref([ name: "隧道", route: "tunnels", }, - // { - // name: "服务器列表", - // route: "servers", - // }, + { name: "创建隧道", route: "tunnels.create", }, + + { + name: "客户端下载", + route: "downloads", + }, ]); // 如果是管理员 diff --git a/resources/js/components/Nav.vue b/resources/js/components/Nav.vue index 1b58126..eccb972 100644 --- a/resources/js/components/Nav.vue +++ b/resources/js/components/Nav.vue @@ -32,8 +32,8 @@ 社区文档 diff --git a/resources/js/plugins/router.js b/resources/js/plugins/router.js index 9b6f6aa..414a3c7 100644 --- a/resources/js/plugins/router.js +++ b/resources/js/plugins/router.js @@ -35,33 +35,16 @@ const routes = [ }, }, { - path: "/servers", - name: "servers", - component: () => import("../views/Servers/Index.vue"), + path: "/downloads", + name: "downloads", + component: () => import("../views/Downloads.vue"), meta: { - title: "服务器列表", - }, - }, - { - path: "/servers/create", - name: "servers.create", - component: () => import("../views/Servers/Create.vue"), - meta: { - admin: true, - title: "创建服务器", - }, - }, - { - path: "/servers/:id/edit", - name: "servers.edit", - component: () => import("../views/Servers/Edit.vue"), - meta: { - admin: true, - title: "创建服务器", + title: "客户端下载", }, }, + ]; diff --git a/resources/js/views/Downloads.vue b/resources/js/views/Downloads.vue new file mode 100644 index 0000000..ed74693 --- /dev/null +++ b/resources/js/views/Downloads.vue @@ -0,0 +1,67 @@ + + + diff --git a/resources/js/views/Servers.vue b/resources/js/views/Servers.vue deleted file mode 100644 index e69de29..0000000 diff --git a/resources/js/views/Tunnels/Index.vue b/resources/js/views/Tunnels/Index.vue index 73a5de8..b08fba1 100644 --- a/resources/js/views/Tunnels/Index.vue +++ b/resources/js/views/Tunnels/Index.vue @@ -18,7 +18,7 @@ - 1 + {{ tunnel.id }}