This commit is contained in:
aozhiwei 2020-07-01 15:34:12 +08:00
parent 9916740715
commit 3840d68f21
8 changed files with 33 additions and 12 deletions

View File

@ -108,24 +108,18 @@ void AsyncTaskMgr::CreateRecommandFriendTask(Player* hum)
{
RecommandFriendTask* task = new RecommandFriendTask();
{
#if 0
ss::SS_IM_QueryUserOnlineState msg;
ss::SS_IM_RandomUsersRequest msg;
hum->FillIMMsgConext(msg.mutable_context());
for (auto& account_id : account_ids) {
msg.add_account_ids(account_id);
for (auto& account_id : hum->exclude_account_ids) {
msg.add_exclude_account_ids(account_id);
}
hum->SendSSMsg(hum->myself, msg);
for (auto& account_id : account_ids) {
task->users[account_id] = false;
}
FillAsyncTaskContext(hum, &task->context, msg.context().seqid());
#endif
recommand_friend_tasks_[task->context.seqid] = task;
}
a8::Timer::Instance()->AddDeadLineTimer
(
200,
500,
a8::XParams()
.SetSender(task),
[] (const a8::XParams& param)
@ -154,6 +148,11 @@ void AsyncTaskMgr::_SS_IM_PushUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_P
}
}
void AsyncTaskMgr::_SS_IM_RandomUsersResponse(f8::MsgHdr& hdr, const ss::SS_IM_RandomUsersResponse& msg)
{
}
QueryUserStatusTask* AsyncTaskMgr::GetQueryUserStatusTask(long long seqid)
{
auto itr = query_user_status_tasks_.find(seqid);

View File

@ -3,6 +3,7 @@
namespace ss
{
class SS_IM_PushUserOnlineState;
class SS_IM_RandomUsersResponse;
}
struct QueryUserStatusTask;
@ -23,6 +24,7 @@ public:
void CreateRecommandFriendTask(Player* hum);
void _SS_IM_PushUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_PushUserOnlineState& msg);
void _SS_IM_RandomUsersResponse(f8::MsgHdr& hdr, const ss::SS_IM_RandomUsersResponse& msg);
private:
QueryUserStatusTask* GetQueryUserStatusTask(long long seqid);

View File

@ -41,6 +41,7 @@ void HandlerMgr::RegisterNetMsgHandlers()
RegisterNetMsgHandler(&immsghandler, &SyncHelper::_SS_IM_FriendAgreeResponse);
RegisterNetMsgHandler(&immsghandler, &SyncHelper::_SS_IM_FriendDeleteResponse);
RegisterNetMsgHandler(&immsghandler, &PlayerMgr::_SS_IM_PushUserOnlineState);
RegisterNetMsgHandler(&immsghandler, &PlayerMgr::_SS_IM_RandomUsersResponse);
RegisterNetMsgHandler(&mscmsghandler, &PlayerMgr::_SS_MS_PushUserList);
RegisterNetMsgHandler(&mscmsghandler, &GroupMgr::_SS_MS_LoadGroup);
@ -58,7 +59,7 @@ void HandlerMgr::RegisterNetMsgHandlers()
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_OnUserOnline);
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_OnUserOffline);
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_QueryUserOnlineState);
RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_RandomUsersRequest);
RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping);

View File

@ -20,6 +20,7 @@ class Player
RoleData role_data;
long ip_saddr = 0;
int account_registertime = 0;
std::set<std::string> exclude_account_ids;
public:
void Init();

View File

@ -141,6 +141,16 @@ void PlayerMgr::_SS_IM_PushUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_Push
}
}
void PlayerMgr::_SS_IM_RandomUsersRequest(f8::MsgHdr& hdr, const ss::SS_IM_RandomUsersRequest& msg)
{
}
void PlayerMgr::_SS_IM_RandomUsersResponse(f8::MsgHdr& hdr, const ss::SS_IM_RandomUsersResponse& msg)
{
AsyncTaskMgr::Instance()->_SS_IM_RandomUsersResponse(hdr, msg);
}
void PlayerMgr::_SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUserInfo& msg)
{
auto itr = watch_players_.find(msg.user_info().base_data().account_id());

View File

@ -19,6 +19,8 @@ namespace ss
class SS_IM_OnUserOffline;
class SS_IM_QueryUserOnlineState;
class SS_IM_PushUserOnlineState;
class SS_IM_RandomUsersRequest;
class SS_IM_RandomUsersResponse;
}
class Player;
@ -46,6 +48,8 @@ class PlayerMgr : public a8::Singleton<PlayerMgr>
void _SS_IM_OnUserOffline(f8::MsgHdr& hdr, const ss::SS_IM_OnUserOffline& msg);
void _SS_IM_QueryUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_QueryUserOnlineState& msg);
void _SS_IM_PushUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_PushUserOnlineState& msg);
void _SS_IM_RandomUsersRequest(f8::MsgHdr& hdr, const ss::SS_IM_RandomUsersRequest& msg);
void _SS_IM_RandomUsersResponse(f8::MsgHdr& hdr, const ss::SS_IM_RandomUsersResponse& msg);
void _SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUserInfo& msg);

View File

@ -39,4 +39,6 @@ enum SSMessageId_e
_SS_IM_PushUserOnlineState = 1022;
_SS_IM_OnUserOnline = 1023;
_SS_IM_OnUserOffline = 1024;
_SS_IM_RandomUsersRequest = 1025;
_SS_IM_RandomUsersResponse = 1026;
}

View File

@ -261,10 +261,12 @@ message SS_IM_OnUserOffline
message SS_IM_RandomUsersRequest
{
optional MFIMMsgConext context = 1;
repeated string exclude_account_ids = 3;
}
message SS_IM_RandomUsersResponse
{
repeated string exclude_account_ids = 3;
optional MFIMMsgConext context = 1;
repeated cs.MFUserInfo user_infos = 2;
}