vojtasvoboda / oc-cnbrates-plugin
十月CMS的ČNB利率插件
Requires
- php: >=5.5.9
This package is not auto-updated.
Last update: 2024-09-14 18:58:36 UTC
README
ČNB Rates插件提供来自ČNB(捷克国家银行)的金融数据。
实现的ČNB服务:汇率、PRIBOR利率。
功能
- 自动每日更新
- 更新后触发事件,因此集成非常简单
- 为实施其他ČNB服务做好准备
- 覆盖单元测试
所需插件:无。已测试最新稳定版OctoberCMS构建349。
安装
- 从您的后端安装插件VojtaSvoboda.CnbRates -> 设置 -> 系统 -> 更新 -> 安装插件
- 在设置 -> 系统 -> 杂项 -> ČNB利率中选择您想要使用的服务
事件
使用此插件的最佳和最简单的方法是通过事件。
此插件提供两个事件。当您正确设置计划更新(见下文)时,这些事件将每天自动触发,并始终带有最新的利率数据。
- vojtasvoboda.cnbrates.exchange.updated 在汇率更新时触发
- vojtasvoboda.cnbrates.pribor.updated 在PRIBOR利率更新时触发
在Plugin.php中使用事件
public function boot()
{
// ČNB rates update listener
Event::listen('vojtasvoboda.cnbrates.exchange.updated', function($rates)
{
// update my plugin with fresh data
$this->updateMyProducts($rates);
});
}
所有方法都在调用更新方法(例如手动或通过计划程序调用updateTodayExchangeRates())之后触发。
计划更新
为了正确运行计划更新,您应该在您的服务器上添加以下Cron条目。通常使用crontab -e命令编辑crontab。
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1
请确保将/path/to/artisan替换为October根目录中artisan文件的绝对路径。
就是这样,利率将每天更新,相关事件将触发。
汇率服务
数据来自官方每日汇率表。
获取所有汇率
$cnb = App::make('cnb');
// rates for today
$rates = $cnb->getExchangeRates();
// for specific date
$rates = $cnb->getExchangeRates('12.1.2016');
仅获取EUR货币的汇率
$cnb = App::make('cnb');
// rates for today
$rates = $cnb->getExchangeRate();
// for specific date
$rates = $cnb->getExchangeRate('12.1.2016');
用于CRON调用的可调用服务
下载每日汇率,将其保存到缓存,并触发vojtasvoboda.cnbrates.exchange.updated
事件。此方法已准备好供CRON使用(见设置CRON部分)。
$cnb = App::make('cnb');
$cnb->updateTodayExchangeRates();
PRIBOR利率服务
数据来自官方每日PRIBOR利率表。
更多关于PRIBOR的信息。
PRIBOR每日更改,并计算以下区间:年、9个月、6个月、3个月、2个月、月、2周、周和一天。
获取所有PRIBOR利率
$cnb = App::make('cnb');
// rates for today
$rates = $cnb->getPriborRates();
// for specific date
$rates = $cnb->getPriborRates('12.1.2016');
仅获取具体区间的PRIBOR利率
$cnb = App::make('cnb');
// today yearly PRIBOR rate
$rates = $cnb->getPriborRate($date = null, $interval = 'year');
// or shortcuts
$rates = $cnb->getPriborRateForYear('12.1.2016');
$rates = $cnb->getPriborRateFor9Months('12.1.2016');
$rates = $cnb->getPriborRateFor6Months('12.1.2016');
$rates = $cnb->getPriborRateFor3Months('12.1.2016');
$rates = $cnb->getPriborRateFor2Months('12.1.2016');
$rates = $cnb->getPriborRateForMonth('12.1.2016');
$rates = $cnb->getPriborRateFor2Weeks('12.1.2016');
$rates = $cnb->getPriborRateForWeek('12.1.2016');
$rates = $cnb->getPriborRateForDay('12.1.2016');
用于CRON调用的可调用服务
下载每日汇率,将其保存到缓存,并触发vojtasvoboda.cnbrates.exchange.updated
事件。此方法已准备好供CRON使用。
$cnb = App::make('cnb');
$cnb->updateTodayExchangeRates();
测试
在插件目录中运行phpunit
命令。所有测试必须通过。
未来计划
请随意发送pullrequest!
- 实现其他ČNB服务
- 添加“立即更新利率”按钮
许可证
ČNB Rates插件是开源软件,许可协议与OctoberCMS平台相同,采用MIT许可证。
贡献
请向master分支发送Pull Request。