增加 流量操作
This commit is contained in:
parent
694fb378f0
commit
7ccb4afe3a
70
app/Http/Controllers/Application/UserController.php
Normal file
70
app/Http/Controllers/Application/UserController.php
Normal 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',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
@ -3,6 +3,7 @@
|
|||||||
namespace App\Http;
|
namespace App\Http;
|
||||||
|
|
||||||
use App\Http\Middleware\Admin;
|
use App\Http\Middleware\Admin;
|
||||||
|
use App\Http\Middleware\ApiToken;
|
||||||
use App\Http\Middleware\Authenticate;
|
use App\Http\Middleware\Authenticate;
|
||||||
use App\Http\Middleware\EncryptCookies;
|
use App\Http\Middleware\EncryptCookies;
|
||||||
use App\Http\Middleware\PreventRequestsDuringMaintenance;
|
use App\Http\Middleware\PreventRequestsDuringMaintenance;
|
||||||
@ -87,6 +88,6 @@ class Kernel extends HttpKernel
|
|||||||
'signed' => ValidateSignature::class,
|
'signed' => ValidateSignature::class,
|
||||||
'throttle' => ThrottleRequests::class,
|
'throttle' => ThrottleRequests::class,
|
||||||
'verified' => EnsureEmailIsVerified::class,
|
'verified' => EnsureEmailIsVerified::class,
|
||||||
'admin' => Admin::class,
|
'api_token' => ApiToken::class,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
use App\Http\Controllers\Api\ServerController;
|
use App\Http\Controllers\Api\ServerController;
|
||||||
use App\Http\Controllers\Api\TunnelController;
|
use App\Http\Controllers\Api\TunnelController;
|
||||||
use App\Http\Controllers\Api\PortManagerController;
|
use App\Http\Controllers\Api\PortManagerController;
|
||||||
|
use App\Http\Controllers\Application\UserController as ApplicationUserController;
|
||||||
|
|
||||||
Route::prefix('tunnel')->name('api.tunnel.')->group(function () {
|
Route::prefix('tunnel')->name('api.tunnel.')->group(function () {
|
||||||
Route::post('/handler/{key}', [PortManagerController::class, 'handler'])->name('handler');
|
Route::post('/handler/{key}', [PortManagerController::class, 'handler'])->name('handler');
|
||||||
@ -19,3 +19,8 @@
|
|||||||
Route::post('tunnels/{tunnel}/close', [TunnelController::class, 'close']);
|
Route::post('tunnels/{tunnel}/close', [TunnelController::class, 'close']);
|
||||||
Route::apiResource('servers', ServerController::class);
|
Route::apiResource('servers', ServerController::class);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::prefix('application')->name('application.')->middleware('api_token')->group(function () {
|
||||||
|
Route::post('users/{user}/traffic', [ApplicationUserController::class, 'addTraffic']);
|
||||||
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user