This commit is contained in:
aozhiwei 2020-09-27 13:50:39 +08:00
parent b77fb89fa4
commit 44898d2cee
2 changed files with 16 additions and 0 deletions

View File

@ -175,6 +175,7 @@ void Guild::_CMGuildAgree(f8::MsgHdr& hdr, const cs::CMGuildAgree& msg)
return;
}
if (IsFull()) {
SendErrorMsg(hdr.socket_handle, forward_msg->context(), "公会人数已达上限");
respmsg.set_errcode(1);
respmsg.set_errmsg("公会人数已达上限");
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
@ -184,6 +185,7 @@ void Guild::_CMGuildAgree(f8::MsgHdr& hdr, const cs::CMGuildAgree& msg)
}
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,
@ -192,6 +194,7 @@ void Guild::_CMGuildAgree(f8::MsgHdr& hdr, const cs::CMGuildAgree& msg)
return;
}
if (!(sender->guild_job == kGuildOwner || sender->guild_job == kGuildAdmin)) {
SendErrorMsg(hdr.socket_handle, forward_msg->context(), "权限不够");
respmsg.set_errcode(3);
respmsg.set_errmsg("权限不够");
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
@ -223,6 +226,7 @@ void Guild::_CMGuildKick(f8::MsgHdr& hdr, const cs::CMGuildKick& msg)
cs::SMGuildKick respmsg;
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,
@ -231,6 +235,7 @@ void Guild::_CMGuildKick(f8::MsgHdr& hdr, const cs::CMGuildKick& msg)
return;
}
if (!(sender->guild_job == kGuildOwner || sender->guild_job == kGuildAdmin)) {
SendErrorMsg(hdr.socket_handle, forward_msg->context(), "权限不够");
respmsg.set_errcode(3);
respmsg.set_errmsg("权限不够");
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
@ -280,6 +285,7 @@ void Guild::_CMGuildDismiss(f8::MsgHdr& hdr, const cs::CMGuildDismiss& msg)
GuildMember* sender = GetMember(forward_msg->context().user_info().base_data().account_id());
if (sender) {
if (sender->guild_job != kGuildOwner) {
SendErrorMsg(hdr.socket_handle, forward_msg->context(), "权限不够");
respmsg.set_errcode(3);
respmsg.set_errmsg("权限不够");
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
@ -670,3 +676,12 @@ Guild* Guild::CreateGuild(int gameid,
guild->Deserialize(guild_data, guild_log);
return guild;
}
void Guild::SendErrorMsg(int socket_handle, const ss::MFIMMsgConext& context, const std::string& errmsg)
{
cs::SMShowErrorMsg notifymsg;
notifymsg.set_msg(errmsg);
GuildMgr::Instance()->ForwardGuildSMMsg(socket_handle,
context,
notifymsg);
}

View File

@ -48,6 +48,7 @@ private:
void ClearApplyBySenderId(const std::string& sender_id);
void ClearApplyByIdx(long long idx);
void Deserialize(const std::string& guild_data, const std::string& guild_log);
void SendErrorMsg(int sokcet_handle, const ss::MFIMMsgConext& context, const std::string& errmsg);
private:
bool dirty_ = false;