mirror of
https://github.com/ProxyPanel/ProxyPanel.git
synced 2026-04-07 04:59:36 +00:00
1. 全面改写项目-管理面板的路由; 2. 拆分过于Contoller; 3. 优化了按钮过多的图表的显示; 4. 初步应用 Laravel的 表单验证功能; 5. 初步应用 Laravel的 component 功能 拆分/模块化前端代码; 6. 优化部分系统的判断逻辑; 7. 针对2.4.0以前的面板,追加辅助矫正数据库的sql文件;
52 lines
1.1 KiB
PHP
52 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use App\Models\Order;
|
|
use App\Models\User;
|
|
use Auth;
|
|
|
|
class UserService
|
|
{
|
|
private static $user;
|
|
|
|
public function __construct(User $user = null)
|
|
{
|
|
self::$user = $user ?: Auth::getUser();
|
|
}
|
|
|
|
public function isAvailable(): bool
|
|
{
|
|
return !self::$user->ban_time && self::$user->transfer_enable && self::$user->expired_at > time();
|
|
}
|
|
|
|
// 添加用户余额
|
|
public function updateCredit(float $credit): bool
|
|
{
|
|
self::$user->credit += $credit;
|
|
|
|
return self::$user->credit >= 0 && self::$user->save();
|
|
}
|
|
|
|
// 添加用户流量
|
|
public function incrementData(int $data): bool
|
|
{
|
|
self::$user->transfer_enable += $data;
|
|
|
|
return self::$user->save();
|
|
}
|
|
|
|
public function isNotCompleteOrderByUserId(int $userId): bool
|
|
{
|
|
return Order::uid($userId)->whereIn('status', [0, 1])->exists();
|
|
}
|
|
|
|
public function trafficFetch(int $u, int $d): bool
|
|
{
|
|
self::$user->u += $u;
|
|
self::$user->d += $d;
|
|
|
|
return self::$user->save();
|
|
}
|
|
}
|