platform_id; if (false == $platform_id) { $this->code = -1; $this->msg = '参数错误'; goto doEnd; } $type = Yii::$app->request->get('type', 1); $recommend_category = WalletRecommendCategory::find()->select('id, name') ->where(['wallet_type' => (int)$type, 'platform_id' => (int)$platform_id]) ->orderBy('sort')->limit(1)->asArray()->all(); if (empty($recommend_category)) { goto doEnd; } foreach ($recommend_category as &$category) { $name = json_decode($category['name'], true); $category['name'] = isset($name[$this->lang]) ? $name[$this->lang] : ''; $recommend_coin = WalletRecommendCoin::find()->where(['category_id' => $category['id']])->all(); $items = []; foreach ($recommend_coin as $coin) { $temp['id'] = $coin->coin['id']; $temp['icon'] = $coin->coin['icon']; $temp['name'] = $coin->coin['name']; $temp['platform'] = $coin->coin['platform']; $temp['chain'] = $coin->coin['chain']; $temp['treaty'] = $coin->coin['treaty']; $nickname = json_decode($coin->coin['nickname'], true); $temp['nickname'] = isset($nickname[$this->lang]) ? $nickname[$this->lang] : ''; $introduce = json_decode($coin->coin['introduce'], true); $temp['introduce'] = isset($introduce[$this->lang]) ? $introduce[$this->lang] : ''; array_push($items, $temp); } $category['items'] = $items; } $this->data = $recommend_category[0]['items']; // //获取行情信息 // $coin_names = array_column($result, 'name'); // $coin_names = array_merge($coin_names, array_column($result, 'chain')); // $coin_quotations = ExchangeBusiness::getQuatationByNames($coin_names); // // $ticker = ['low' => 0, 'high' => 0, 'last' => 0, 'open' => 0, 'vol' => 0, 'rmb' => 0, 'usd' => 0]; // foreach ($result as $key => &$val) { // $val['chain_quotation'] = isset($coin_quotations[strtoupper($val['chain'])]) ? $coin_quotations[strtoupper($val['chain'])] : []; // $result[$key] = array_merge($val, isset($coin_quotations[strtoupper($val['name'])]) ? $coin_quotations[strtoupper($val['name'])] : $ticker); // $val['chain_rmb'] = isset($val['chain_quotation']['rmb']) ? $val['chain_quotation']['rmb'] : 0; // $val['chain_usd'] = isset($val['chain_quotation']['usd']) ? $val['chain_quotation']['usd'] : 0; // } // // $this->data = $result; doEnd : return ['code' => $this->code, 'data' => $this->data, 'msg' => $this->msg]; } public function actionIndex() { $platform_id = $this->platform_id; if (false == $platform_id) { $this->code = -1; $this->msg = '参数错误'; goto doEnd; } $type = Yii::$app->request->get('type', 1); $recommend_category = WalletRecommendCategory::find()->select('id, name') ->where(['wallet_type' => (int)$type, 'platform_id' => (int)$platform_id]) ->andWhere(['>', 'sort', 1]) ->orderBy('sort')->asArray()->all(); if (empty($recommend_category)) { goto doEnd; } foreach ($recommend_category as &$category) { $name = json_decode($category['name'], true); $category['name'] = isset($name[$this->lang]) ? $name[$this->lang] : ''; $recommend_coin = WalletRecommendCoin::find()->where(['category_id' => $category['id']])->all(); unset($category['id']); $items = []; foreach ($recommend_coin as $coin) { $temp['id'] = $coin->coin['id']; $temp['icon'] = $coin->coin['icon']; $temp['name'] = $coin->coin['name']; $temp['platform'] = $coin->coin['platform']; $temp['chain'] = $coin->coin['chain']; $temp['treaty'] = $coin->coin['treaty']; $nickname = json_decode($coin->coin['nickname'], true); $temp['nickname'] = isset($nickname[$this->lang]) ? $nickname[$this->lang] : ''; $introduce = json_decode($coin->coin['introduce'], true); $temp['introduce'] = isset($introduce[$this->lang]) ? $introduce[$this->lang] : ''; array_push($items, $temp); } $category['items'] = $items; } $this->data = $recommend_category; $supported_chain_model = CoinSupportedChain::find()->where(['platform_id' => $platform_id])->all(); $data = []; if (false != $supported_chain_model) { foreach ($supported_chain_model as $key => &$val) { $data[$key]['id'] = isset($val->coin->id) ? $val->coin->id : ''; $data[$key]['icon'] = isset($val->coin->icon) ? $val->coin->icon : ''; $data[$key]['name'] = isset($val->coin->name) ? $val->coin->name : ''; $data[$key]['platform'] = isset($val->coin->platform) ? $val->coin->platform : ''; $data[$key]['chain'] = isset($val->coin->chain) ? $val->coin->chain : ''; $data[$key]['treaty'] = isset($val->coin->treaty) ? $val->coin->treaty : ''; $data[$key]['nickname'] = isset($val->coin->nickname[$this->lang]) ? $val->coin->nickname[$this->lang] : ''; $data[$key]['introduce'] = isset($val->coin->introduce[$this->lang]) ? $val->coin->introduce[$this->lang] : ''; } $supported_chain = [ 'name' => '主链', 'items' => $data ]; array_unshift($this->data, $supported_chain); } doEnd : return ['code' => $this->code, 'data' => $this->data, 'msg' => $this->msg]; } }