Example #1
0
 /**
  * @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;
 }