0 && $currSeasonMeta['id'] > $userInfo['last_season_id']) { $currRankMeta = mt\Rank::getRankById($userInfo['rank']); $dropRankMeta = mt\Rank::getRankById($currRankMeta ? $currRankMeta['next_season'] : 1); $award = Season::seasonReward($currRankMeta); //掉段 if ($dropRankMeta) { myself()->_updateUserInfo(array( 'rank' => $dropRankMeta['id'], 'score' => $dropRankMeta['rank_score'], 'last_season_id' => $currSeasonMeta['id'], )); } myself()->_addItems($award, $awardService, $propertyService); return false; } return true; } //赛季结束后奖励及重置排位段位 public function seasonAward($userInfo) { $currRankMeta = mt\Rank::getRankById($userInfo['rank']); $dropRankMeta = mt\Rank::getRankById($currRankMeta ? $currRankMeta['next_season'] : 1); $award = array(); if ($currRankMeta) { $award = Season::seasonReward($currRankMeta); if ($dropRankMeta) { myself()->_updateUserInfo(array( 'rank' => $dropRankMeta['id'], 'score' => $dropRankMeta['rank_score'], )); } } return $award; } public function resetRankGainAward() { // $currSeasonMeta = mt\RankSeason::getCurrentSeason(); // $season = RealtimeData::getRankSeason(); // if ($currSeasonMeta && $currSeasonMeta['id'] > $season) { // $rows = myself()->_getMysql('')->execQuery( // 'SELECT * FROM t_user ' . // 'WHERE score_modifytime <> createtime' // ); // if (count($rows) < 1){ // error_log("resetRankGainAward : No user participates in the ranking"); // die; // } // foreach ($rows as $row){ // $currRankMeta = mt\Rank::getRankById($row['rank']); // if (! $currRankMeta){ // error_log("resetRankGainAward : rankRank@rankRank.php field rank error" . json_encode($row)); // continue; // } // $dropRankMeta = mt\Rank::getRankById($currRankMeta['next_season']); // if (! $dropRankMeta){ // error_log("resetRankGainAward : rankRank@rankRank.php field next_season error" . json_encode($row)); // continue; // } // $award = Season::seasonReward($currRankMeta); // myself()->switchAccount($row['account_id']); // $propertyChgService = new PropertyChgService(); // myself()->_addItems($award, null, $propertyChgService); // myself()->_updateUserInfo(array( // 'last_season_id' => $currSeasonMeta['id'], // 'rank' => $dropRankMeta['id'], // 'score' => $dropRankMeta['rank_score'], // )); // } // error_log("Battle Ranking : Season ".$season." Settlement Success !"); // RealtimeData::setRankSeason($currSeasonMeta['id']); // } } }