Commit edb380fa authored by shajiaiming's avatar shajiaiming

Merge branch 'feature/optimize' into 'master'

fix See merge request !184
parents 3d90fffd 638cae70
......@@ -100,7 +100,7 @@ class ServiceController extends BaseController
$type = Yii::$app->request->get('type', 1);
$coin_recommendItems = $this->coinRecommendList($platform_id, $type);
$fields = ['id', 'sid', 'icon', 'name', 'nickname', 'chain', 'platform'];
$rows = Coin::getSelectList(1, 999, $fields, [['in', 'id', $coin_recommendItems]]);
$rows = Coin::getSelectList(1, 999, $fields, [['in', 'id', $coin_recommendItems]], $coin_recommendItems);
foreach ($rows['data'] as $key => &$value) {
$nickname = json_decode($value['nickname'], true);
$value['nickname'] = $nickname[$this->lang];
......
......@@ -36,8 +36,8 @@ class Coin extends BaseActiveRecord
/**
* 获取币种信息列表
*
* @param int $page
* @param int $limit
* @param int $page
* @param int $limit
* @param array $condition
* @return array|\yii\db\ActiveRecord[]
*/
......@@ -48,7 +48,7 @@ class Coin extends BaseActiveRecord
$query = $query->andWhere($item);
}
$count = $query->count();
$data = $query->offset(($page - 1) * 10)->limit($limit)->asArray()->all();
$data = $query->offset(($page - 1) * 10)->limit($limit)->asArray()->all();
foreach ($data as $key => $item) {
$data[$key]['price'] = sprintf("%0.6f", $item['price']);
}
......@@ -58,19 +58,28 @@ class Coin extends BaseActiveRecord
/**
* 获取币种信息列表
*
* @param int $page
* @param int $limit
* @param int $page
* @param int $limit
* @param array $condition
* @return array|\yii\db\ActiveRecord[]
*/
public static function getSelectList($page = 1, $limit = 10, $columns = [], $condition = [])
public static function getSelectList($page = 1, $limit = 10, $columns = [], $condition = [], $orderBy = [])
{
$ids_str = implode(',', $orderBy);
$order = "FIELD(`id`,$ids_str)";
$query = self::find();
foreach ($condition as $item) {
$query = $query->andWhere($item);
}
$count = $query->count();
$data = $query->select($columns)->offset(($page - 1) * $limit)->limit($limit)->asArray()->all();
if (false != $orderBy) {
$ids_str = implode(',', $orderBy);
$order = "FIELD(`id`,$ids_str)";
$data = $query->select($columns)->offset(($page - 1) * $limit)->limit($limit)->asArray()->orderBy([$order => true])->all();
} else {
$data = $query->select($columns)->offset(($page - 1) * $limit)->limit($limit)->asArray()->all();
}
return ['count' => $count, 'data' => $data];
}
......@@ -173,8 +182,8 @@ class Coin extends BaseActiveRecord
/**
* 根据id列表获取币种信息
*
* @param array $ids [description]
* @param array $select [description]
* @param array $ids [description]
* @param array $select [description]
* @param string $sort_by [description]
* @return array [description]
*/
......@@ -200,8 +209,8 @@ class Coin extends BaseActiveRecord
/**
* 获取推介币种信息列表
*
* @param int $page
* @param int $limit
* @param int $page
* @param int $limit
* @param array $condition
* @return array|\yii\db\ActiveRecord[]
*/
......@@ -213,7 +222,7 @@ class Coin extends BaseActiveRecord
}
$query = $query->rightJoin('coin_recommend', 'coin.id=coin_recommend.cid');
$count = $query->count();
$data = $query->offset(($page - 1) * 10)->limit($limit)->asArray()->all();
$data = $query->offset(($page - 1) * 10)->limit($limit)->asArray()->all();
foreach ($data as $key => $item) {
$data[$key]['price'] = sprintf("%0.6f", $item['price']);
}
......
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