From b78fe0b9cd27ebb42b2e7689cccd155908cdbebe Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Tue, 28 Dec 2021 16:21:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96=E6=8F=90?= =?UTF-8?q?=E7=8E=B0=E9=93=B6=E8=A1=8C=E5=8D=A1=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Account/WalletController.php | 17 +++++++++++ .../Resources/WalletToBankLogResource.php | 29 +++++++++++++++++++ app/Endpoint/Api/routes.php | 1 + app/Models/User.php | 8 +++++ app/Models/WalletToBankLog.php | 5 ++++ 5 files changed, 60 insertions(+) create mode 100644 app/Endpoint/Api/Http/Resources/WalletToBankLogResource.php diff --git a/app/Endpoint/Api/Http/Controllers/Account/WalletController.php b/app/Endpoint/Api/Http/Controllers/Account/WalletController.php index 5da74a4e..9d7b3451 100644 --- a/app/Endpoint/Api/Http/Controllers/Account/WalletController.php +++ b/app/Endpoint/Api/Http/Controllers/Account/WalletController.php @@ -6,6 +6,7 @@ use App\Endpoint\Api\Http\Controllers\Controller; 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\Exceptions\BizException; use App\Exceptions\InvalidPaySerialNumberException; use App\Exceptions\PayPasswordIncorrectException; @@ -204,6 +205,22 @@ class WalletController extends Controller return response()->noContent(); } + /** + * 提现到银行的记录 + * + * @return void + */ + public function walletToBankLogs(Request $request) + { + $perPage = PaginatorHelper::resolvePerPage('per_page', 20, 50); + + $logs = $request->user()->walletToBankLogs() + ->latest('id') + ->simplePaginate($perPage); + + return WalletToBankLogResource::collection($logs); + } + /** * 提现到余额 * diff --git a/app/Endpoint/Api/Http/Resources/WalletToBankLogResource.php b/app/Endpoint/Api/Http/Resources/WalletToBankLogResource.php new file mode 100644 index 00000000..f5805bce --- /dev/null +++ b/app/Endpoint/Api/Http/Resources/WalletToBankLogResource.php @@ -0,0 +1,29 @@ + $this->bank_name, + 'bank_number' => $this->bank_number, + 'bank_description' => $this->bank_description, + 'username' => $this->username, + 'amount' => $this->amount_format, + 'created_at' => $this->created_at->toDateTimeString(), + 'status' => $this->status, + 'remarks' => $this->remarks, + ]; + } +} diff --git a/app/Endpoint/Api/routes.php b/app/Endpoint/Api/routes.php index 198be79c..78f24de5 100644 --- a/app/Endpoint/Api/routes.php +++ b/app/Endpoint/Api/routes.php @@ -92,6 +92,7 @@ Route::group([ Route::get('wallet/distribution-logs', [WalletController::class, 'distributionLogs']); Route::get('wallet/wallet-logs', [WalletController::class, 'walletLogs']); Route::get('wallet/balance-logs', [WalletController::class, 'balanceLogs']); + Route::get('wallet/wallet-to-bank-logs', [WalletController::class, 'walletToBankLogs']); Route::post('wallet/pay', [WalletController::class, 'pay']); Route::post('wallet/wallet-to-bank', [WalletController::class, 'walletToBank']); Route::post('wallet/wallet-to-balance', [WalletController::class, 'walletToBalance']); diff --git a/app/Models/User.php b/app/Models/User.php index eaa0e11c..9e5a74cf 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -196,6 +196,14 @@ class User extends Model implements AuthorizableContract, AuthenticatableContrac return $this->hasMany(WalletLog::class, 'user_id'); } + /** + * 用户的提现到银行卡记录 + */ + public function walletToBankLogs() + { + return $this->hasMany(WalletToBankLog::class, 'user_id'); + } + /** * 用户的余额 */ diff --git a/app/Models/WalletToBankLog.php b/app/Models/WalletToBankLog.php index 26d7c76c..22aa6b48 100644 --- a/app/Models/WalletToBankLog.php +++ b/app/Models/WalletToBankLog.php @@ -37,4 +37,9 @@ class WalletToBankLog extends Model { return $this->belongsTo(User::class); } + + public function getAmountFormatAttribute() + { + return trim_trailing_zeros(bcdiv($this->attributes['amount'], 100, 2)); + } }