/** * API:获取解锁关卡基本信息 * * @access public * @param 无 * @return JsonView 响应json */ public function exeGetUserInfo() { $requestParam = $this->getAllParameters(); Logger::debug('requestParam:' . print_r($requestParam, true)); $requestJsonParam = $this->getDecodedJsonRequest(); Logger::debug('requestJsonParam:' . print_r($requestJsonParam, true)); // 获取用户表信息 UserCache::deleteAllUserCache($requestParam['user_id']); $userInfo = UserCache::getAllUserCache($requestParam['user_id']); if (!$userInfo) { $userInfo = self::iniUserInfo($requestParam['user_id']); } // 检测体力 $checkThewArr['n_thew'] = $userInfo['n_thew']; $checkThewArr['n_refresh_time'] = $userInfo['n_refresh_time']; $checkArr = self::refreshThew($checkThewArr); if ($checkArr) { UserModel::update($checkArr, $user = array('n_id' => $requestParam['user_id']), $pdo); UserCache::setByKey($requestParam['user_id'], 'n_thew', $checkArr['n_thew']); UserCache::setByKey($requestParam['user_id'], 'n_refresh_time', $checkArr['n_refresh_time']); $userInfo['n_thew'] = $checkArr['n_thew']; $userInfo['n_refresh_time'] = $checkArr['n_refresh_time']; } $nowTime = time(); // 生成缓存 $newSessionKey = Util::generateSessionKey($requestParam['user_id']); $oldSessionKey = $requestParam['session_key']; Logger::debug('SessionKey1:' . $oldSessionKey); Logger::debug('SessionKey2:' . $newSessionKey); UserCache::setByKey($requestParam['user_id'], Constants::PREVIOUS_SESSION_KEY, $oldSessionKey); UserCache::setByKey($requestParam['user_id'], Constants::CURRENT_SESSION_KEY, $newSessionKey); //UserCache::setByKey($user_id, 'userInfo', $userInfo); $messageArr = CharacterAction::getAllMessage($requestParam['user_id']); $messageArr['bullent'] = SystemAction::getBulletin(); $messageArr['big_message'] = SystemAction::getBigMessage(); $messageArr['s_login_info'] = $userInfo['s_login_info']; $messageArr['user_info']['s_name'] = $userInfo['s_name']; $messageArr['user_info']['n_level'] = $userInfo['n_level']; $messageArr['user_info']['f_experience'] = $userInfo['f_experience']; $messageArr['user_info']['n_coin'] = $userInfo['n_coin']; $messageArr['user_info']['n_diamond'] = $userInfo['n_diamond']; $messageArr['user_info']['n_soul'] = $userInfo['n_soul']; //$messageArr['user_info']['n_reward'] = $userInfo['n_reward']; $messageArr['user_info']['n_head'] = $userInfo['n_head']; $messageArr['user_info']['n_thew'] = $userInfo['n_thew']; $messageArr['user_info']['n_refresh_time'] = $userInfo['n_refresh_time']; $messageArr['user_info']['server_time'] = $nowTime; $messageArr['user_info']['time_num'] = Constants::REFRESH_THEW_TIME; $messageArr['user_info']['n_battle'] = $userInfo['n_battle']; //$messageArr['user_info']['s_role_info'] = $userInfo['s_role_info']; //$messageArr['user_info']['s_general_info'] = $userInfo['s_general_info']; $messageArr['role_id'] = $userInfo['s_role_info'][0]; $messageArr['item'] = $userInfo['s_item_info']; $messageArr['id'] = $requestParam['user_id']; //$messageArr = $userInfo; $messageArr['session_key'] = $newSessionKey; $view = new JsonView(); return $this->getViewByJson($view, $messageArr, 1, "system/get_bulletin"); }
/** * API:获取世界排行 * * @access public * @param 无 * @return JsonView 响应json */ public function getWorldRank($user_id) { UserCache::deleteAllUserCache(Constants::WORLD_RANK); //$rankArr = UserCache::getAllUserCache( Constants::WORLD_RANK ); $friendList = FriendAction::getFriend($user_id); if (!$rankArr) { //$worldRank = rankModel::selectlimit( $wheres = "",$limit = array( "page" => 1, "limit" => Constants::WORLD_RANKY_MAX_NUM ), $columns = array( "n_id", 'n_battle', 'n_max_checkpoint' ) ); $worldRank = RankModel::getRank(Constants::WORLD_RANKY_MAX_NUM); foreach ($worldRank as $key => $value) { $result['max_checkpoint'] = $value['n_max_checkpoint']; $result['battle'] = $value['n_battle']; $result['n_id'] = $value['n_id']; $rankArr[$value['n_id']] = $result; } //echo "<pre>";var_dump($worldRank);exit; UserCache::setAllUserCache(Constants::WORLD_RANK, $rankArr); } // uasort($rankArr, function($a, $b) { // $al = $a['max_checkpoint']; // $bl = $b['max_checkpoint']; // if ($al == $bl) // { // $al2 = $a['battle']; // $bl2 = $b['battle']; // return ($al2 > $bl2) ? -1 : 1; // } // return ($al > $bl) ? -1 : 1; // }); $rankArr = array_slice($rankArr, 0, Constants::WORLD_RANKY_MAX_NUM); //echo "<pre>"; foreach ($rankArr as $key => $value) { $now_id = $value['n_id']; $userInfo = UserCache::getAllUserCache($now_id); if (!$userInfo['n_id'] || !$userInfo['n_head'] || !$userInfo['s_name'] || !$userInfo['n_sex'] || !$userInfo['n_level'] || !$userInfo['n_max_checkpoint']) { $userInfo = UserAction::iniUserInfo($now_id); } //var_dump($userInfo);echo "<br />"; $rankInfo['id'] = $userInfo['n_id']; $rankInfo['head'] = $userInfo['n_head']; $rankInfo['name'] = $userInfo['s_name']; $rankInfo['sex'] = $userInfo['n_sex']; $rankInfo['level'] = $userInfo['n_level']; $rankInfo['checkpoint'] = $userInfo['n_max_checkpoint']; $rankInfo['battle'] = $value['battle']; // 好友列表加入缓存后此处需要修改 //$rankInfo['friend_type'] = FriendModel::isFriend( $user_id, $now_id ); if ($friendList && in_array($now_id, $friendList)) { $rankInfo['friend_type'] = 1; } else { $rankInfo['friend_type'] = 0; } $worldRankInfo[$key + 1] = $rankInfo; } return $worldRankInfo; }