From 300775a42b3e005734f69e8c3c1e3070a25dc618 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 9 Oct 2020 16:10:36 +0800 Subject: [PATCH] 1 --- server/rankserver/guildmgr.cc | 43 +++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/server/rankserver/guildmgr.cc b/server/rankserver/guildmgr.cc index 2c896ad..6ae6e14 100644 --- a/server/rankserver/guildmgr.cc +++ b/server/rankserver/guildmgr.cc @@ -242,7 +242,50 @@ void GuildMgr::__GuildUpdate(f8::JsonHttpRequest* request) void GuildMgr::__GuildRename(f8::JsonHttpRequest* request) { + if (!load_done_) { + request->resp_xobj->SetVal("errcode", 2); + request->resp_xobj->SetVal("errmsg", "服务器内部错误"); + return; + } + request->resp_xobj->SetVal("errcode", 0); + request->resp_xobj->SetVal("errmsg", ""); + long long guild_id = request->request.At("guild_id")->AsXValue(); + std::string guild_name = request->request.At("guild_name")->AsXValue().GetString(); + std::string guild_declaration = request->request.At("guild_declaration")->AsXValue().GetString(); + cs::MFGuildBasic* guild = GetGuildById(guild_id); + if (!guild) { + request->resp_xobj->SetVal("errcode", 1); + request->resp_xobj->SetVal("errmsg", "服务器内部错误"); + return; + } + if (guild->guild_declaration() != guild_declaration) { + if (MetaMgr::Instance()->HasDirtyWord(guild_declaration)) { + request->resp_xobj->SetVal("errcode", 1); + request->resp_xobj->SetVal("errmsg", "公会宣言含有违禁字符"); + return; + } + } + + if (guild->guild_name() == guild_name) { + guild->set_guild_declaration(guild_declaration); + return; + } + if (guild_name.empty()) { + request->resp_xobj->SetVal("errcode", 1); + request->resp_xobj->SetVal("errmsg", "公会名不能为空"); + return; + } + if (GetGuildByName(guild->_gameid(), guild->_channel(), guild_name)) { + request->resp_xobj->SetVal("errcode", 1); + request->resp_xobj->SetVal("errmsg", "公会名已经存在"); + return; + } + if (MetaMgr::Instance()->HasDirtyWord(guild_name)) { + request->resp_xobj->SetVal("errcode", 1); + request->resp_xobj->SetVal("errmsg", "公会名含有违禁字符"); + return; + } } void GuildMgr::__GuildRank(f8::JsonHttpRequest* request)