You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.1 KiB
39 lines
1.1 KiB
<?php
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Services\WechatHomeVisitService;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
|
|
class SystemSettingController extends Controller
|
|
{
|
|
public function visitStats(WechatHomeVisitService $visits): JsonResponse
|
|
{
|
|
return response()->json($visits->visitStatsPayload());
|
|
}
|
|
|
|
public function updateVisitStats(Request $request, WechatHomeVisitService $visits): JsonResponse
|
|
{
|
|
$this->ensureSuperAdmin($request);
|
|
|
|
$data = $request->validate([
|
|
'display_total' => ['required', 'integer', 'min:0'],
|
|
'display_today' => ['required', 'integer', 'min:0'],
|
|
]);
|
|
|
|
$visits->updateDisplayValues(
|
|
(int) $data['display_total'],
|
|
(int) $data['display_today'],
|
|
);
|
|
|
|
return response()->json($visits->visitStatsPayload());
|
|
}
|
|
|
|
private function ensureSuperAdmin(Request $request): void
|
|
{
|
|
abort_unless($request->user()?->isSuperAdmin(), 403, '仅超级管理员可操作');
|
|
}
|
|
}
|