1
This commit is contained in:
parent
8ac9b19145
commit
2e78b16d4d
@ -576,17 +576,35 @@ void Guild::_CMGuildChange(f8::MsgHdr& hdr, const cs::CMGuildChange& msg)
|
|||||||
{
|
{
|
||||||
cs::SMGuildChange respmsg;
|
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;
|
||||||
|
|
||||||
|
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 ||
|
||||||
|
GetMemberJob(sender->account_id) == kGuildAdmin
|
||||||
|
)) {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
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_)) {
|
||||||
if (msg.has_guild_name()) {
|
|
||||||
guild_name_ = msg.guild_name();
|
|
||||||
}
|
|
||||||
if (msg.has_guild_badge()) {
|
if (msg.has_guild_badge()) {
|
||||||
guild_badge_ = msg.guild_badge();
|
guild_badge_ = msg.guild_badge();
|
||||||
}
|
}
|
||||||
if (msg.has_guild_declaration()) {
|
|
||||||
guild_declaration_ = msg.guild_declaration();
|
|
||||||
}
|
|
||||||
if (msg.has_join_unlimited()) {
|
if (msg.has_join_unlimited()) {
|
||||||
join_unlimited_ = msg.join_unlimited();
|
join_unlimited_ = msg.join_unlimited();
|
||||||
}
|
}
|
||||||
@ -602,26 +620,6 @@ void Guild::_CMGuildChange(f8::MsgHdr& hdr, const cs::CMGuildChange& msg)
|
|||||||
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user