食品店/印尼盾

一揽子印度尼西亚盾库

v1.0.1 2023-03-07 04:39 UTC

This package is auto-updated.

Last update: 2024-09-07 08:18:50 UTC


README

Latest Version Packagist Version PHP Version MIT Licensed
run-tests StyleCI

用于将印度尼西亚盾与外币汇率进行转换的Laravel或Lumen包,基于来自印度尼西亚银行的数据。本包将帮助您从印度尼西亚银行API获取信息。此外,本包能够从Flip.id网站获取最新的银行数据。

功能

转换

  • 将印尼盾的汇率转换为外币
  • 将外币的汇率转换为印尼盾
  • 获取当前的汇率数据

银行

  • 使用命令获取最新数据并保存到数据库中

其他

  • 将印尼盾金额转换为印尼文

安装

composer require dipantry/rupiah

使用说明

Lumen

在文件 bootstrap/app.php 中,取消以下行的注释

$app->withFacades();
$app->withEloquent();

并注册服务提供者和别名/外观,添加以下代码

$app->register(Dipantry\Rupiah\ServiceProvider::class);

// class_aliases
class_alias(Dipantry\Rupiah\Facade::class, 'Rupiah');

Laravel

在文件 config/app.php 中,将以下行添加到 providers 部分

'providers' => [
    ...
    Dipantry\Rupiah\ServiceProvider::class,
],

并添加以下行到 aliases 部分

'aliases' => [
    'Rajaongkir' => Dipantry\Rupiah\Facade::class,
],

配置

php artisan vendor:publish --provider="Dipantry\Rupiah\ServiceProvider"

配置文件位于 config/rupiah.php

return [
    'table_prefix' => 'Untuk migrasi dan seeding data',
    'timeout' => 'Waktu timeout untuk setiap pemanggilan API',
    'max_retry' => 'Jumlah perulangan yang dilakukan jika terjadi error',
]

运行迁移

php artisan migrate

运行种子以填充银行数据

php artisan rupiah:bank

银行数据

可以使用命令 rupiah:bank 获取银行数据,并可以使用提供的 Bank 模型访问数据库。

use Dipantry\Rupiah\Models\Bank;

Bank::all();

汇率数据

初始化印尼盾

\Rupiah::of(10000);

\Rupiah::of(10000)->getValue();
// 10000

Rupiah 类接受 float 类型的参数作为后续处理的值

汇率值

有三种函数用于获取汇率

  • exchangeRate() 用于获取今天或指定时间的汇率,对于外币(银行关闭时无法使用)。接受货币代码和日期参数。
use Dipantry\Rupiah\Enums\CurrencyCode;

\Rupiah::exchangeRate('USD');
// Mendapatkan nilai tukar rupiah terhadap USD pada hari ini
// ['buy' => 14000, 'sell' => 14200]

\Rupiah::exchangeRate('USD', '2021-01-01');
// Mendapatkan nilai tukar rupiah terhadap USD pada tanggal 1 Januari 2021
// ['buy' => 14000, 'sell' => 14200]

// atau

\Rupiah::exchangeRate(CurrencyCode::USD);
  • buy() 用于将印尼盾转换为外币。接受货币代码参数。此方法直接返回与已初始化的值相乘的结果。
use Dipantry\Rupiah\Enums\CurrencyCode;

$rupiah = \Rupiah::of(10000);
$rupiah->buy(CurrencyCode::USD);
// 0.71
  • sell() 用于将外币转换为印尼盾。接受货币代码参数。此方法直接返回与已初始化的值相乘的结果。
use Dipantry\Rupiah\Enums\CurrencyCode;

$rupiah = \Rupiah::of(10000);
$rupiah->sell(CurrencyCode::USD);
// 14200

读数

此方法将数字转换为印尼文。此方法直接返回字符串值。

\Rupiah::of(10000)->toWords();
// Sepuluh Ribu Rupiah

货币代码

本包提供 CurrencyCode 模型,包含可用的外币代码,以简化使用。
建议使用此模型以避免外币代码编写错误。

异常

  • HttpRequestException
    当进行 API 请求时发生错误时,会得到此异常。
  • InvalidCurrencyCodeException
    当输入的外币代码无效时,会得到此异常。

测试

运行以下命令以运行测试

vendor/bin/phpunit