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)); + } }