1
This commit is contained in:
parent
c8dbdbe5d6
commit
8d04dbde9e
@ -10,6 +10,8 @@
|
||||
#include "IMConn.h"
|
||||
#include "IMConnMgr.h"
|
||||
#include "dbhelper.h"
|
||||
#include "guild.h"
|
||||
#include "guildmgr.h"
|
||||
|
||||
#include "cs_proto.pb.h"
|
||||
#include "ss_proto.pb.h"
|
||||
@ -107,7 +109,34 @@ void SyncHelper::SyncGuildMemberQuit(Guild* guild,
|
||||
const std::string& target_id,
|
||||
int reason)
|
||||
{
|
||||
|
||||
ss::SS_IM_GuildMemberQuitRequest* notifymsg = new ss::SS_IM_GuildMemberQuitRequest;
|
||||
notifymsg->set_seqid(App::Instance()->NewUUID());
|
||||
notifymsg->set_guild_id(guild->GuildId());
|
||||
notifymsg->set_sender_id(sender_id);
|
||||
notifymsg->set_target_id(target_id);
|
||||
notifymsg->set_reason(reason);
|
||||
BroadcastIMConnMsg(*notifymsg);
|
||||
pending_request_hash_[notifymsg->seqid()] =
|
||||
a8::Timer::Instance()->AddDeadLineTimer
|
||||
(
|
||||
1000 * 10,
|
||||
a8::XParams()
|
||||
.SetSender(notifymsg)
|
||||
.SetParam1(notifymsg->seqid()),
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
ss::SS_IM_GuildMemberQuitRequest* notifymsg =
|
||||
(ss::SS_IM_GuildMemberQuitRequest*)param.sender.GetUserData();
|
||||
SyncHelper::Instance()->SS_IM_GuildMemberQuitRequest_TimeOut(notifymsg);
|
||||
},
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
ss::SS_IM_GuildMemberQuitRequest* notifymsg =
|
||||
(ss::SS_IM_GuildMemberQuitRequest*)param.sender.GetUserData();
|
||||
delete notifymsg;
|
||||
SyncHelper::Instance()->RemovePendingRequest(param.param1);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
void SyncHelper::BroadcastIMConnMsg(int msgid, ::google::protobuf::Message& msg)
|
||||
@ -190,6 +219,16 @@ void SyncHelper::SS_IM_FriendDeleteRequest_TimeOut(ss::SS_IM_FriendDeleteRequest
|
||||
);
|
||||
}
|
||||
|
||||
void SyncHelper::SS_IM_GuildMemberQuitRequest_TimeOut(ss::SS_IM_GuildMemberQuitRequest* msg)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void SyncHelper::SS_IM_GuildMemberUpdateRequest_TimeOut(ss::SS_IM_GuildMemberUpdateRequest* msg)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void SyncHelper::SendIMConnMsg(int instance_id, int msgid, const ::google::protobuf::Message& msg)
|
||||
{
|
||||
if (instance_id == App::Instance()->instance_id) {
|
||||
|
@ -8,6 +8,8 @@ namespace ss
|
||||
class SS_IM_FriendAgreeResponse;
|
||||
class SS_IM_FriendDeleteRequest;
|
||||
class SS_IM_FriendDeleteResponse;
|
||||
class SS_IM_GuildMemberQuitRequest;
|
||||
class SS_IM_GuildMemberUpdateRequest;
|
||||
}
|
||||
|
||||
class Guild;
|
||||
@ -49,6 +51,8 @@ private:
|
||||
void RemovePendingRequest(long long seqid);
|
||||
void SS_IM_FriendAgreeRequest_TimeOut(ss::SS_IM_FriendAgreeRequest* msg);
|
||||
void SS_IM_FriendDeleteRequest_TimeOut(ss::SS_IM_FriendDeleteRequest* msg);
|
||||
void SS_IM_GuildMemberQuitRequest_TimeOut(ss::SS_IM_GuildMemberQuitRequest* msg);
|
||||
void SS_IM_GuildMemberUpdateRequest_TimeOut(ss::SS_IM_GuildMemberUpdateRequest* msg);
|
||||
|
||||
public:
|
||||
template <typename T>
|
||||
|
@ -43,4 +43,8 @@ enum SSMessageId_e
|
||||
_SS_IM_RandomUsersResponse = 1026;
|
||||
_SS_IM_ForwardGuildCMMsg = 1027;
|
||||
_SS_IM_ForwardGuildSMMsg = 1028;
|
||||
_SS_IM_GuildMemberQuitRequest = 1031;
|
||||
_SS_IM_GuildMemberQuitResponsea = 1032;
|
||||
_SS_IM_GuildMemberUpdateRequest = 1033;
|
||||
_SS_IM_GuildMemberUpdateResponse = 1034;
|
||||
}
|
||||
|
@ -324,3 +324,38 @@ message SS_IM_RandomUsersResponse
|
||||
optional MFIMMsgConext context = 1;
|
||||
repeated cs.MFUserInfo user_infos = 2;
|
||||
}
|
||||
|
||||
message SS_IM_GuildMemberQuitRequest
|
||||
{
|
||||
optional int64 seqid = 1;
|
||||
optional int64 guild_id = 2;
|
||||
optional string sender_id = 3;
|
||||
optional string target_id = 4;
|
||||
optional int32 reason = 5;
|
||||
}
|
||||
|
||||
message SS_IM_GuildMemberQuitResponse
|
||||
{
|
||||
optional int64 seqid = 1;
|
||||
optional int64 guild_id = 2;
|
||||
optional string sender_id = 3;
|
||||
optional string target_id = 4;
|
||||
optional int32 reason = 5;
|
||||
}
|
||||
|
||||
message SS_IM_GuildMemberUpdateRequest
|
||||
{
|
||||
optional int64 seqid = 1;
|
||||
optional int64 guild_id = 2;
|
||||
optional string sender_id = 3;
|
||||
optional string target_id = 4;
|
||||
optional int32 reason = 5;
|
||||
}
|
||||
|
||||
message SS_IM_GuildMemberUpdateResponse
|
||||
{
|
||||
optional int64 seqid = 1;
|
||||
optional int64 guild_id = 2;
|
||||
optional string target_id = 4;
|
||||
optional int32 reason = 5;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user