From 5cd02ae5868353a0d4022879a2303b3a86373db7 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 21 Sep 2020 18:58:42 +0800 Subject: [PATCH] 1 --- server/rankserver/guildmgr.cc | 12 ++++++++++++ server/rankserver/guildmgr.h | 3 +++ 2 files changed, 15 insertions(+) diff --git a/server/rankserver/guildmgr.cc b/server/rankserver/guildmgr.cc index 8120c83..98981bf 100644 --- a/server/rankserver/guildmgr.cc +++ b/server/rankserver/guildmgr.cc @@ -20,6 +20,12 @@ void GuildMgr::__GuildCreate(f8::JsonHttpRequest* request) { request->pending = true; long long guild_id = request->request.At("guild_id")->AsXValue(); + if (GetGuild(guild_id)) { + request->resp_xobj->SetVal("errcode", 1); + request->resp_xobj->SetVal("errmsg", "guild_id已经存在"); + return; + } + a8::XObject conn = DBEngine::Instance()->GetConnInfo(guild_id); DBEngine::Instance()->ExecAsyncQuery ( @@ -110,3 +116,9 @@ void GuildMgr::__GuildRank(f8::JsonHttpRequest* request) request->resp_xobj->SetVal("guild_list", *guild_list); delete guild_list; } + +cs::MFGuildBasic* GuildMgr::GetGuild(long long guild_id) +{ + auto itr = guild_hash_.find(guild_id); + return itr != guild_hash_.end() ? itr->second : nullptr; +} diff --git a/server/rankserver/guildmgr.h b/server/rankserver/guildmgr.h index 0fc0fc8..7decc99 100644 --- a/server/rankserver/guildmgr.h +++ b/server/rankserver/guildmgr.h @@ -19,6 +19,9 @@ class GuildMgr : public a8::Singleton void __GuildSearch(f8::JsonHttpRequest* request); void __GuildRank(f8::JsonHttpRequest* request); + private: + cs::MFGuildBasic* GetGuild(long long guild_id); + private: std::map guild_hash_; std::vector sorted_guild_list_;