From 67ce877009b25036586d292d42c18ad05bb3038a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 15 Jun 2020 19:56:31 +0800 Subject: [PATCH] 1 --- server/imserver/player.cc | 3 +++ server/imserver/playermgr.cc | 20 ++++++++++++++++++-- server/imserver/typeconvert.h | 3 ++- server/tools/protobuild/ss_proto.proto | 14 ++++++++------ 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/server/imserver/player.cc b/server/imserver/player.cc index e48b1b9..f7221fa 100644 --- a/server/imserver/player.cc +++ b/server/imserver/player.cc @@ -624,5 +624,8 @@ void Player::InternalUpdateUserInfo() void Player::NotifyUserInfoUpdate(Friend* friend_data) { cs::SMUserInfoUpdate msg; + auto p = msg.add_user_infos(); + TypeConvert::Convert(friend_data->base_data, *p->mutable_base_data()); + TypeConvert::Convert(friend_data->temp_custom_data, *p->mutable_temp_custom_data()); SendMsg(msg); } diff --git a/server/imserver/playermgr.cc b/server/imserver/playermgr.cc index 6e85d3b..2b521d3 100644 --- a/server/imserver/playermgr.cc +++ b/server/imserver/playermgr.cc @@ -32,12 +32,28 @@ void PlayerMgr::_SS_MS_PushUserList(f8::MsgHdr& hdr, const ss::SS_MS_PushUserLis void PlayerMgr::_SS_IM_SendChatMsg(f8::MsgHdr& hdr, const ss::SS_IM_SendChatMsg& msg) { - + Player* hum = GetPlayerByAccountId(msg.target()); + if (hum) { + cs::SMChatMsgNotify notifymsg; + notifymsg.set_sender(msg.context().account_id()); + notifymsg.set_chat_channel(msg.chat_channel()); + notifymsg.set_msg(msg.msg()); + hum->SendMsg(notifymsg); + } } void PlayerMgr::_SS_IM_SendCustomMsg(f8::MsgHdr& hdr, const ss::SS_IM_SendCustomMsg& msg) { - + Player* hum = GetPlayerByAccountId(msg.target()); + if (hum) { + cs::SMCustomMsgNotify notifymsg; + notifymsg.set_sender(msg.context().account_id()); + notifymsg.set_msg(msg.msg()); + notifymsg.set_param1(msg.param1()); + notifymsg.set_param2(msg.param2()); + notifymsg.set_param3(msg.param3()); + hum->SendMsg(notifymsg); + } } void PlayerMgr::_SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUserInfo& msg) diff --git a/server/imserver/typeconvert.h b/server/imserver/typeconvert.h index e0192be..9c801a4 100644 --- a/server/imserver/typeconvert.h +++ b/server/imserver/typeconvert.h @@ -20,5 +20,6 @@ class TypeConvert static void Convert(const BaseUserData& base_data, ss::MFBaseUserDataDB& base_data_pb); static void Convert(const ss::MFBaseUserDataDB& base_data_pb, const BaseUserData& base_data); static void Convert(const BaseUserData& base_data, cs::MFBaseUserData& base_data_pb); - static void Convert(const UserTempCustomData& temp_custom_data, cs::MFUserTempCustomData& tmpe_custom_data_pb); + static void Convert(const UserTempCustomData& temp_custom_data, + cs::MFUserTempCustomData& tmpe_custom_data_pb); }; diff --git a/server/tools/protobuild/ss_proto.proto b/server/tools/protobuild/ss_proto.proto index 6b4cb93..d23242f 100755 --- a/server/tools/protobuild/ss_proto.proto +++ b/server/tools/protobuild/ss_proto.proto @@ -154,17 +154,19 @@ message SS_MS_PushUserList message SS_IM_SendChatMsg { optional MFIMMsgConext context = 1; - optional int32 chat_channel = 2; - optional string msg = 3; + optional string target = 2; + optional int32 chat_channel = 3; + optional string msg = 4; } message SS_IM_SendCustomMsg { optional MFIMMsgConext context = 1; - optional string msg = 2; - optional int64 param1 = 3; - optional int64 param2 = 4; - optional int64 param3 = 5; + optional string target = 2; + optional string msg = 3; + optional int64 param1 = 4; + optional int64 param2 = 5; + optional int64 param3 = 6; } message SS_IM_IMServerList