From b61e1dd02f8117ea991c14195f00a983edeed4c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=94=E5=A7=AC=E6=A1=91?= Date: Sun, 25 Jul 2021 19:48:59 +0800 Subject: [PATCH] =?UTF-8?q?Add=20=E5=A5=97=E9=A4=90=E9=99=90=E9=80=9F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=88=E6=AD=A3=E7=A1=AE=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Console/Commands/UpdateUserSpeedLimit.php | 27 +++++++++++++++++++ .../Api/WebApi/TrojanController.php | 8 +----- .../Api/WebApi/V2RayController.php | 8 +----- app/Models/User.php | 15 +++++------ app/Services/OrderService.php | 7 ++--- resources/lang/en/user.php | 4 +++ resources/lang/zh_CN/user.php | 4 +++ resources/views/user/buy.blade.php | 2 +- resources/views/user/services.blade.php | 8 ++++-- 9 files changed, 55 insertions(+), 28 deletions(-) create mode 100644 app/Console/Commands/UpdateUserSpeedLimit.php diff --git a/app/Console/Commands/UpdateUserSpeedLimit.php b/app/Console/Commands/UpdateUserSpeedLimit.php new file mode 100644 index 00000000..561a7dd2 --- /dev/null +++ b/app/Console/Commands/UpdateUserSpeedLimit.php @@ -0,0 +1,27 @@ +whereIsExpire(0)->where('goods_id', '>', '0')->oldest()->with(['user', 'goods'])->has('goods')->has('user')->get() as $order) { + $order->user->update(['speed_limit' => $order->goods->speed_limit]); + } + + $jobEndTime = microtime(true); + $jobUsedTime = round(($jobEndTime - $jobStartTime), 4); + + Log::info('---【'.$this->description.'】完成---,耗时'.$jobUsedTime.'秒'); + } +} diff --git a/app/Http/Controllers/Api/WebApi/TrojanController.php b/app/Http/Controllers/Api/WebApi/TrojanController.php index 9f4943bf..cbd5e3a5 100644 --- a/app/Http/Controllers/Api/WebApi/TrojanController.php +++ b/app/Http/Controllers/Api/WebApi/TrojanController.php @@ -27,16 +27,10 @@ class TrojanController extends BaseController public function getUserList(Node $node): JsonResponse { foreach ($node->users() as $user) { - $order = $user->orders()->activePlan()->first(); // 取出用户正在使用的套餐 - if ($order) { - $speed_limit = $order->goods->getRawOriginal('speed_limit'); - } else { - $speed_limit = $user->getRawOriginal('speed_limit'); - } $data[] = [ 'uid' => $user->id, 'password' => $user->passwd, - 'speed_limit' => $speed_limit, + 'speed_limit' => $user->getRawOriginal('speed_limit'), ]; } diff --git a/app/Http/Controllers/Api/WebApi/V2RayController.php b/app/Http/Controllers/Api/WebApi/V2RayController.php index 7f33ce90..924fedee 100644 --- a/app/Http/Controllers/Api/WebApi/V2RayController.php +++ b/app/Http/Controllers/Api/WebApi/V2RayController.php @@ -44,16 +44,10 @@ class V2RayController extends BaseController public function getUserList(Node $node): JsonResponse { foreach ($node->users() as $user) { - $order = $user->orders()->activePlan()->first(); // 取出用户正在使用的套餐 - if ($order) { - $speed_limit = $order->goods->getRawOriginal('speed_limit'); - } else { - $speed_limit = $user->getRawOriginal('speed_limit'); - } $data[] = [ 'uid' => $user->id, 'vmess_uid' => $user->vmess_id, - 'speed_limit' => $speed_limit, + 'speed_limit' => $user->getRawOriginal('speed_limit'), ]; } diff --git a/app/Models/User.php b/app/Models/User.php index f45d825c..d18a2fcb 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -43,6 +43,11 @@ class User extends Authenticatable implements JWTSubject return $telegram->identifier ?? null; } + public function userAuths(): HasMany + { + return $this->hasMany(UserOauth::class); + } + public function profile() { return [ @@ -70,11 +75,6 @@ class User extends Authenticatable implements JWTSubject ]; } - public function userAuths(): HasMany - { - return $this->hasMany(UserOauth::class); - } - public function onlineIpLogs(): HasMany { return $this->hasMany(NodeOnlineIp::class); @@ -264,7 +264,7 @@ class User extends Authenticatable implements JWTSubject } public function incrementData(int $data): bool - {// 添加用户流量 + { // 添加用户流量 $this->transfer_enable += $data; return $this->save(); @@ -272,7 +272,6 @@ class User extends Authenticatable implements JWTSubject public function isNotCompleteOrderByUserId(int $userId): bool { // 添加用户余额 - return Order::uid($userId)->whereIn('status', [0, 1])->exists(); } @@ -299,7 +298,7 @@ class User extends Authenticatable implements JWTSubject } public function isTrafficWarning(): bool - {// 流量异常警告 + { // 流量异常警告 return $this->recentTrafficUsed() >= (sysConfig('traffic_ban_value') * GB); } diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index 32b10064..b1e226b3 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -103,9 +103,10 @@ class OrderService Order::whereId(self::$order->id)->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), - 'level' => self::$goods->level, - 'enable' => 1, + 'invite_num' => self::$user->invite_num + (self::$goods->invite_num ?: 0), + 'level' => self::$goods->level, + 'speed_limit' => self::$goods->speed_limit, + 'enable' => 1, ]; // 无端口用户 添加端口 diff --git a/resources/lang/en/user.php b/resources/lang/en/user.php index 2f01c042..e7416f1b 100644 --- a/resources/lang/en/user.php +++ b/resources/lang/en/user.php @@ -177,6 +177,10 @@ return [ 'active_prepaid_question' => 'Are you sure to active prepaid order?', 'active_prepaid_tips' => 'After active:
Current order will be set to expired!
Expired dates will be recalculated!', ], + 'service' => [ + 'node_count' => 'Include :num Nodes', + 'unlimited' => 'Unlimited Speed', + ], 'node' => [ 'info' => 'Configuration information', 'setting' => 'Proxy settings', diff --git a/resources/lang/zh_CN/user.php b/resources/lang/zh_CN/user.php index 9d9a13ec..352a1f53 100644 --- a/resources/lang/zh_CN/user.php +++ b/resources/lang/zh_CN/user.php @@ -161,6 +161,10 @@ return [ 'conflict_tips' => '

当前购买套餐将自动设置为 预支付套餐

  1. 预支付套餐会在生效中的套餐失效后自动开通!
  2. 您可以在支付后手动激活套餐!
', 'call4help' => '请开工单通知客服', ], + 'service' => [ + 'node_count' => ':num条优质线路', + 'unlimited' => '不限速', + ], 'payment' => [ 'error' => '充值余额不合规', 'creating' => '创建支付单中...', diff --git a/resources/views/user/buy.blade.php b/resources/views/user/buy.blade.php index 66d76bc1..e4275a4a 100644 --- a/resources/views/user/buy.blade.php +++ b/resources/views/user/buy.blade.php @@ -24,7 +24,7 @@
{{$goods->traffic_label}} {{trans('user.attribute.data')}}
- {{trans('user.account.speed_limit')}}{{$goods->speed_limit}} MB + {{trans('user.account.speed_limit')}} {{ $goods->speed_limit ? $goods->speed_limit.' Mbps' : trans('user.service.unlimited') }} ¥{{$goods->price}} x 1 diff --git a/resources/views/user/services.blade.php b/resources/views/user/services.blade.php index 1bfbf383..0ce63b72 100644 --- a/resources/views/user/services.blade.php +++ b/resources/views/user/services.blade.php @@ -73,11 +73,15 @@