Server IP : 66.29.132.124 / Your IP : 3.135.215.82 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/./book24.ng/vendor/bavix/laravel-wallet/tests/Common/ |
Upload File : |
<?php namespace Bavix\Wallet\Test\Common; use Bavix\Wallet\Interfaces\Mathable; use Bavix\Wallet\Interfaces\Wallet; use Bavix\Wallet\Services\WalletService; use Illuminate\Support\Arr; class Rate extends \Bavix\Wallet\Simple\Rate { /** * @var array */ protected $rates = [ 'USD' => [ 'RUB' => 67.61, ], ]; /** * Rate constructor. */ public function __construct() { foreach ($this->rates as $from => $rates) { foreach ($rates as $to => $rate) { if (empty($this->rates[$to][$from])) { $this->rates[$to][$from] = app(Mathable::class)->div(1, $rate); } } } } /** * @param Wallet $wallet * @return int|float */ protected function rate(Wallet $wallet) { $from = app(WalletService::class)->getWallet($this->withCurrency); $to = app(WalletService::class)->getWallet($wallet); /** * @var \Bavix\Wallet\Models\Wallet $wallet */ return Arr::get( Arr::get($this->rates, $from->currency, []), $to->currency, 1 ); } /** * {@inheritdoc} */ public function convertTo(Wallet $wallet) { return app(Mathable::class)->mul( parent::convertTo($wallet), $this->rate($wallet) ); } }