diff --git a/server/imserver/guild.cc b/server/imserver/guild.cc index 372754c..a559a25 100644 --- a/server/imserver/guild.cc +++ b/server/imserver/guild.cc @@ -11,6 +11,7 @@ #include "guildmgr.h" #include "typeconvert.h" #include "utils.h" +#include "dbhelper.h" const int GUILD_MAX_MEMBER_NUM = 50; @@ -118,14 +119,19 @@ void Guild::_CMGuildInfo(f8::MsgHdr& hdr, const cs::CMGuildInfo& msg) void Guild::_CMGuildJoin(f8::MsgHdr& hdr, const cs::CMGuildJoin& msg) { + ss::SS_IM_ForwardGuildCMMsg *forward_msg = (ss::SS_IM_ForwardGuildCMMsg*)hdr.user_data; + cs::SMGuildJoin respmsg; - #if 0 - GuildMgr::Instance()->ForwardGuildSMMsg(socket_handle, context, respmsg); - #endif + GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle, + forward_msg->context(), + respmsg); + DBHelper::Instance()->AddGuildApply(this, forward_msg->context().user_info()); } void Guild::_CMGuildAgree(f8::MsgHdr& hdr, const cs::CMGuildAgree& msg) { + ss::SS_IM_ForwardGuildCMMsg *forward_msg = (ss::SS_IM_ForwardGuildCMMsg*)hdr.user_data; + cs::SMGuildAgree respmsg; #if 0 GuildMgr::Instance()->ForwardGuildSMMsg(socket_handle, context, respmsg);