icekristal / laravel-interior-multi-wallet
Laravel 多钱包
v3.0.0
2024-03-07 08:24 UTC
Requires
- php: ^8.2
- laravel/framework: ^8|^9|^10|^11
README
安装
composer require icekristal/laravel-interior-multi-wallet
迁移
php artisan vendor:publish --provider="Icekristal\LaravelInteriorMultiWallet\IceInteriorMultiWalletServiceProvider" --tag="migrations"
配置
php artisan vendor:publish --provider="Icekristal\LaravelInteriorMultiWallet\IceInteriorMultiWalletServiceProvider" --tag="config"
语言
php artisan vendor:publish --provider="Icekristal\LaravelInteriorMultiWallet\IceInteriorMultiWalletServiceProvider" --tag="translations"
使用
use Icekristal\LaravelInteriorMultiWallet\InteractsWithMultiWallet; class User extends Model { use InteractsWithMultiWallet; }
获取用户余额
$balanceDefaultCurrency = $modelUser->balance(); $balanceOtherCurrency = $modelUser->balance('key_other_currency'); //default balanceType = main $balanceOtherCurrencyAndTypeBalance = $modelUser->balance('key_currency', 'demo'); //default balanceType = main
设置借记余额
$modelUser->debitBalance($amount, config('im_wallet.debit.put')); //Debit default currency $modelUser->debitBalance($amount, config('im_wallet.debit.put'), 'key_other_currency'); //Debit other currency $modelUser->debitBalance($amount, config('im_wallet.debit.put'), 'key_currency', 'type_balance'); //Debit other type_balance, see config im_wallet
设置贷记余额
$modelUser->creditBalance($amount, config('im_wallet.credit.withdrawal')); //Credit default currency $modelUser->creditBalance($amount, config('im_wallet.credit.withdrawal'), 'key_other_currency'); //Credit other currency $modelUser->creditBalance($amount, config('im_wallet.credit.withdrawal'), 'key_currency', 'type_balance'); //Credit other type_balance, see config im_wallet
查看用户交易
$modelUser->balanceTransaction()->get(); //All transaction $modelUser->balanceTransaction($codeCurrency, $balanceType)->get(); //All transaction only codeCurrency and balanceType
锁定/解锁用户交易
$modelUser->blockTransaction($typeCredit, $codeCurrency, $balanceType); //Block transaction all params (permanent) $modelUser->blockTransaction($typeCredit, $codeCurrency); //Block transaction only typeCredit and codeCurrency $modelUser->blockTransaction(null, $codeCurrency, $balanceType); //Block transaction only codeCurrency and balanceType $modelUser->unblockTransaction($typeCredit, $codeCurrency, $balanceType); //Unblock transaction all params $modelUser->unblockTransaction($typeCredit, null, $balanceType); //Unblock only typeCredit and balanceType $modelUser->unblockTransaction($typeCredit, $codeCurrency); //Unblock only typeCredit and codeCurrency