diff --git a/server/imserver/guild.cc b/server/imserver/guild.cc index cca13cf..4015f4a 100644 --- a/server/imserver/guild.cc +++ b/server/imserver/guild.cc @@ -178,20 +178,18 @@ void Guild::_CMGuildAgree(f8::MsgHdr& hdr, const cs::CMGuildAgree& msg) GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle, forward_msg->context(), respmsg); - if (respmsg.errcode() == 0 && - !GetMember(forward_msg->context().user_info().base_data().account_id())) { - GuildMember* member = new GuildMember(); - TypeConvert::Convert(forward_msg->context().user_info().base_data(), *member); - AddMember(member); - DBHelper::Instance()->SetGuildApplyStatus - ( - msg.apply().base_data().account_id(), - guild_id, - 1 - ); - ClearApplyBySenderId(msg.apply().base_data().account_id()); - } + GuildMember* member = new GuildMember(); + TypeConvert::Convert(forward_msg->context().user_info().base_data(), *member); + AddMember(member); + + DBHelper::Instance()->SetGuildApplyStatus + ( + msg.apply().base_data().account_id(), + guild_id, + 1 + ); + ClearApplyBySenderId(msg.apply().base_data().account_id()); } void Guild::_CMGuildKick(f8::MsgHdr& hdr, const cs::CMGuildKick& msg)