From f81827dc392971152f57409ee3a4c30e9b955490 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=9D=99?= Date: Sat, 8 Jan 2022 18:36:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E8=B4=A6=E6=88=B7=E6=94=AF?= =?UTF-8?q?=E4=BB=98,=E8=AE=A2=E5=8D=95=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/Http/Controllers/Account/WalletController.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/Endpoint/Api/Http/Controllers/Account/WalletController.php b/app/Endpoint/Api/Http/Controllers/Account/WalletController.php index 58ba48bf..e7e9b7bd 100644 --- a/app/Endpoint/Api/Http/Controllers/Account/WalletController.php +++ b/app/Endpoint/Api/Http/Controllers/Account/WalletController.php @@ -7,6 +7,7 @@ use App\Endpoint\Api\Http\Resources\BalanceLogResource; use App\Endpoint\Api\Http\Resources\DistributionPreIncomeResource; use App\Endpoint\Api\Http\Resources\WalletLogResource; use App\Endpoint\Api\Http\Resources\WalletToBankLogResource; +use App\Events\OrderPaid; use App\Exceptions\BalanceFrozenException; use App\Exceptions\BizException; use App\Exceptions\InvalidPaySerialNumberException; @@ -123,7 +124,7 @@ class WalletController extends Controller } try { - DB::transaction(function () use ($user, $validated) { + $payLog = DB::transaction(function () use ($user, $validated) { $payLog = PayLog::where('pay_sn', $validated['pay_sn']) ->lockForUpdate() ->first(); @@ -155,6 +156,8 @@ class WalletController extends Controller } (new PayService())->handleSuccess($payLog); + + return $payLog; }); } catch (InvalidPaySerialNumberException $e) { throw $e; @@ -170,6 +173,12 @@ class WalletController extends Controller throw $e; } + $payable = $payLog?->payable; + + if ($payable instanceof Order) { + OrderPaid::dispatchIf($payable->isPaid(), $payable); + } + return response()->noContent(); }