mirror of
https://github.com/ProxyPanel/ProxyPanel.git
synced 2026-04-03 02:58:42 +00:00
Add 更多统计参数 & 优化 数个小细节处理
This commit is contained in:
@@ -138,12 +138,19 @@ class AutoJob extends Command
|
||||
// 封禁账号
|
||||
private function blockUsers(): void
|
||||
{
|
||||
// 禁用流量超限用户
|
||||
foreach (User::activeUser()->whereRaw("u + d >= transfer_enable")->get() as $user) {
|
||||
$user->update(['enable' => 0]);
|
||||
|
||||
// 写入日志
|
||||
$this->addUserBanLog($user->id, 0, '【封禁代理】-流量已用完');
|
||||
}
|
||||
|
||||
// 封禁1小时内流量异常账号
|
||||
$userList = User::activeUser()->whereBanTime(null);
|
||||
if (sysConfig('is_traffic_ban')) {
|
||||
$trafficBanValue = sysConfig('traffic_ban_value');
|
||||
$trafficBanTime = sysConfig('traffic_ban_time');
|
||||
foreach ($userList->get() as $user) {
|
||||
foreach (User::activeUser()->whereBanTime(null)->get() as $user) {
|
||||
// 对管理员豁免
|
||||
if ($user->is_admin) {
|
||||
continue;
|
||||
@@ -162,14 +169,6 @@ class AutoJob extends Command
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 禁用流量超限用户
|
||||
foreach ($userList->whereRaw("u + d >= transfer_enable")->get() as $user) {
|
||||
$user->update(['enable' => 0]);
|
||||
|
||||
// 写入日志
|
||||
$this->addUserBanLog($user->id, 0, '【封禁代理】-流量已用完');
|
||||
}
|
||||
}
|
||||
|
||||
// 解封被临时封禁的账号
|
||||
|
||||
@@ -42,6 +42,7 @@ class AdminController extends Controller
|
||||
|
||||
$view['expireDays'] = sysConfig('expire_days');
|
||||
$view['totalUserCount'] = User::count(); // 总用户数
|
||||
$view['todayRegister'] = User::whereDate('created_at', date('Y-m-d'))->count();// 今日注册用户
|
||||
$view['enableUserCount'] = User::whereEnable(1)->count(); // 有效用户数
|
||||
$view['activeUserCount'] = User::where('t', '>=', $past)->count(); // 活跃用户数
|
||||
$view['unActiveUserCount'] = User::whereEnable(1)->whereBetween('t', [1, $past,])->count(); // 不活跃用户数
|
||||
@@ -49,21 +50,22 @@ class AdminController extends Controller
|
||||
$view['expireWarningUserCount'] = User::whereBetween('expired_at',
|
||||
[date('Y-m-d'), date('Y-m-d', strtotime("+".sysConfig('expire_days')." days"))])->count(); // 临近过期用户数
|
||||
$view['largeTrafficUserCount'] = User::whereRaw('(u + d) >= 107374182400')->where('status', '<>', -1)->count(); // 流量超过100G的用户
|
||||
|
||||
$view['flowAbnormalUserCount'] = count((new UserHourlyDataFlow)->trafficAbnormal());// 1小时内流量异常用户
|
||||
$view['nodeCount'] = Node::count();
|
||||
$view['unnormalNodeCount'] = Node::whereStatus(0)->count();
|
||||
$view['flowCount'] = flowAutoShow(NodeDailyDataFlow::where('created_at', '>=', date('Y-m-d', strtotime("-30 days")))->sum('total'));
|
||||
$view['todayFlowCount'] = flowAutoShow(NodeDailyDataFlow::where('created_at', '>=', date('Y-m-d'))->sum('total'));
|
||||
$view['totalFlowCount'] = flowAutoShow(NodeDailyDataFlow::sum('total'));
|
||||
$view['totalCredit'] = User::where('credit', '<>', 0)->sum('credit') / 100;
|
||||
$view['totalWaitRefAmount'] = ReferralLog::whereIn('status', [0, 1])->sum('commission') / 100;
|
||||
$view['todayWaitRefAmount'] = ReferralLog::whereIn('status', [0, 1])->whereDate('created_at', date('Y-m-d'))->sum('commission') / 100;
|
||||
$view['totalRefAmount'] = ReferralApply::whereStatus(2)->sum('amount') / 100;
|
||||
$view['totalOrder'] = Order::count();
|
||||
$view['todayOrder'] = Order::whereDate('created_at', date('Y-m-d'))->count();
|
||||
$view['totalOnlinePayOrder'] = Order::where('pay_type', '<>', 0)->count();
|
||||
$view['todayOnlinePayOrder'] = Order::where('pay_type', '<>', 0)->whereDate('created_at', date('Y-m-d'))->count();
|
||||
$view['totalSuccessOrder'] = Order::whereStatus(2)->count();
|
||||
$view['todaySuccessOrder'] = Order::whereStatus(2)->whereDate('created_at', date('Y-m-d'))->count();
|
||||
// 今日
|
||||
$view['todayRegister'] = User::whereDate('created_at', date('Y-m-d'))->count();
|
||||
|
||||
return view('admin.index', $view);
|
||||
}
|
||||
|
||||
@@ -14,6 +14,11 @@
|
||||
<span class="ml-15 font-weight-400">总用户</span>
|
||||
<div class="content-text text-center mb-0">
|
||||
<span class="font-size-40 font-weight-100">{{$totalUserCount}}</span>
|
||||
@if ($todayRegister)
|
||||
<span class="badge badge-success badge-round up font-size-20 m-0" style="top:-20px">
|
||||
<i class="icon wb-triangle-up" aria-hidden="true"></i> {{$todayRegister}}
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
@@ -157,6 +162,11 @@
|
||||
<span class="ml-15 font-weight-400">30日内消耗流量</span>
|
||||
<div class="content-text text-center mb-0">
|
||||
<span class="font-size-40 font-weight-100">{{$flowCount}}</span>
|
||||
@if($todayFlowCount !== '0B')
|
||||
<span class="badge badge-success badge-round up font-size-20 m-0" style="top:-20px">
|
||||
<i class="icon wb-triangle-up" aria-hidden="true"></i> {{$todayFlowCount}}
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
@@ -170,6 +180,11 @@
|
||||
<span class="ml-15 font-weight-400">总订单数</span>
|
||||
<div class="content-text text-center mb-0">
|
||||
<span class="font-size-40 font-weight-100">{{$totalOrder}}</span>
|
||||
@if($todayOrder)
|
||||
<span class="badge badge-success badge-round up font-size-20 m-0" style="top:-20px">
|
||||
<i class="icon wb-triangle-up" aria-hidden="true"></i> {{$todayOrder}}
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
@@ -183,6 +198,11 @@
|
||||
<span class="ml-15 font-weight-400">在线支付订单数</span>
|
||||
<div class="content-text text-center mb-0">
|
||||
<span class="font-size-40 font-weight-100">{{$totalOnlinePayOrder}}</span>
|
||||
@if($todayOnlinePayOrder)
|
||||
<span class="badge badge-success badge-round up font-size-20 m-0" style="top:-20px">
|
||||
<i class="icon wb-triangle-up" aria-hidden="true"></i> {{$todayOnlinePayOrder}}
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
@@ -196,20 +216,11 @@
|
||||
<span class="ml-15 font-weight-400">支付成功订单数</span>
|
||||
<div class="content-text text-center mb-0">
|
||||
<span class="font-size-40 font-weight-100">{{$totalSuccessOrder}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xl-3 col-md-6 info-panel">
|
||||
<a href="{{route('admin.order', ['status'=>2, 'range_time'=>date('Y-m-d') . ',' . date('Y-m-d 23:59:59')])}}"
|
||||
class="card card-shadow">
|
||||
<div class="card-block bg-white">
|
||||
<button type="button" class="btn btn-floating btn-sm btn-success">
|
||||
<i class="icon md-ticket-star"></i>
|
||||
</button>
|
||||
<span class="ml-15 font-weight-400">今天成功订单数</span>
|
||||
<div class="content-text text-center mb-0">
|
||||
<span class="font-size-40 font-weight-100">{{$todaySuccessOrder}}</span>
|
||||
@if($todaySuccessOrder)
|
||||
<span class="badge badge-success badge-round up font-size-20 m-0" style="top:-20px">
|
||||
<i class="icon wb-triangle-up" aria-hidden="true"></i> {{$todaySuccessOrder}}
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
@@ -236,6 +247,11 @@
|
||||
<span class="ml-15 font-weight-400">待提现佣金</span>
|
||||
<div class="content-text text-center mb-0">
|
||||
<span class="font-size-40 font-weight-100">{{$totalWaitRefAmount}}</span>
|
||||
@if($todayWaitRefAmount)
|
||||
<span class="badge badge-success badge-round up font-size-20 m-0" style="top:-20px">
|
||||
<i class="icon wb-triangle-up" aria-hidden="true"></i> {{$todayWaitRefAmount}}
|
||||
</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
@@ -141,13 +141,16 @@
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
@php
|
||||
$openTicket = \App\Models\Ticket::whereStatus(0)->count()
|
||||
@endphp
|
||||
<li class="site-menu-item has-sub {{request()->routeIs('admin.ticket.*', 'admin.article.*', 'admin.marketing.*')? 'active open' : ''}}">
|
||||
<a href="javascript:void(0)">
|
||||
<i class="site-menu-icon wb-chat-working" aria-hidden="true"></i>
|
||||
<span class="site-menu-title">客服系统</span>
|
||||
@if(\App\Models\Ticket::whereStatus(0)->count() > 0 )
|
||||
@if($openTicket > 0)
|
||||
<div class="site-menu-badge">
|
||||
<span class="badge badge-pill badge-success">{{\App\Models\Ticket::whereStatus(0)->count()}}</span>
|
||||
<span class="badge badge-pill badge-success">{{$openTicket}}</span>
|
||||
</div>
|
||||
@endif
|
||||
</a>
|
||||
@@ -155,9 +158,9 @@
|
||||
<li class="site-menu-item {{request()->routeIs('admin.ticket.*') ? 'active open' : ''}}">
|
||||
<a href="{{route('admin.ticket.index')}}">
|
||||
<span class="site-menu-title">服务工单</span>
|
||||
@if(\App\Models\Ticket::whereStatus(0)->count() > 0 )
|
||||
@if($openTicket > 0)
|
||||
<div class="site-menu-label">
|
||||
<span class="badge badge-danger badge-round mr-25">{{\App\Models\Ticket::whereStatus(0)->count()}}</span>
|
||||
<span class="badge badge-danger badge-round mr-25">{{$openTicket}}</span>
|
||||
</div>
|
||||
@endif
|
||||
</a>
|
||||
@@ -253,13 +256,16 @@
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
@php
|
||||
$openApply = \App\Models\ReferralApply::whereStatus(0)->count()
|
||||
@endphp
|
||||
<li class="site-menu-item has-sub {{request()->routeIs('admin.invite', 'admin.aff.*') ? 'active open' : ''}}">
|
||||
<a href="javascript:void(0)">
|
||||
<i class="site-menu-icon wb-thumb-up" aria-hidden="true"></i>
|
||||
<span class="site-menu-title">推广系统</span>
|
||||
@if(\App\Models\ReferralApply::whereStatus(0)->count() > 0 )
|
||||
@if($openApply > 0)
|
||||
<div class="site-menu-badge">
|
||||
<span class="badge badge-pill badge-success">{{\App\Models\ReferralApply::whereStatus(0)->count()}}</span>
|
||||
<span class="badge badge-pill badge-success">{{$openApply}}</span>
|
||||
</div>
|
||||
@endif
|
||||
</a>
|
||||
@@ -272,9 +278,9 @@
|
||||
<li class="site-menu-item {{request()->routeIs('admin.aff.index', 'admin.aff.detail') ? 'active open' : ''}}">
|
||||
<a href="{{route('admin.aff.index')}}">
|
||||
<span class="site-menu-title">提现管理</span>
|
||||
@if(\App\Models\ReferralApply::whereStatus(0)->count() > 0 )
|
||||
@if($openApply > 0)
|
||||
<div class="site-menu-label">
|
||||
<span class="badge badge-danger badge-round mr-25">{{\App\Models\ReferralApply::whereStatus(0)->count()}}</span>
|
||||
<span class="badge badge-danger badge-round mr-25">{{$openApply}}</span>
|
||||
</div>
|
||||
@endif
|
||||
</a>
|
||||
|
||||
Reference in New Issue
Block a user