Update
parent
e24d907fa5
commit
683b3a5e7e
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue