protected function _exec() { $heroid = $this->getParam('heroid', 'int'); $data_id = $this->getParam('data_id', 'int'); $clan_mgr = new ClanManager(); $user_clan_mgr = new UserClanManager(); $clanInfo = $clan_mgr->getSimClanInfo($data_id); $clanmembers = explode(",", $clanInfo['members']); $total = 20 + 10 * $clanInfo['level']; $canJoin = FALSE; $membersArr = array(); if (count($clanmembers) + 1 > $total) { $canJoin = FALSE; } else { $newUserClan = $user_clan_mgr->creatUserClan($heroid, $data_id); array_push($membersArr, $newUserClan); if (!$clanInfo['members'] || $clanInfo['members'] == "") { $clanInfo['members'] = $heroid; } else { $clanInfo['members'] = $clanInfo['members'] . "," . $heroid; } $clan_mgr->updateClanInfo($data_id, $clanInfo); $clanInfo['clanUser'] = $newUserClan; $canJoin = TRUE; } foreach ($clanmembers as $memberId) { $simclaninfo = $user_clan_mgr->getUserClanInfo($memberId); if (!empty($simclaninfo)) { array_push($membersArr, $simclaninfo); } } array_push($membersArr, $user_clan_mgr->getUserClanInfo($clanInfo['adminId'])); $clanInfo['membersArr'] = $membersArr; return array('clan' => $clanInfo, 'canJoin' => $canJoin); }
protected function _exec() { $gameuid = $this->getParam('gameuid', 'int'); $heroid = $this->getParam('heroid', 'int'); $name = $this->getParam('name', 'string'); $user_clan_mgr = new UserClanManager(); $clanInfo = $user_clan_mgr->getUserClanInfo($heroid); if (!empty($clanInfo)) { $this->throwException("user {$heroid} already have clan "); } $account_mgr = new UserAccountManager(); $account_info = $account_mgr->getUserAccount($gameuid); if ($account_info['gem'] < 20) { $this->throwException("user {$gameuid} not enough gem to buy Clan "); } $clan_mgr = new ClanManager(); $result = $clan_mgr->creatClan($heroid, $name); $user_clan_info = $user_clan_mgr->creatUserClan($heroid, $result['data_id']); $account_mgr->updateUserMoney($gameuid, 20); $hero_mgr = new CharacterAccountManager(); $result['admin'] = $hero_mgr->getCharacterAccount($heroid); $result['membersArr'] = array($user_clan_info); return array('clan' => $result); }