vojtasvoboda/oc-cnbrates-plugin

十月CMS的ČNB利率插件

1.0.3 2016-04-02 17:24 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:58:36 UTC


README

Build Status HHVM Status Codacy Scrutinizer Coverage License

Č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。