This commit is contained in:
aozhiwei 2020-10-09 20:07:02 +08:00
commit 9b4066c15f
2 changed files with 14 additions and 2 deletions

View File

@ -312,8 +312,9 @@ void GuildMgr::__GuildRename(f8::JsonHttpRequest* request)
std::string guild_name = request->request.At("guild_name")->AsXValue().GetString();
std::string guild_declaration = request->request.At("guild_declaration")->AsXValue().GetString();
guild->set_guild_name(guild_name);
guild->set_guild_declaration(guild_declaration);
GuildMgr::Instance()->GuildRename(guild, guild_name);
guild->set_guild_name(guild_declaration);
{
std::string response;
request->resp_xobj->ToJsonStr(response);
@ -739,3 +740,13 @@ std::string GuildMgr::GenGuildName(int gameid, int channel, const std::string& r
std::string guild_name = a8::XValue(gameid).GetString() + NAME_MAGIC_SYMBOL + raw_name;
return guild_name;
}
void GuildMgr::GuildRename(cs::MFGuildBasic* guild, const std::string& new_name)
{
if (guild->guild_name() != new_name) {
std::string old_name = GenGuildName(guild->_gameid(), guild->_channel(), guild->guild_name());
name_hash_.erase(old_name);
guild->set_guild_name(new_name);
name_hash_[GenGuildName(guild->_gameid(), guild->_channel(), new_name)] = guild;
}
}

View File

@ -41,6 +41,7 @@ class GuildMgr : public a8::Singleton<GuildMgr>
bool CmpGuild(cs::MFGuildBasic* a, cs::MFGuildBasic* b);
void InstallSyncGuildTimer();
std::string GenGuildName(int gameid, int channel, const std::string& raw_name);
void GuildRename(cs::MFGuildBasic* guild, const std::string& new_name);
private:
a8::TimerAttacher timer_attacher_;