用户的直接扣费
This commit is contained in:
parent
4b57077d9f
commit
bd6e0338b8
@ -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('余额不足');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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'
|
||||
]);
|
||||
|
Loading…
Reference in New Issue
Block a user