Commit 61632c83 authored by shajiaiming's avatar shajiaiming

fix

parent 88c5db91
...@@ -17,6 +17,7 @@ abstract class FactoryService ...@@ -17,6 +17,7 @@ abstract class FactoryService
protected $basic_price = []; protected $basic_price = [];
protected $redis; protected $redis;
protected $redis_ticker;
protected $start; protected $start;
protected $end; protected $end;
...@@ -44,5 +45,6 @@ abstract class FactoryService ...@@ -44,5 +45,6 @@ abstract class FactoryService
} }
$this->redis = \Yii::$app->redis; $this->redis = \Yii::$app->redis;
$this->redis_ticker = \Yii::$app->redis_ticker;
} }
} }
\ No newline at end of file
...@@ -15,8 +15,8 @@ class HuobiBuilder extends FactoryService ...@@ -15,8 +15,8 @@ class HuobiBuilder extends FactoryService
protected $base_url = 'https://api.huobi.pro'; protected $base_url = 'https://api.huobi.pro';
protected $supported_symbol = 'supported_symbol_huobi'; protected $supported_symbol = 'supported_symbol_huobi';
protected $supported_symbol_list = 'supported_symbol_huobi_list'; protected $supported_symbol_list = 'supported_symbol_huobi_list';
protected $supported_symbol_close_sort_list = 'supported_symbol_close_sort_huobi_list'; protected $supported_symbol_close_sort = 'supported_symbol_close_sort_huobi';
protected $supported_symbol_change_sort_list = 'supported_symbol_change_sort_huobi_list'; protected $supported_symbol_change_sort = 'supported_symbol_change_sort_huobi';
protected $quotation_prefix = 'quotation_huobi_'; protected $quotation_prefix = 'quotation_huobi_';
public function hotTickerUpdate() public function hotTickerUpdate()
...@@ -61,10 +61,10 @@ class HuobiBuilder extends FactoryService ...@@ -61,10 +61,10 @@ class HuobiBuilder extends FactoryService
} }
if (false != $condition) { if (false != $condition) {
if ('price' == $condition['data_value']) { if ('price' == $condition['data_value']) {
$keys = $this->redis->lrange($this->supported_symbol_close_sort_list, $this->start, $this->end); $keys = $this->redis->lrange($this->supported_symbol_close_sort, $this->start, $this->end);
} }
if ('sort' == $condition['data_value']) { if ('sort' == $condition['data_value']) {
$keys = $this->redis->lrange($this->supported_symbol_change_sort_list, $this->start, $this->end); $keys = $this->redis->lrange($this->supported_symbol_change_sort, $this->start, $this->end);
} }
} else { } else {
$keys = $this->redis->lrange($this->supported_symbol_list, $this->start, $this->end); $keys = $this->redis->lrange($this->supported_symbol_list, $this->start, $this->end);
...@@ -112,20 +112,32 @@ class HuobiBuilder extends FactoryService ...@@ -112,20 +112,32 @@ class HuobiBuilder extends FactoryService
$ticker = []; $ticker = [];
for ($i = 0; $i < $len; $i++) { for ($i = 0; $i < $len; $i++) {
$symbol = $this->redis->lindex($this->supported_symbol_list, $i); $symbol = $this->redis->lindex($this->supported_symbol_list, $i);
list($close, $open) = $this->redis->hmget($this->quotation_prefix . strtolower($symbol), 'last', 'open'); list($close, $open, $low, $high, $vol) = $this->redis->hmget($this->quotation_prefix . strtolower($symbol), 'last', 'open', 'low', 'high', 'vol');
$temp = []; $temp = [];
$temp['symbol'] = strtoupper($symbol); $temp['symbol'] = strtoupper($symbol);
$temp['close'] = number_format($close, 6, '.', ''); $temp['close'] = number_format($close, 6, '.', '');
$temp['low'] = $low;
$temp['high'] = $high;
$temp['vol'] = $vol;
$temp['change'] = (0 == $open) ? 0 : (float)sprintf("%0.2f", ($close - $open) / $open * 100); $temp['change'] = (0 == $open) ? 0 : (float)sprintf("%0.2f", ($close - $open) / $open * 100);
array_push($ticker, $temp); array_push($ticker, $temp);
} }
$ticker_sort_close = $this->arraySort($ticker, 'close'); $ticker_sort_close = $this->arraySort($ticker, 'close');
foreach ($ticker_sort_close as $val) { foreach ($ticker_sort_close as $val) {
$this->redis->lpush($this->supported_symbol_close_sort_list, strtolower($val['symbol'])); $key = $this->quotation_prefix . strtoupper($val['symbol']);
$this->redis_ticker->hmset($key, 'low', $val['low'], 'high', $val['high'], 'last', $val['close'], 'open', $val['open'], 'vol', $val['vol']);
$this->redis_ticker->sadd($this->supported_symbol, $val['symbol']);
$this->redis_ticker->lpush($this->supported_symbol_list, $val);
} }
$ticker_change_close = $this->arraySort($ticker, 'change'); $ticker_change_close = $this->arraySort($ticker, 'change');
foreach ($ticker_change_close as $val) { foreach ($ticker_change_close as $val) {
$this->redis->lpush($this->supported_symbol_change_sort_list, strtolower($val['symbol'])); $key = $this->quotation_prefix . strtoupper($val['symbol']);
$this->redis_ticker->hmset($key, 'low', $val['low'], 'high', $val['high'], 'last', $val['close'], 'open', $val['open'], 'vol', $val['vol']);
$this->redis_ticker->sadd($this->supported_symbol, $val['symbol']);
$this->redis_ticker->lpush($this->supported_symbol_list, $val);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment