Commit 61632c83 authored by shajiaiming's avatar shajiaiming

fix

parent 88c5db91
......@@ -17,6 +17,7 @@ abstract class FactoryService
protected $basic_price = [];
protected $redis;
protected $redis_ticker;
protected $start;
protected $end;
......@@ -44,5 +45,6 @@ abstract class FactoryService
}
$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
protected $base_url = 'https://api.huobi.pro';
protected $supported_symbol = 'supported_symbol_huobi';
protected $supported_symbol_list = 'supported_symbol_huobi_list';
protected $supported_symbol_close_sort_list = 'supported_symbol_close_sort_huobi_list';
protected $supported_symbol_change_sort_list = 'supported_symbol_change_sort_huobi_list';
protected $supported_symbol_close_sort = 'supported_symbol_close_sort_huobi';
protected $supported_symbol_change_sort = 'supported_symbol_change_sort_huobi';
protected $quotation_prefix = 'quotation_huobi_';
public function hotTickerUpdate()
......@@ -61,10 +61,10 @@ class HuobiBuilder extends FactoryService
}
if (false != $condition) {
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']) {
$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 {
$keys = $this->redis->lrange($this->supported_symbol_list, $this->start, $this->end);
......@@ -112,20 +112,32 @@ class HuobiBuilder extends FactoryService
$ticker = [];
for ($i = 0; $i < $len; $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['symbol'] = strtoupper($symbol);
$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);
array_push($ticker, $temp);
}
$ticker_sort_close = $this->arraySort($ticker, 'close');
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');
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