From 3ebe574ed856b70fe9cf8ec64839ea6e26a0a904 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 25 Sep 2020 17:20:08 +0800 Subject: [PATCH] 1 --- server/imserver/guild.cc | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/server/imserver/guild.cc b/server/imserver/guild.cc index 8286cc6..6c7ae51 100644 --- a/server/imserver/guild.cc +++ b/server/imserver/guild.cc @@ -250,24 +250,33 @@ void Guild::_CMGuildQuit(f8::MsgHdr& hdr, const cs::CMGuildQuit& msg) respmsg); GuildMember* sender = GetMember(forward_msg->context().user_info().base_data().account_id()); if (sender) { + if (sender->guild_job != kGuildOwner) { + RemoveMember(sender->account_id, + sender->account_id, + kGuildQuit); + } } } void Guild::_CMGuildDismiss(f8::MsgHdr& hdr, const cs::CMGuildDismiss& msg) { + ss::SS_IM_ForwardGuildCMMsg *forward_msg = (ss::SS_IM_ForwardGuildCMMsg*)hdr.user_data; + cs::SMGuildDismiss respmsg; - #if 0 - GuildMember* member = GetMember(context.user_info().base_data().account_id()); - if (!member) { - return; + GuildMember* sender = GetMember(forward_msg->context().user_info().base_data().account_id()); + if (sender) { + if (sender->guild_job != kGuildOwner) { + respmsg.set_errcode(3); + respmsg.set_errmsg("ζƒι™δΈε€Ÿ"); + GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle, + forward_msg->context(), + respmsg); + return; + } } - if (member->guild_job != kGuildOwner) { - return; - } - guild_status = kGuildDismissed; - SaveToDB(); - GuildMgr::Instance()->ForwardGuildSMMsg(socket_handle, context, respmsg); - #endif + GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle, + forward_msg->context(), + respmsg); } void Guild::_CMGuildRename(f8::MsgHdr& hdr, const cs::CMGuildRename& msg)