/** * API:好友合体信息 * * @access public * @param 无 * @return JsonView 响应json */ public function exeGetFitInfo() { $requestParam = $this->getAllParameters(); Logger::debug('requestParam:' . print_r($requestParam, true)); $requestJsonParam = $this->getDecodedJsonRequest(); Logger::debug('requestJsonParam:' . print_r($requestJsonParam, true)); $user_id = $requestParam['user_id']; $session_key = $requestParam['session_key']; $idArr = FriendModel::fitFriend($user_id); $nowTime = time(); foreach ($idArr as $key => $value) { $condition .= $value['n_id'] . ","; $waitTime = $value['time'] - $nowTime; $idArr[$key]['time'] = $waitTime > 0 ? $waitTime : 0; } $condition = substr($condition, 0, -1); $friendInfo = array(); if ($condition) { $friendInfo = FriendModel::getFriendInfo($condition); } foreach ($friendInfo as $key1 => $value1) { foreach ($idArr as $key2 => $value2) { if ($value1['n_id'] == $value2['n_id']) { $friendInfo[$key1] = array_merge($value1, $value2); $num = $value2['num'] + 1; $costInfo = FriendAction::getFitCostInfo($value1['n_id'], $num); $friendInfo[$key1]['price_type'] = $costInfo['price_type']; $friendInfo[$key1]['price'] = $costInfo['price']; $battleInfo = CharacterAction::getFitBattleInfo($user_id, $value1['n_battle']); $friendInfo[$key1]['add_battle'] = $battleInfo['add_battle']; $friendInfo[$key1]['attack'] = $battleInfo['attack']; $friendInfo[$key1]['crit'] = $battleInfo['crit']; $friendInfo[$key1]['hp'] = $battleInfo['hp']; } } } //游戏中主角、武将信息获取 // $messageArr1=CharacterAction::GetAllCharacterInfo($user_id); // $messageArr2=GeneralAction::GetAllGeneralInfo($user_id); // $messageArr=array_merge($messageArr1,$messageArr2); // 关卡基本信息 $dir = IniFileManager::getRootDir() . "files/csv/" . self::CHECKPOINT_LIST . ".csv"; $str = "checkpoint_id = " . $requestJsonParam['checkpoint_id']; $checkpointArr = Util::readCsv($dir, $str); if (empty($checkpointArr)) { $view = new JsonView(); return $this->getViewByJson($view, $messageArr, 0, "game/start_game"); } $pointsNum = $checkpointArr[0]['reward_points']; $proArr = array('a' => $checkpointArr[0]['reward_pro_1'], 'b' => $checkpointArr[0]['reward_pro_2'], 'c' => $checkpointArr[0]['reward_pro_3']); $sequence = ""; for ($i = 0; $i < $pointsNum; $i++) { $sequence = $sequence . Util::extractRandomAnswer($proArr); } $messageArr['sequence'] = $sequence; $messageArr['score'] = $checkpointArr[0]['grade_score']; $messageArr['friendInfo'] = $friendInfo; $messageArr['session_key'] = CharacterModel::setSessionKey($user_id, $session_key); $view = new JsonView(); return $this->getViewByJson($view, $messageArr, 1, "friend/get_fit_info"); }