From ec2e2b949f9eac5fa16b425169490ec32be78ab7 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 8 Dec 2020 20:07:10 +0800 Subject: [PATCH] 1 --- server/imserver/chatmgr.cc | 16 +++++++++++++++- server/imserver/chatmgr.h | 1 + server/imserver/player.cc | 5 +++++ server/imserver/player.h | 1 + 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/server/imserver/chatmgr.cc b/server/imserver/chatmgr.cc index c6de6c0..c0d98e6 100644 --- a/server/imserver/chatmgr.cc +++ b/server/imserver/chatmgr.cc @@ -48,21 +48,35 @@ void ChatMgr::FillSMUpdatePrivateChatRedPointNotify(Player* hum, void ChatMgr::ProcWorldChat(Player* hum, const cs::CMSendChatMsg& msg) { ++world_msg_id_; + cs::MFChatMsg* p = new cs::MFChatMsg(); p->set_msg_uuid(world_msg_id_); + world_msgrec_.curr_id = world_msg_id_; world_msgrec_.msg_list.push_back(p); - // hum-> + if (hum->chat_channel == kCCWorld) { + cs::SMChatMsgNotify notifymsg; + hum->SendMsg(notifymsg); + } else { + hum->MarkNewMsg(); + } } void ChatMgr::ProcPrivateChat(Player* hum, const cs::CMSendChatMsg& msg) { + ++private_msg_id_; + + cs::MFChatMsg* p = new cs::MFChatMsg(); + p->set_msg_uuid(private_msg_id_); } void ChatMgr::ProcGuildChat(Player* hum, const cs::CMSendChatMsg& msg) { + ++guild_msg_id_; + cs::MFChatMsg* p = new cs::MFChatMsg(); + p->set_msg_uuid(guild_msg_id_); } ChatedUserRec* ChatMgr::GetChatedUser(const std::string& account_id) diff --git a/server/imserver/chatmgr.h b/server/imserver/chatmgr.h index cedf9a8..52198ac 100644 --- a/server/imserver/chatmgr.h +++ b/server/imserver/chatmgr.h @@ -40,6 +40,7 @@ class ChatMgr : public a8::Singleton private: long long private_msg_id_ = 1000; long long world_msg_id_ = 1000; + long long guild_msg_id_ = 1000; ChatMsgRec world_msgrec_; std::map guild_msgrec_; std::map private_msg_hash_; diff --git a/server/imserver/player.cc b/server/imserver/player.cc index fa13fd5..1fa4c69 100644 --- a/server/imserver/player.cc +++ b/server/imserver/player.cc @@ -1514,6 +1514,11 @@ void Player::SaveToDB(a8::XParams param, f8::AsyncDBOnOkFunc on_ok, f8::AsyncDBO role_data.last_save_time = App::Instance()->nowtime; } +void Player::MarkNewMsg() +{ + +} + Friend* Player::GetFriendById(const std::string& friend_id) { auto itr = friend_hash_.find(friend_id); diff --git a/server/imserver/player.h b/server/imserver/player.h index b8c94f4..1c3059c 100644 --- a/server/imserver/player.h +++ b/server/imserver/player.h @@ -164,6 +164,7 @@ class Player int GetFriendNum(); void SaveToDB(a8::XParams param, f8::AsyncDBOnOkFunc on_ok, f8::AsyncDBOnErrorFunc on_error); + void MarkNewMsg(); private: void FillFriendList(::google::protobuf::RepeatedPtrField< ::cs::MFUserInfo >* friend_list);