1
This commit is contained in:
parent
4bec4b5b94
commit
6be4ee0941
@ -570,6 +570,7 @@ void Guild::_CMGuildDismiss(f8::MsgHdr& hdr, const cs::CMGuildDismiss& msg)
|
|||||||
|
|
||||||
void Guild::_CMGuildChange(f8::MsgHdr& hdr, const cs::CMGuildChange& 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;
|
ss::SS_IM_ForwardGuildCMMsg *forward_msg = (ss::SS_IM_ForwardGuildCMMsg*)hdr.user_data;
|
||||||
if ((!msg.has_guild_name() || msg.guild_name() == guild_name_) &&
|
if ((!msg.has_guild_name() || msg.guild_name() == guild_name_) &&
|
||||||
(!msg.has_guild_declaration() || msg.guild_declaration() == guild_declaration_)) {
|
(!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();
|
join_cond2_ = msg.join_cond2();
|
||||||
}
|
}
|
||||||
|
|
||||||
cs::SMGuildChange respmsg;
|
|
||||||
FillGuildBasic(respmsg.mutable_info());
|
FillGuildBasic(respmsg.mutable_info());
|
||||||
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
|
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
|
||||||
forward_msg->context(),
|
forward_msg->context(),
|
||||||
respmsg);
|
respmsg);
|
||||||
MarkDirty();
|
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;
|
ss::SS_IM_ForwardGuildCMMsg *forward_msg_copy = new ss::SS_IM_ForwardGuildCMMsg;
|
||||||
*forward_msg_copy = *forward_msg;
|
*forward_msg_copy = *forward_msg;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user