mirror of
https://github.com/openclassify/openclassify.git
synced 2026-02-10 23:36:08 -06:00
auto currency converter
This commit is contained in:
parent
e1d1d75bc8
commit
321578b2c9
@ -0,0 +1,50 @@
|
|||||||
|
<?php namespace Visiosoft\AdvsModule\Adv\Command;
|
||||||
|
|
||||||
|
use Anomaly\Streams\Platform\Message\MessageBag;
|
||||||
|
|
||||||
|
class ConvertCurrency
|
||||||
|
{
|
||||||
|
protected $price;
|
||||||
|
protected $currency;
|
||||||
|
protected $source;
|
||||||
|
protected $to;
|
||||||
|
|
||||||
|
public function __construct($price, $source, $to)
|
||||||
|
{
|
||||||
|
$this->price = $price;
|
||||||
|
$this->currency = $source;
|
||||||
|
$this->source = $source;
|
||||||
|
$this->to = $to;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function handle(MessageBag $message)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$url = $this->source . "_" . $this->to;
|
||||||
|
$freeCurrencyKey = setting_value('visiosoft.module.advs::free_currencyconverterapi_key');
|
||||||
|
|
||||||
|
$client = new \GuzzleHttp\Client();
|
||||||
|
$response = $client->request('GET', 'http://free.currencyconverterapi.com/api/v6/convert', ['query' => [
|
||||||
|
'q' => $url,
|
||||||
|
'compact' => 'y',
|
||||||
|
'apiKey' => $freeCurrencyKey
|
||||||
|
]]);
|
||||||
|
|
||||||
|
if ($response->getStatusCode() == '200') {
|
||||||
|
$response = (array)\GuzzleHttp\json_decode($response->getBody()->getContents());
|
||||||
|
if (!empty($response)) {
|
||||||
|
$rate = $response[$url]->val;
|
||||||
|
$this->price *= $rate;
|
||||||
|
$this->currency = $this->to;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (\GuzzleHttp\Exception\ClientException $e) {
|
||||||
|
$message->error(['Para birimi dönüştürme işlemi tamamlanamadı!' . $e->getMessage()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return [
|
||||||
|
'currency' => $this->currency,
|
||||||
|
'price' => $this->price,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user