Commit 7bb31ae7 authored by shajiaiming's avatar shajiaiming

行情列表加入是否已添加自选

parent 339e6ff5
......@@ -37,6 +37,8 @@ class TickerController extends BaseController
public function actionIndex()
{
$request = Yii::$app->request;
$device_code = $request->get('device_code', '');
$exchange = Yii::$app->request->get('exchange', 'zhaobi');
$exchange_arr = ['huobi', 'binance', 'okex', 'zhaobi'];
......@@ -50,6 +52,16 @@ class TickerController extends BaseController
$result = $builder->getTicker();
$code = $result['code'];
$data = $result['ticker'];
if (false != $device_code && Yii::$app->redis_app->exists($device_code . '_' . $exchange)) {
foreach ($data as &$val) {
if (Yii::$app->redis_app->sismember($device_code . '_' . $exchange, $val['symbol'])) {
$val['optional'] = true;
} else {
$val['optional'] = false;
}
}
}
$msg = 'success';
doEnd :
......@@ -73,6 +85,12 @@ class TickerController extends BaseController
goto doEnd;
}
$is_exist = Yii::$app->redis_app->sismember($device_code . '_' . $platform, $symbol);
if (true == $is_exist) {
$msg = '数据已存在!';
goto doEnd;
}
$model = CoinOptional::find()->where(['device_code' => $device_code, 'symbol' => $symbol])->one();
if ($model) {
$msg = '数据已存在!';
......@@ -84,6 +102,7 @@ class TickerController extends BaseController
if ($model->load(Yii::$app->request->post(), '') && $model->save()) {
$msg = 'success';
$code = 0;
Yii::$app->redis_app->sadd($device_code . '_' . $platform, $symbol);
} else {
$msg = current($model->firstErrors);
}
......@@ -100,13 +119,14 @@ class TickerController extends BaseController
$data = $temp = [];
$model = CoinOptional::find()->select('symbol, platform')->where(['device_code' => $device_code])->asArray()->all();
foreach ($model as $val) {
if('huobi' == $val['platform']) {
if ('huobi' == $val['platform']) {
$exchange = 'HuoBi';
} else if ('binance' == $val['platform']) {
$exchange = 'Binance';
} else if ('zhaobi' == $val['platform']) {
$exchange = 'Zhaobi';
} else {}
} else {
}
$symbol = explode('/', $val['symbol']);
$tag_first = $symbol[0];
......@@ -145,12 +165,13 @@ class TickerController extends BaseController
}
$symbol = $request->post('symbol', '');
$platform = $request->post('platform', '');
$device_code = $request->post('device_code', '');
if (empty($symbol) || empty($device_code)) {
if (empty($symbol) || empty($device_code) || empty($platform)) {
$msg = '请求参数错误!';
goto doEnd;
}
$model = CoinOptional::find()->where(['device_code' => $device_code, 'symbol' => $symbol])->one();
$model = CoinOptional::find()->where(['symbol' => $symbol, 'platform' => $platform, 'device_code' => $device_code])->one();
if (empty($model)) {
$msg = '数据不存在!';
goto doEnd;
......@@ -162,7 +183,7 @@ class TickerController extends BaseController
}
$code = 0;
$msg = 'success';
Yii::$app->redis_app->srem($device_code . '_' . $platform, $symbol);
doEnd :
return ['code' => $code, 'msg' => $msg, 'data' => $data];
}
......
......@@ -28,6 +28,8 @@ class BinanceBuilder extends FactoryService
if (2 == count($explode_arr) && empty($explode_arr[1])) {
$temp = [];
$temp['symbol'] = $explode_arr[0] . '/' . $coin;
$temp['currency'] = strtoupper($explode_arr[0]);
$temp['base_currency'] = strtoupper($coin);
$temp['close'] = (float)sprintf("%0.4f", $val['lastPrice']);
$temp['close_rmb'] = (float)sprintf("%0.4f", $val['lastPrice'] * $this->basic_price[$coin]);
$temp['change'] = (float)sprintf("%0.4f", $val['priceChangePercent']);
......
......@@ -28,6 +28,8 @@ class HuobiBuilder extends FactoryService
if (2 == count($explode_arr) && empty($explode_arr[1])) {
$temp = [];
$temp['symbol'] = strtoupper($explode_arr[0]) . '/' . $coin;
$temp['currency'] = strtoupper($explode_arr[0]);
$temp['base_currency'] = strtoupper($coin);
$temp['close'] = (float)sprintf("%0.4f", $val['close']);
$temp['close_rmb'] = (float)sprintf("%0.4f", $val['close'] * $this->basic_price[$coin]);
$temp['change'] = (float)sprintf("%0.4f", ($val['close'] - $val['open']) / $val['open'] * 100);
......
......@@ -32,6 +32,8 @@ class ZhaobiBuilder extends FactoryService
if (2 == count($explode_arr) && empty($explode_arr[1])) {
$temp = [];
$temp['symbol'] = strtoupper($explode_arr[0]) . '/' . $coin;
$temp['currency'] = strtoupper($explode_arr[0]);
$temp['base_currency'] = strtoupper($coin);
$temp['close'] = (float)sprintf("%0.4f", $val['last']);
$temp['close_rmb'] = (float)sprintf("%0.4f", $val['lastrmb']);
$temp['change'] = (float)sprintf("%0.4f", ($val['last'] - $val['open']) / $val['open'] * 100);
......
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