用户的直接扣费

This commit is contained in:
iVampireSP.com 2022-10-29 11:25:02 +08:00
parent 4b57077d9f
commit bd6e0338b8
No known key found for this signature in database
GPG Key ID: 2F7B001CA27A8132
2 changed files with 24 additions and 1 deletions

View File

@ -5,8 +5,9 @@
use App\Models\Host;
use App\Models\User;
use App\Models\Transaction;
// use Illuminate\Http\Request;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Exceptions\User\BalanceNotEnoughException;
class UserController extends Controller
{
@ -29,4 +30,22 @@ public function hosts(User $user)
return $this->success($hosts);
}
public function reduce(Request $request, User $user)
{
$this->validate($request, [
'amount' => 'required|numeric|min:0.01|max:10000',
'description' => 'required|string',
]);
$module = auth('remote')->user();
$transaction = new Transaction();
try {
$transaction->reduceAmountModuleFail($user->id, $module->id, $request->amount, $request->description);
} catch (BalanceNotEnoughException) {
return $this->error('余额不足');
}
}
}

View File

@ -92,6 +92,10 @@
'uses' => '\App\Http\Controllers\Remote\UserController@show'
]);
$router->post('users/{user}/reduce', [
'uses' => '\App\Http\Controllers\Remote\UserController@reduce'
]);
$router->get('users/{user}/hosts', [
'uses' => '\App\Http\Controllers\Remote\UserController@hosts'
]);