request->post('recommend', 0); $header = Yii::$app->request->headers; $platform_id = $header['FZM-PLATFORM-ID'] ?? null; if (false == $recommend || false == $platform_id) { $this->code = -1; $this->msg = '参数错误'; goto doEnd; } $recommend_coins = RecommendCoin::find()->where(['platform_id' => (int)$platform_id])->orderBy("sort desc")->all(); if (empty($recommend_coins)) { goto doEnd; } $this->data = []; foreach ($recommend_coins as $coin) { $recommend_coin_info = [ 'recommend' => $coin->recommend, 'sort' => $coin->sort, 'type' => $coin->type, ]; $this->data = array_merge($this->data, [array_merge($coin->coin[0], $recommend_coin_info)]); } $chains = array_column($this->data, 'chain'); $symbol = array_column($this->data, 'name'); $chains_symbols = array_keys(array_flip($chains) + array_flip($symbol)); $coin_quotations = ExchangeBusiness::getQuatationByNames($chains_symbols); $ticker = ['low' => 0, 'high' => 0, 'last' => 0, 'open' => 0, 'vol' => 0, 'rmb' => 0, 'usd' => 0]; foreach ($this->data as $key => &$val) { $val['chain_quotation'] = isset($coin_quotations[strtoupper($val['chain'])]) ? $coin_quotations[strtoupper($val['chain'])] : []; $nickname = json_decode($val['nickname'], true); $val['nickname'] = isset($nickname[$this->lang]) ? $nickname[$this->lang] : ''; $introduce = json_decode($val['introduce'], true); $val['introduce'] = isset($introduce[$this->lang]) ? $introduce[$this->lang] : ''; $this->data[$key] = array_merge($val, isset($coin_quotations[strtoupper($val['name'])]) ? $coin_quotations[strtoupper($val['name'])] : $ticker); } doEnd : return ['code' => $this->code, 'data' => $this->data, 'msg' => $this->msg]; } }