This commit is contained in:
aozhiwei 2022-11-28 13:57:49 +08:00
parent 277f2efbbd
commit 3bcf25f87f
2 changed files with 43 additions and 2 deletions

View File

@ -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)

View File

@ -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),