<?php /** * Created by PhpStorm. * User: rlgyzhcn * Date: 18-6-26 * Time: 下午7:21 */ namespace common\service\exchange; use Yii; use linslin\yii2\curl\Curl; class Bitnasdaq extends Exchange implements ExchangeInterface { protected $supported_symbol = 'supported_symbol_bitnasdaq'; protected $quotation_prefix = 'quotation_bitnasdaq_'; protected $base_url = 'https://www.bitnasdaq.com/'; public function formatSymbol($tag = 'BTC', $aim = 'USDT') { return strtolower(trim($tag) . trim($aim)); } public function setSupportedSymbol() { $curl = new Curl(); $api = $this->base_url . '/api/v1/ticker/24hr'; $res = $curl->get($api, false);//json if (is_array($res)) { foreach ($res as $item) { $this->redis->sadd($this->supported_symbol, strtolower($item['symbol'])); } } } public function setQuotation() { $curl = new Curl(); $api = $this->base_url . '/app/tradeMarket/coinPrice'; $res = $curl->get($api, false); if (is_array($res) && isset($res['obj'])) { $data = $res['obj']; foreach ($data as $key => $item) { $low = isset($item['minPrice']) ? $item['minPrice'] : 0; $high = isset($item['maxPrice']) ? $item['maxPrice'] : 0; $last = isset($item['currentExchangPrice']) ? $item['currentExchangPrice'] : 0; $open = isset($item['openPrice']) ? $item['openPrice'] : 0; $vol = isset($item['transactionSum']) ? $item['transactionSum'] : 0; $cache_key = strtolower($this->quotation_prefix . str_replace('_', '', $key)); $this->redis->hmset($cache_key, 'low', $low, 'high', $high, 'last', $last, 'open', $open, 'vol', $vol); $this->redis->sadd($this->supported_symbol, strtoupper(str_replace('_', '', $key))); } } } }