1
This commit is contained in:
parent
c8dbdbe5d6
commit
8d04dbde9e
@ -10,6 +10,8 @@
|
|||||||
#include "IMConn.h"
|
#include "IMConn.h"
|
||||||
#include "IMConnMgr.h"
|
#include "IMConnMgr.h"
|
||||||
#include "dbhelper.h"
|
#include "dbhelper.h"
|
||||||
|
#include "guild.h"
|
||||||
|
#include "guildmgr.h"
|
||||||
|
|
||||||
#include "cs_proto.pb.h"
|
#include "cs_proto.pb.h"
|
||||||
#include "ss_proto.pb.h"
|
#include "ss_proto.pb.h"
|
||||||
@ -107,7 +109,34 @@ void SyncHelper::SyncGuildMemberQuit(Guild* guild,
|
|||||||
const std::string& target_id,
|
const std::string& target_id,
|
||||||
int reason)
|
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)
|
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)
|
void SyncHelper::SendIMConnMsg(int instance_id, int msgid, const ::google::protobuf::Message& msg)
|
||||||
{
|
{
|
||||||
if (instance_id == App::Instance()->instance_id) {
|
if (instance_id == App::Instance()->instance_id) {
|
||||||
|
@ -8,6 +8,8 @@ namespace ss
|
|||||||
class SS_IM_FriendAgreeResponse;
|
class SS_IM_FriendAgreeResponse;
|
||||||
class SS_IM_FriendDeleteRequest;
|
class SS_IM_FriendDeleteRequest;
|
||||||
class SS_IM_FriendDeleteResponse;
|
class SS_IM_FriendDeleteResponse;
|
||||||
|
class SS_IM_GuildMemberQuitRequest;
|
||||||
|
class SS_IM_GuildMemberUpdateRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
class Guild;
|
class Guild;
|
||||||
@ -49,6 +51,8 @@ private:
|
|||||||
void RemovePendingRequest(long long seqid);
|
void RemovePendingRequest(long long seqid);
|
||||||
void SS_IM_FriendAgreeRequest_TimeOut(ss::SS_IM_FriendAgreeRequest* msg);
|
void SS_IM_FriendAgreeRequest_TimeOut(ss::SS_IM_FriendAgreeRequest* msg);
|
||||||
void SS_IM_FriendDeleteRequest_TimeOut(ss::SS_IM_FriendDeleteRequest* 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:
|
public:
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
@ -43,4 +43,8 @@ enum SSMessageId_e
|
|||||||
_SS_IM_RandomUsersResponse = 1026;
|
_SS_IM_RandomUsersResponse = 1026;
|
||||||
_SS_IM_ForwardGuildCMMsg = 1027;
|
_SS_IM_ForwardGuildCMMsg = 1027;
|
||||||
_SS_IM_ForwardGuildSMMsg = 1028;
|
_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;
|
optional MFIMMsgConext context = 1;
|
||||||
repeated cs.MFUserInfo user_infos = 2;
|
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