1
This commit is contained in:
parent
277f2efbbd
commit
3bcf25f87f
@ -649,6 +649,46 @@ void Guild::_CMGuildDismiss(f8::MsgHdr& hdr, const cs::CMGuildDismiss& msg)
|
|||||||
cs::SMGuildDismiss respmsg;
|
cs::SMGuildDismiss 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(), TEXT("server_internal_error", "server internal error"));
|
||||||
|
respmsg.set_errcode(2);
|
||||||
|
respmsg.set_errmsg(TEXT("server_internal_error", "server internal error"));
|
||||||
|
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
|
||||||
|
forward_msg->context(),
|
||||||
|
respmsg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(
|
||||||
|
GetMemberJob(sender->account_id) == kGuildOwner
|
||||||
|
)) {
|
||||||
|
SendErrorMsg(hdr.socket_handle, forward_msg->context(), TEXT("permission_denied", "permission denied"));
|
||||||
|
respmsg.set_errcode(3);
|
||||||
|
respmsg.set_errmsg(TEXT("permission_denied", "permission denied"));
|
||||||
|
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
|
||||||
|
forward_msg->context(),
|
||||||
|
respmsg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
TraverseMember
|
||||||
|
(
|
||||||
|
[this] (GuildMember* member)
|
||||||
|
{
|
||||||
|
SyncHelper::Instance()->SyncGuildMemberQuit
|
||||||
|
(this,
|
||||||
|
member->account_id,
|
||||||
|
member->account_id,
|
||||||
|
kGuildDismisss);
|
||||||
|
});
|
||||||
|
|
||||||
|
guild_status_ = kGuildDismissed;
|
||||||
|
SaveToDB();
|
||||||
|
|
||||||
|
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
|
||||||
|
forward_msg->context(),
|
||||||
|
respmsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Guild::_CMGuildChange(f8::MsgHdr& hdr, const cs::CMGuildChange& msg)
|
void Guild::_CMGuildChange(f8::MsgHdr& hdr, const cs::CMGuildChange& msg)
|
||||||
|
@ -287,9 +287,10 @@ void GuildMgr::LoadGuild(long long guild_id)
|
|||||||
" join_unlimited, join_cond1, join_cond2, createtime, channel, "
|
" join_unlimited, join_cond1, join_cond2, createtime, channel, "
|
||||||
" owner_vip_lv, owner_head, creator_vip_lv, creator_head, "
|
" owner_vip_lv, owner_head, creator_vip_lv, creator_head, "
|
||||||
" owner_sex, creator_sex "
|
" owner_sex, creator_sex "
|
||||||
"FROM `guild` WHERE guild_id=%d;",
|
"FROM `guild` WHERE guild_id=%d AND guild_status <> %d;",
|
||||||
{
|
{
|
||||||
guild_id
|
guild_id,
|
||||||
|
kGuildDismissed
|
||||||
},
|
},
|
||||||
a8::XParams()
|
a8::XParams()
|
||||||
.SetSender(guild_id),
|
.SetSender(guild_id),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user