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;
|
||||
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)
|
||||
|
@ -287,9 +287,10 @@ void GuildMgr::LoadGuild(long long guild_id)
|
||||
" join_unlimited, join_cond1, join_cond2, createtime, channel, "
|
||||
" owner_vip_lv, owner_head, creator_vip_lv, creator_head, "
|
||||
" 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()
|
||||
.SetSender(guild_id),
|
||||
|
Loading…
x
Reference in New Issue
Block a user