This commit is contained in:
aozhiwei 2020-10-13 16:32:09 +08:00
parent 4bec4b5b94
commit 6be4ee0941

View File

@ -570,6 +570,7 @@ void Guild::_CMGuildDismiss(f8::MsgHdr& hdr, const cs::CMGuildDismiss& msg)
void Guild::_CMGuildChange(f8::MsgHdr& hdr, const cs::CMGuildChange& msg)
{
cs::SMGuildChange respmsg;
ss::SS_IM_ForwardGuildCMMsg *forward_msg = (ss::SS_IM_ForwardGuildCMMsg*)hdr.user_data;
if ((!msg.has_guild_name() || msg.guild_name() == guild_name_) &&
(!msg.has_guild_declaration() || msg.guild_declaration() == guild_declaration_)) {
@ -592,13 +593,33 @@ void Guild::_CMGuildChange(f8::MsgHdr& hdr, const cs::CMGuildChange& msg)
join_cond2_ = msg.join_cond2();
}
cs::SMGuildChange respmsg;
FillGuildBasic(respmsg.mutable_info());
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
forward_msg->context(),
respmsg);
MarkDirty();
}
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,
forward_msg->context(),
respmsg);
return;
}
if (!(
GetMemberJob(sender->account_id) == kGuildOwner)
) {
SendErrorMsg(hdr.socket_handle, forward_msg->context(), "权限不够");
respmsg.set_errcode(3);
respmsg.set_errmsg("权限不够");
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
forward_msg->context(),
respmsg);
return;
}
ss::SS_IM_ForwardGuildCMMsg *forward_msg_copy = new ss::SS_IM_ForwardGuildCMMsg;
*forward_msg_copy = *forward_msg;