/** * @desc 表赛报告 */ public function actionGameData() { $gameId = Yii::app()->request->getQuery('game', ''); $teamId = Yii::app()->request->getQuery('team', ''); $tournament = new TournamentModel(); $gameDatas = $tournament->findByObjectId($gameId); $gameData = array(); if (isset($gameDatas[0])) { $gameData = $gameDatas[0]; } $playerScoreModel = new PlayerScoreModel(); $userModel = new UserModel(); //$playerData = $playerScoreModel->findByLeague($leagueId); $teamMembers = array(); $tempData = $gameDatas[0]; $playMembers = $playerScoreModel->findScorePlayer($gameId, $teamId); // print_r($gameData );exit("dafafdas"); //$playerData = $playerScoreModel->findByGameId($teamId); $playerData = $playerScoreModel->findCompetitionTeamPlayerScore($gameId, $teamId); //找到属于该联赛的所有球员 $playerArr = array(); foreach ($playerData as $playerScore) { $playerId = $playerScore->player->objectId; if (!in_array($playerId, $playerArr)) { array_push($playerArr, $playerId); } } //统计球员在某个联赛的进球总数 $playerGoalArr = array(); foreach ($playerArr as $playerId) { $playerGoals = 0; foreach ($playerData as $playerScore) { if ($playerId == $playerScore->player->objectId && isset($playerScore->goals) && is_numeric($playerScore->goals)) { $playerGoals += $playerScore->goals; } } $playerGoalArr[$playerId] = $playerGoals; } arsort($playerGoalArr); //合并球员的一些信息 $playerRangeArr = array(); foreach ($playerGoalArr as $playerRange => $playerGoal) { foreach ($playerData as $playerScore) { if ($playerRange == $playerScore->player->objectId) { if (!isset($playerScore->player->nickname) || empty($playerScore->player->nickname)) { $playerScore->player->nickname = '匿名'; } if (!isset($playerScore->team->name) || empty($playerScore->team->name)) { $playerScore->team->name = '匿名球队'; } $playerRangeArr[$playerRange] = array('totalGoals' => $playerGoal, 'name' => $playerScore->player->nickname, 'team' => $playerScore->team->name); } } } //统计球员在某个联赛的助攻总数 $playerAssistsArr = array(); foreach ($playerArr as $playerId) { $playerAssists = 0; foreach ($playerData as $playerScore) { if ($playerId == $playerScore->player->objectId && isset($playerScore->assists) && is_numeric($playerScore->assists)) { $playerAssists += $playerScore->assists; } } $playerAssistsArr[$playerId] = $playerAssists; } arsort($playerAssistsArr); //合并球员的一些信息 $playerAssistsRangeArr = array(); foreach ($playerAssistsArr as $playerRange => $playerAssists) { foreach ($playerData as $playerScore) { if ($playerRange == $playerScore->player->objectId) { if (!isset($playerScore->player->nickname) || empty($playerScore->player->nickname)) { $playerScore->player->nickname = '匿名'; } if (!isset($playerScore->team->name) || empty($playerScore->team->name)) { $playerScore->team->name = '匿名球队'; } $playerAssistsRangeArr[$playerRange] = array('totalAssists' => $playerAssists, 'name' => $playerScore->player->nickname, 'team' => $playerScore->team->name); } } } $this->render('gameData', array("teamId" => $teamId, 'gameData' => $gameData, 'playMembers' => $playMembers, 'playerRangeArr' => $playerRangeArr, 'playerAssistsRangeArr' => $playerAssistsRangeArr)); }
/** * @desc 修复android严重比赛结果后没保存TeamScore的问题 */ public function actionTestSaveTeamScore() { $masterId = CommonFunction::getUserId(); $gameId = "b404c1fc88"; $homeTeamScore = "8"; $opponentTeamScore = "0"; $leagueModel = new LeagueModel(); $res = $leagueModel->findByMaster($masterId, 1); if (empty($res)) { throw new CHttpException(500, '该用户无权限管理联赛'); } $leagueId = $res[0]->objectId; $gameModel = new TournamentModel(); $userModel = new UserModel(); $gameArr = $gameModel->findByObjectId($gameId); if (isset($gameArr[0])) { $game = $gameArr[0]; if (isset($game->home_court->captain->objectId)) { $homeTeamCaptainId = $game->home_court->captain->objectId; $homeTeamCaptain = $userModel->getByObjectId($homeTeamCaptainId); if (!empty($homeTeamCaptain)) { if (isset($homeTeamCaptain->username) && !empty($homeTeamCaptain->username)) { $homeTeamCaptainUsername = $homeTeamCaptain->username; } } } if (isset($game->opponent->captain->objectId)) { $opponentTeamCaptainId = $game->opponent->captain->objectId; $opponentTeamCaptain = $userModel->getByObjectId($opponentTeamCaptainId); } } // var_dump($game);exit; $res = ''; try { // $res = $gameModel->updateScore($gameId,$homeTeamScore,$opponentTeamScore); } catch (Exception $e) { //echo $e; } if (true) { if (isset($gameArr[0])) { $game = $gameArr[0]; $teamScoreModel = new TeamScoreModel(); if (isset($game->home_court->objectId)) { $homeTeamId = $game->home_court->objectId; if (isset($game->home_court->name)) { $homeTeamName = $game->home_court->name; } $diffScore = $homeTeamScore - $opponentTeamScore; $win = false; $draw = false; $loss = false; $score = 0; if ($diffScore > 0) { $win = true; $score = 3; } elseif ($diffScore == 0) { $draw = true; $score = 1; } elseif ($diffScore < 0) { $loss = true; } $homeTeamBasic = array('league' => array("__type" => "Pointer", "className" => "League", "objectId" => $leagueId), 'competition' => array("__type" => "Pointer", "className" => "Tournament", "objectId" => $gameId), 'team' => array("__type" => "Pointer", "className" => "Team", "objectId" => $homeTeamId), 'name' => $homeTeamName); $homeTeamDev = array('goals' => $homeTeamScore, 'goals_against' => $opponentTeamScore, 'goal_difference' => $diffScore, 'win' => $win, 'draw' => $draw, 'loss' => $loss, 'score' => $score); $hasData = $teamScoreModel->findByCompetitionTeam($gameId, $homeTeamId); if (!isset($hasData[0]->objectId)) { $homeTeamData = array_merge($homeTeamBasic, $homeTeamDev); $teamScoreModel->save($homeTeamData); } else { $teamScoreId = $hasData[0]->objectId; $teamScoreModel->update($teamScoreId, $homeTeamDev); } } if (isset($game->opponent->objectId)) { $opponentTeamId = $game->opponent->objectId; if (isset($game->opponent->name)) { $opponentTeamName = $game->opponent->name; } $diffScore = $opponentTeamScore - $homeTeamScore; $win2 = false; $draw2 = false; $loss2 = false; $score2 = 0; if ($diffScore > 0) { $win2 = true; $score2 = 3; } elseif ($diffScore == 0) { $draw2 = true; $score2 = 1; } elseif ($diffScore < 0) { $loss2 = true; } $opponentTeamBasic = array('league' => array("__type" => "Pointer", "className" => "League", "objectId" => $leagueId), 'competition' => array("__type" => "Pointer", "className" => "Tournament", "objectId" => $gameId), 'team' => array("__type" => "Pointer", "className" => "Team", "objectId" => $opponentTeamId), 'name' => $opponentTeamName); $opponentTeamDev = array('goals' => $opponentTeamScore, 'goals_against' => $homeTeamScore, 'goal_difference' => $diffScore, 'win' => $win2, 'draw' => $draw2, 'loss' => $loss2, 'score' => $score2); $hasData2 = $teamScoreModel->findByCompetitionTeam($gameId, $opponentTeamId); if (!isset($hasData2[0]->objectId)) { $opponentTeamData = array_merge($opponentTeamBasic, $opponentTeamDev); $teamScoreModel->save($opponentTeamData); } else { $teamScoreId2 = $hasData2[0]->objectId; $teamScoreModel->update($teamScoreId2, $opponentTeamDev); } } } $response = 'success'; } else { $response = 'fail'; } }