增加 流量操作

This commit is contained in:
iVampireSP.com 2023-05-14 18:32:08 +08:00
parent 694fb378f0
commit 7ccb4afe3a
No known key found for this signature in database
GPG Key ID: 2F7B001CA27A8132
3 changed files with 78 additions and 2 deletions

View File

@ -0,0 +1,70 @@
<?php
namespace App\Http\Controllers\Application;
use App\Models\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Cache;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*/
public function show(User $user)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, User $user)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy(User $user)
{
//
}
public function addTraffic(Request $request, User $user)
{
$request->validate([
'traffic' => 'required|numeric|min:1'
]);
$traffic = $request->input('traffic');
Cache::lock('user_traffic_' . $user->id)->get(function () use ($user, $traffic) {
$user->update([
'traffic' => $user->traffic + $traffic
]);
});
return response()->json([
'message' => 'success',
]);
}
}

View File

@ -3,6 +3,7 @@
namespace App\Http;
use App\Http\Middleware\Admin;
use App\Http\Middleware\ApiToken;
use App\Http\Middleware\Authenticate;
use App\Http\Middleware\EncryptCookies;
use App\Http\Middleware\PreventRequestsDuringMaintenance;
@ -87,6 +88,6 @@ class Kernel extends HttpKernel
'signed' => ValidateSignature::class,
'throttle' => ThrottleRequests::class,
'verified' => EnsureEmailIsVerified::class,
'admin' => Admin::class,
'api_token' => ApiToken::class,
];
}

View File

@ -6,7 +6,7 @@
use App\Http\Controllers\Api\ServerController;
use App\Http\Controllers\Api\TunnelController;
use App\Http\Controllers\Api\PortManagerController;
use App\Http\Controllers\Application\UserController as ApplicationUserController;
Route::prefix('tunnel')->name('api.tunnel.')->group(function () {
Route::post('/handler/{key}', [PortManagerController::class, 'handler'])->name('handler');
@ -19,3 +19,8 @@
Route::post('tunnels/{tunnel}/close', [TunnelController::class, 'close']);
Route::apiResource('servers', ServerController::class);
});
Route::prefix('application')->name('application.')->middleware('api_token')->group(function () {
Route::post('users/{user}/traffic', [ApplicationUserController::class, 'addTraffic']);
});