diff --git a/server/imserver/guild.cc b/server/imserver/guild.cc index 5e06b99..3710534 100644 --- a/server/imserver/guild.cc +++ b/server/imserver/guild.cc @@ -689,6 +689,29 @@ void Guild::_CMGuildDismiss(f8::MsgHdr& hdr, const cs::CMGuildDismiss& msg) GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle, forward_msg->context(), respmsg); + { + std::string ip; + int port = 0; + JsonDataMgr::Instance()->GetRankServerConf(ip, port); + + a8::MutableXObject* params = a8::MutableXObject::NewObject(); + params->SetVal("guild_id", GuildId()); + + f8::HttpClientPool::Instance()->HttpGet + ( + a8::XParams(), + [] (a8::XParams& param, a8::XObject& data) + { + }, + [] (a8::XParams& param, const std::string& response) + { + }, + a8::Format("http://%s:%d/webapp/index.php?c=Guild&a=dismiss", {ip, port}).c_str(), + *params, + rand() + ); + delete params; + } } void Guild::_CMGuildChange(f8::MsgHdr& hdr, const cs::CMGuildChange& msg) diff --git a/server/imserver/handlermgr.cc b/server/imserver/handlermgr.cc index e45d0e1..544cbe9 100644 --- a/server/imserver/handlermgr.cc +++ b/server/imserver/handlermgr.cc @@ -141,6 +141,7 @@ void HandlerMgr::RegisterNetMsgHandlers() RegisterNetMsgHandler(&guild_msghandler, &Guild::_CMGuildRefuse); RegisterNetMsgHandler(&guild_msghandler, &Guild::_CMGuildKick); RegisterNetMsgHandler(&guild_msghandler, &Guild::_CMGuildQuit); + RegisterNetMsgHandler(&guild_msghandler, &Guild::_CMGuildDismiss); RegisterNetMsgHandler(&guild_msghandler, &Guild::_CMGuildChange); RegisterNetMsgHandler(&guild_msghandler, &Guild::_CMGuildMemberList); RegisterNetMsgHandler(&guild_msghandler, &Guild::_CMGuildApplyList); diff --git a/server/rankserver/guildmgr.cc b/server/rankserver/guildmgr.cc index 8308762..7c88d9b 100644 --- a/server/rankserver/guildmgr.cc +++ b/server/rankserver/guildmgr.cc @@ -362,6 +362,15 @@ void GuildMgr::__GuildSearch(f8::JsonHttpRequest* request) delete guild_list; } +void GuildMgr::__GuildDismiss(f8::JsonHttpRequest* request) +{ + if (!load_done_) { + request->resp_xobj->SetVal("errcode", 2); + request->resp_xobj->SetVal("errmsg", ""); + return; + } +} + void GuildMgr::__GuildUpdate(f8::JsonHttpRequest* request) { if (!load_done_) { diff --git a/server/rankserver/guildmgr.h b/server/rankserver/guildmgr.h index c29036c..d55ed87 100644 --- a/server/rankserver/guildmgr.h +++ b/server/rankserver/guildmgr.h @@ -21,6 +21,7 @@ class GuildMgr : public a8::Singleton void __GuildCreate(f8::JsonHttpRequest* request); void __GuildSearch(f8::JsonHttpRequest* request); + void __GuildDismiss(f8::JsonHttpRequest* request); void __GuildUpdate(f8::JsonHttpRequest* request); void __GuildRename(f8::JsonHttpRequest* request); void __GuildRank(f8::JsonHttpRequest* request); diff --git a/server/rankserver/handlermgr.cc b/server/rankserver/handlermgr.cc index 99c9030..0e6fce9 100644 --- a/server/rankserver/handlermgr.cc +++ b/server/rankserver/handlermgr.cc @@ -40,6 +40,11 @@ void HandlerMgr::Init() { GuildMgr::Instance()->__GuildSearch(request); }); + RegisterGMMsgHandler("Guild@dismiss", + [] (f8::JsonHttpRequest* request) + { + GuildMgr::Instance()->__GuildDismiss(request); + }); RegisterGMMsgHandler("Guild@update", [] (f8::JsonHttpRequest* request) { diff --git a/server/rankserver/metamgr.cc b/server/rankserver/metamgr.cc index b8f83a4..f566e88 100644 --- a/server/rankserver/metamgr.cc +++ b/server/rankserver/metamgr.cc @@ -176,5 +176,5 @@ std::string MetaMgr::ReplaceDirtyWord(const std::string& text, char c) std::string MetaMgr::GetText(const std::string& textid, const std::string& def_text) { auto itr = loader_->text_hash.find(textid); - return itr != loader_->text_hash.end() ? itr->second : def_text; + return itr != loader_->text_hash.end() ? itr->second : ""; }