diff --git a/server/imserver/dbhelper.cc b/server/imserver/dbhelper.cc index 031578c..d167c84 100644 --- a/server/imserver/dbhelper.cc +++ b/server/imserver/dbhelper.cc @@ -211,7 +211,11 @@ void DBHelper::AddGuildApply(Guild* guild, const cs::MFUserInfo& user_info) void DBHelper::AddEvent(const std::string& sender_id, const std::string& target_id, const std::string& event_name, - const std::string& event_data) + const std::string& event_data, + const std::string& param1, + const std::string& param2, + const std::string& param3 + ) { auto on_ok = [] (a8::XParams& param, const f8::DataSet* data_set) diff --git a/server/imserver/dbhelper.h b/server/imserver/dbhelper.h index ea19cbd..2647e7a 100644 --- a/server/imserver/dbhelper.h +++ b/server/imserver/dbhelper.h @@ -42,7 +42,11 @@ class DBHelper : public a8::Singleton void AddEvent(const std::string& sender_id, const std::string& target_id, const std::string& event_name, - const std::string& event_data); + const std::string& event_data, + const std::string& param1 = "", + const std::string& param2 = "", + const std::string& param3 = "" + ); void SetEventStatus(long long idx, const std::string& target_id, int status); diff --git a/server/imserver/playermgr.cc b/server/imserver/playermgr.cc index acd3f6a..eb7f145 100644 --- a/server/imserver/playermgr.cc +++ b/server/imserver/playermgr.cc @@ -204,12 +204,18 @@ void PlayerMgr::_SS_IM_RandomUsersResponse(f8::MsgHdr& hdr, const ss::SS_IM_Rand void PlayerMgr::_SS_IM_GuildMemberQuitRequest(f8::MsgHdr& hdr, const ss::SS_IM_GuildMemberQuitRequest& msg) { + Player* hum = GetPlayerByAccountId(msg.target_id()); + if (hum) { + } } void PlayerMgr::_SS_IM_GuildMemberUpdateRequest(f8::MsgHdr& hdr, const ss::SS_IM_GuildMemberUpdateRequest& msg) { - + Player* hum = GetPlayerByAccountId(msg.target_id()); + if (hum) { + hum->UpdateGuildData(msg.guild_id(), msg.guild_job()); + } } void PlayerMgr::_SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUserInfo& msg) diff --git a/server/imserver/synchelper.cc b/server/imserver/synchelper.cc index 53ceaf7..32a30a9 100644 --- a/server/imserver/synchelper.cc +++ b/server/imserver/synchelper.cc @@ -239,7 +239,14 @@ void SyncHelper::SS_IM_FriendDeleteRequest_TimeOut(ss::SS_IM_FriendDeleteRequest void SyncHelper::SS_IM_GuildMemberQuitRequest_TimeOut(ss::SS_IM_GuildMemberQuitRequest* msg) { - + DBHelper::Instance()->AddEvent + ( + msg->sender_id(), + msg->target_id(), + EVENT_GUILD_DELETE, + "", + a8::XValue(msg->reason()) + ); } void SyncHelper::SS_IM_GuildMemberUpdateRequest_TimeOut(ss::SS_IM_GuildMemberUpdateRequest* msg) diff --git a/server/tools/protobuild/ss_proto.proto b/server/tools/protobuild/ss_proto.proto index 16b88df..0cbc2fb 100755 --- a/server/tools/protobuild/ss_proto.proto +++ b/server/tools/protobuild/ss_proto.proto @@ -346,6 +346,7 @@ message SS_IM_GuildMemberUpdateRequest optional string sender_id = 3; optional string target_id = 4; optional int32 reason = 5; + optional int32 guild_job = 6; } message SS_IM_GuildMemberUpdateResponse