request; $coinItems = $request->post('names'); if(!$coinItems){ return ['code' => 1,'data' => [],'msg' => '币种不能为空']; } if(!is_array($coinItems)){ $coinItems = [$coinItems]; } $tickerData = []; if($coinItems){ foreach($coinItems as $item){ $item = strtoupper($item); $quotation = ExchangeBusiness::getquatation($item); if (!$quotation) { //使用Coin服务 try { $coinServer = CoinFactory::createCoin($item, '', ''); $tickerData[$item]['rmb'] = $coinServer->getPrice(); $tickerData[$item]['last'] = $coinServer->getDollar(); $tickerData[$item]['low'] = $coinServer->getLow(); $tickerData[$item]['high'] = $coinServer->getHigh(); $coinServer->__destruct(); } catch (\Exception $exception) { $tickerData[$item]['rmb'] = 0; $tickerData[$item]['last'] = 0; $tickerData[$item]['low'] = 0; $tickerData[$item]['high'] = 0; \Yii::error($exception->getMessage()); } }else{ $tickerData[$item] = $quotation; } } return ['code' => 0,'data' => $tickerData,'msg' => '行情获取成功']; } } public function actionCoinIndex() { $request = Yii::$app->request; $coinItems = $request->post('names',[]); $coin_recommendItems = $this->coinRecommendList(); $coinItems = array_merge($coinItems,$coin_recommendItems); if(!$coinItems){ return ['code' => 1,'data' => [],'msg' => '币种不能为空']; } if(!is_array($coinItems)){ $coinItems = [$coinItems]; } $fields =['id', 'sid', 'icon', 'name', 'nickname']; $rows = Coin::getSelectList(1, 999, $fields,[['in','name',$coinItems]]); return ['code' => 0,'data' => $rows,'msg' => '币种列表获取成功']; } private function coinRecommendList() { $recommend_list = CoinRecommend::find()->select('cid')->where(['platform_id' => 6 ])->all(); if($recommend_list){ $coin_ids = array_column($recommend_list,'cid'); $coin_items = Coin::find()->select('name')->where(['in','id',$coin_ids])->all(); return array_column($coin_items,'name'); } return []; } /** * @return array * 获取旷工费 */ public function actionFee() { $request = Yii::$app->request; $coin = $request->post('name'); if(!$coin){ return ['code' => 1,'data' => [],'msg' => '币种不能为空']; } $fee = MinerFee::find()->where(['platform' => $coin,'type' => 2])->select('id,platform,type,fee,create_at,update_at')->asArray()->one(); if(!$fee){ return ['code' => 1,'data' => [],'msg' => '旷工费未设置']; } return ['code' => 0,'data' => $fee,'msg' => '旷工费获取成功']; } }