用户的直接扣费
This commit is contained in:
parent
4b57077d9f
commit
bd6e0338b8
@ -5,8 +5,9 @@
|
|||||||
use App\Models\Host;
|
use App\Models\Host;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use App\Models\Transaction;
|
use App\Models\Transaction;
|
||||||
// use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Exceptions\User\BalanceNotEnoughException;
|
||||||
|
|
||||||
class UserController extends Controller
|
class UserController extends Controller
|
||||||
{
|
{
|
||||||
@ -29,4 +30,22 @@ public function hosts(User $user)
|
|||||||
|
|
||||||
return $this->success($hosts);
|
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'
|
'uses' => '\App\Http\Controllers\Remote\UserController@show'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$router->post('users/{user}/reduce', [
|
||||||
|
'uses' => '\App\Http\Controllers\Remote\UserController@reduce'
|
||||||
|
]);
|
||||||
|
|
||||||
$router->get('users/{user}/hosts', [
|
$router->get('users/{user}/hosts', [
|
||||||
'uses' => '\App\Http\Controllers\Remote\UserController@hosts'
|
'uses' => '\App\Http\Controllers\Remote\UserController@hosts'
|
||||||
]);
|
]);
|
||||||
|
Loading…
Reference in New Issue
Block a user