diff --git a/app/Endpoint/Api/Http/Controllers/Account/WalletController.php b/app/Endpoint/Api/Http/Controllers/Account/WalletController.php index 6e97198f..6b1060d8 100644 --- a/app/Endpoint/Api/Http/Controllers/Account/WalletController.php +++ b/app/Endpoint/Api/Http/Controllers/Account/WalletController.php @@ -27,7 +27,6 @@ use App\Services\WalletService; use Illuminate\Http\Request; use Illuminate\Support\Arr; use Illuminate\Support\Facades\DB; -use Illuminate\Validation\Rule; use Throwable; class WalletController extends Controller @@ -109,8 +108,10 @@ class WalletController extends Controller { $validated = $request->validate([ 'pay_sn' => ['bail', 'required'], - 'pay_way' => ['bail', 'required', Rule::in([PayLog::PAY_WAY_WALLET, PayLog::PAY_WAY_BALANCE])], 'pay_password' => ['bail', 'required'], + ], [], [ + 'pay_sn' => '支付流水号', + 'pay_password' => '支付密码', ]); $user = $request->user(); @@ -119,31 +120,30 @@ class WalletController extends Controller throw new PayPasswordIncorrectException(); } - switch ($validated['pay_way']) { - case PayLog::PAY_WAY_WALLET: - if ($user->wallet->is_frozen) { - throw new WalletFrozenException(); - } - break; - - case PayLog::PAY_WAY_BALANCE: - if ($user->balance->is_frozen) { - throw new BalanceFrozenException(); - } - break; - } - try { DB::transaction(function () use ($user, $validated) { $payLog = PayLog::where('pay_sn', $validated['pay_sn']) - ->where('pay_way', $validated['pay_way']) ->lockForUpdate() ->first(); - if ($payLog === null) { + if ($payLog === null || !in_array($payLog->pay_way, [PayLog::PAY_WAY_WALLET, PayLog::PAY_WAY_BALANCE])) { throw new InvalidPaySerialNumberException(); } + switch ($payLog->pay_way) { + case PayLog::PAY_WAY_WALLET: + if ($user->wallet->is_frozen) { + throw new WalletFrozenException(); + } + break; + + case PayLog::PAY_WAY_BALANCE: + if ($user->balance->is_frozen) { + throw new BalanceFrozenException(); + } + break; + } + $payable = $payLog->payable; if ($payable instanceof Order) { diff --git a/app/Endpoint/Api/Http/Controllers/Account/WalletPasswordController.php b/app/Endpoint/Api/Http/Controllers/Account/WalletPasswordController.php index 7ab67753..3678fd92 100644 --- a/app/Endpoint/Api/Http/Controllers/Account/WalletPasswordController.php +++ b/app/Endpoint/Api/Http/Controllers/Account/WalletPasswordController.php @@ -19,6 +19,9 @@ class WalletPasswordController extends Controller $input = $request->validate([ 'old_password' => ['bail', 'filled', 'string', 'size:6'], 'new_password' => ['bail', 'required', 'string', 'size:6'], + ], [], [ + 'old_password' => '旧密码', + 'new_password' => '新密码', ]); $wallet = $request->user()->wallet;