/** * @return bool */ public static function updateDotaDraftScores() { // 1. получить список активных фантазий (активность из event) $events = DotaEvent::getActualEventsList(); $event_ids = ArrayHelper::map($events, 'id', 'id'); $fantasies = DotaFantasy::getActiveFantasies($event_ids); $fantasy_ids = ArrayHelper::map($fantasies, 'id', 'id'); //echo'<pre>';print_r($fantasies);echo'</pre>';//die; // 2. получить список ставок по этим фантазиям $DotaDraft = new DotaDraft(); $rates_list = $DotaDraft->getRatesList($fantasy_ids); //echo'<pre>';print_r($rates_list);echo'</pre>';//die; // 101.81 // 3. по этим ставкам уже считаем кол-во очков по ставке. foreach ($rates_list as $fantasy_id => $rates) { if (isset($fantasies[$fantasy_id])) { switch ($fantasies[$fantasy_id]['draft_id']) { case DotaFantasy::DOTA_PLAYERS_DRAFT_ID: self::calculateScoresInPlayersDraft($fantasies[$fantasy_id], $rates); break; case DotaFantasy::DOTA_HEROES_DRAFT_ID: self::calculateScoresInHeroesDraft($fantasies[$fantasy_id], $rates); break; case DotaFantasy::DOTA_MIXED_DRAFT_ID: self::calculateScoresInMixedDraft($fantasies[$fantasy_id], $rates); break; } } } //die; return true; }