From e49923b9b73d86f2345bbbcbb55c1b614aeaf3b4 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 1 Nov 2024 16:26:01 +0800 Subject: [PATCH] 1 --- .../OutAppCircuitController.class.php | 94 ++++++++++--------- 1 file changed, 52 insertions(+), 42 deletions(-) diff --git a/webapp/controller/OutAppCircuitController.class.php b/webapp/controller/OutAppCircuitController.class.php index e96e3326..ac16d3d6 100644 --- a/webapp/controller/OutAppCircuitController.class.php +++ b/webapp/controller/OutAppCircuitController.class.php @@ -40,28 +40,33 @@ class OutAppCircuitController extends BaseController { if (SERVER_ENV != _ONLINE) { $user = User::find('2_2006_I75DCdyQRllgGRYvT0wcGtPR9gbDUZws'); } - if (!$user){ - myself()->_rspErr(1, 'user not found'); - return; - } - $redis = $this->_getRedis($this->redis_key_circuit_ranking); - if (! $redis->exists(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_ranking)){ - $rows = Circuit::getCircuitList($currentCircuitMeta['circuit_season']); - $sortRows = myself()->arraySort($rows, 'cumulative_score', 'desc'); - $list = $this->_extractRankingInfo($sortRows); - $redis->set(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_ranking , json_encode($list)); - $redis->pexpire(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_ranking , 10*60*1000); - }else{ - $listStr = $redis->get(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_ranking); - $list = emptyReplace(json_decode($listStr, true), array()); - } - $myInfo = $this->_celMyRankingInfo($list,$user['account_id']); $info = array( 'star_time' => strtotime($currentCircuitMeta['start_time']), 'end_time' => strtotime($currentCircuitMeta['end_time']), - 'ranking' => $myInfo['ranking'], - 'score' => $myInfo['score'], + 'ranking' => 0, + 'score' => 0, ); + if (!$user){ + } else { + $redis = $this->_getRedis($this->redis_key_circuit_ranking); + if (! $redis->exists(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_ranking)){ + $rows = Circuit::getCircuitList($currentCircuitMeta['circuit_season']); + $sortRows = myself()->arraySort($rows, 'cumulative_score', 'desc'); + $list = $this->_extractRankingInfo($sortRows); + $redis->set(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_ranking , json_encode($list)); + $redis->pexpire(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_ranking , 10*60*1000); + }else{ + $listStr = $redis->get(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_ranking); + $list = emptyReplace(json_decode($listStr, true), array()); + } + $myInfo = $this->_celMyRankingInfo($list,$user['account_id']); + $info = array( + 'star_time' => strtotime($currentCircuitMeta['start_time']), + 'end_time' => strtotime($currentCircuitMeta['end_time']), + 'ranking' => $myInfo['ranking'], + 'score' => $myInfo['score'], + ); + } $this->_rspData(array( 'rank_list' => $list, 'info' => $info, @@ -86,31 +91,36 @@ class OutAppCircuitController extends BaseController { $user = User::find('2_2006_I75DCdyQRllgGRYvT0wcGtPR9gbDUZws'); } if (!$user){ - myself()->_rspErr(1, 'user not found'); - return; + $info = array( + 'star_time' => strtotime($currentStageMeta['start_time']), + 'end_time' => strtotime($currentStageMeta['end_time']), + 'ranking' => 0, + 'score' => 0 + ); + } else { + $currentStageMeta = mt\CircuitTime::getCurrentStage(); + if (!$currentStageMeta){ + $currentStageMeta = mt\CircuitTime::getPrevStage(); + } + $redis = $this->_getRedis($this->redis_key_circuit_phase_ranking); + if (! $redis->exists(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_phase_ranking)){ + $rows = Circuit::getCircuitPhaseList($currentStageMeta['circuit_season'],$currentStageMeta['circuit_phase']); + $sortRows = myself()->arraySort($rows, 'cumulative_score', 'desc'); + $list = $this->_extractRankingInfo($sortRows); + $redis->set(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_phase_ranking , json_encode($list)); + $redis->pexpire(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_phase_ranking , 10*60*1000); + }else{ + $listStr = $redis->get(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_phase_ranking); + $list = emptyReplace(json_decode($listStr, true), array()); + } + $myInfo = $this->_celMyRankingInfo($list,$user['account_id']); + $info = array( + 'star_time' => strtotime($currentStageMeta['start_time']), + 'end_time' => strtotime($currentStageMeta['end_time']), + 'ranking' => $myInfo['ranking'], + 'score' => $myInfo['score'], + ); } - $currentStageMeta = mt\CircuitTime::getCurrentStage(); - if (!$currentStageMeta){ - $currentStageMeta = mt\CircuitTime::getPrevStage(); - } - $redis = $this->_getRedis($this->redis_key_circuit_phase_ranking); - if (! $redis->exists(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_phase_ranking)){ - $rows = Circuit::getCircuitPhaseList($currentStageMeta['circuit_season'],$currentStageMeta['circuit_phase']); - $sortRows = myself()->arraySort($rows, 'cumulative_score', 'desc'); - $list = $this->_extractRankingInfo($sortRows); - $redis->set(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_phase_ranking , json_encode($list)); - $redis->pexpire(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_phase_ranking , 10*60*1000); - }else{ - $listStr = $redis->get(CIRCUIT_RANKING_KEY.$this->redis_key_circuit_phase_ranking); - $list = emptyReplace(json_decode($listStr, true), array()); - } - $myInfo = $this->_celMyRankingInfo($list,$user['account_id']); - $info = array( - 'star_time' => strtotime($currentStageMeta['start_time']), - 'end_time' => strtotime($currentStageMeta['end_time']), - 'ranking' => $myInfo['ranking'], - 'score' => $myInfo['score'], - ); $this->_rspData(array( 'rank_list' => $list, 'info' => $info,