From 44898d2cee4b848d08ddc91ae84be895025e5dc0 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 27 Sep 2020 13:50:39 +0800 Subject: [PATCH] 1 --- server/imserver/guild.cc | 15 +++++++++++++++ server/imserver/guild.h | 1 + 2 files changed, 16 insertions(+) diff --git a/server/imserver/guild.cc b/server/imserver/guild.cc index d33bec5..4264bdc 100644 --- a/server/imserver/guild.cc +++ b/server/imserver/guild.cc @@ -175,6 +175,7 @@ void Guild::_CMGuildAgree(f8::MsgHdr& hdr, const cs::CMGuildAgree& msg) return; } if (IsFull()) { + SendErrorMsg(hdr.socket_handle, forward_msg->context(), "公会人数已达上限"); respmsg.set_errcode(1); respmsg.set_errmsg("公会人数已达上限"); GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle, @@ -184,6 +185,7 @@ void Guild::_CMGuildAgree(f8::MsgHdr& hdr, const cs::CMGuildAgree& msg) } GuildMember* sender = GetMember(forward_msg->context().user_info().base_data().account_id()); if (!sender) { + SendErrorMsg(hdr.socket_handle, forward_msg->context(), "服务器内部错误"); respmsg.set_errcode(2); respmsg.set_errmsg("服务器内部错误"); GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle, @@ -192,6 +194,7 @@ void Guild::_CMGuildAgree(f8::MsgHdr& hdr, const cs::CMGuildAgree& msg) return; } if (!(sender->guild_job == kGuildOwner || sender->guild_job == kGuildAdmin)) { + SendErrorMsg(hdr.socket_handle, forward_msg->context(), "权限不够"); respmsg.set_errcode(3); respmsg.set_errmsg("权限不够"); GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle, @@ -223,6 +226,7 @@ void Guild::_CMGuildKick(f8::MsgHdr& hdr, const cs::CMGuildKick& msg) cs::SMGuildKick respmsg; GuildMember* sender = GetMember(forward_msg->context().user_info().base_data().account_id()); if (!sender) { + SendErrorMsg(hdr.socket_handle, forward_msg->context(), "服务器内部错误"); respmsg.set_errcode(2); respmsg.set_errmsg("服务器内部错误"); GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle, @@ -231,6 +235,7 @@ void Guild::_CMGuildKick(f8::MsgHdr& hdr, const cs::CMGuildKick& msg) return; } if (!(sender->guild_job == kGuildOwner || sender->guild_job == kGuildAdmin)) { + SendErrorMsg(hdr.socket_handle, forward_msg->context(), "权限不够"); respmsg.set_errcode(3); respmsg.set_errmsg("权限不够"); GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle, @@ -280,6 +285,7 @@ void Guild::_CMGuildDismiss(f8::MsgHdr& hdr, const cs::CMGuildDismiss& msg) GuildMember* sender = GetMember(forward_msg->context().user_info().base_data().account_id()); if (sender) { if (sender->guild_job != kGuildOwner) { + SendErrorMsg(hdr.socket_handle, forward_msg->context(), "权限不够"); respmsg.set_errcode(3); respmsg.set_errmsg("权限不够"); GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle, @@ -670,3 +676,12 @@ Guild* Guild::CreateGuild(int gameid, guild->Deserialize(guild_data, guild_log); return guild; } + +void Guild::SendErrorMsg(int socket_handle, const ss::MFIMMsgConext& context, const std::string& errmsg) +{ + cs::SMShowErrorMsg notifymsg; + notifymsg.set_msg(errmsg); + GuildMgr::Instance()->ForwardGuildSMMsg(socket_handle, + context, + notifymsg); +} diff --git a/server/imserver/guild.h b/server/imserver/guild.h index 602b839..277c987 100644 --- a/server/imserver/guild.h +++ b/server/imserver/guild.h @@ -48,6 +48,7 @@ private: void ClearApplyBySenderId(const std::string& sender_id); void ClearApplyByIdx(long long idx); void Deserialize(const std::string& guild_data, const std::string& guild_log); + void SendErrorMsg(int sokcet_handle, const ss::MFIMMsgConext& context, const std::string& errmsg); private: bool dirty_ = false;