stephenjude/laravel-wallet

Laravel 简单钱包实现

2.0.0 2024-07-15 21:25 UTC

This package is auto-updated.

Last update: 2024-09-19 09:23:17 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Laravel 简单钱包实现。

了解更多

安装

您可以通过 composer 安装此包

composer require stephenjude/laravel-wallet

您可以使用以下命令发布和运行迁移

php artisan vendor:publish --tag="wallet-migrations"
php artisan migrate

使用方法

准备用户模型

use Stephenjude\Wallet\Interfaces\Wallet;
use Stephenjude\Wallet\Traits\HasWallet;

class User extends Authenticatable implements Wallet
{
    use HasWallet;
}

存款

$user = User::first();

$user->deposit(200.22); // returns the wallet balance: 200.22

$user->deposit(200); // returns the wallet balance: 400.22

取款

$user->withdraw(200); // returns the wallet balance: 200.22

$user->withdraw(0.22); // returns the wallet balance: 200

余额

$user->balance

$user->wallet_balance

异常

InvalidAmountException

当存款或取款金额是负数值或零时,会抛出 InvalidAmountException

InsufficientFundException

当取款金额小于用户的钱包余额时,会抛出 InsufficientFundException

替代包

如果您正在寻找更大、更详尽的解决方案,请查看 Bavix Laravel Wallet

测试

composer test

变更日志

请参阅 CHANGELOG 以获取有关最近更改的更多信息。

贡献

请参阅 CONTRIBUTING 以获取详细信息。

安全漏洞

请参阅 我们的安全策略 了解如何报告安全漏洞。

鸣谢

许可

MIT 许可证 (MIT)。请参阅 许可文件 以获取更多信息。