1
This commit is contained in:
parent
aa804c9371
commit
bf3f1618ae
@ -35,4 +35,6 @@ enum NetHandler_e
|
|||||||
const char* const PROJ_NAME_FMT = "friend_imserver";
|
const char* const PROJ_NAME_FMT = "friend_imserver";
|
||||||
const char* const PROJ_ROOT_FMT = "/data/logs/%s";
|
const char* const PROJ_ROOT_FMT = "/data/logs/%s";
|
||||||
|
|
||||||
|
const char* const EVENT_FRIEND_DELETE = "friend.delete";
|
||||||
|
|
||||||
const int MAX_INSTANCE_ID = 1023;
|
const int MAX_INSTANCE_ID = 1023;
|
||||||
|
@ -48,7 +48,7 @@ void HandlerMgr::RegisterNetMsgHandlers()
|
|||||||
RegisterNetMsgHandler(&wsmsghandler, &PlayerMgr::_CMLogin);
|
RegisterNetMsgHandler(&wsmsghandler, &PlayerMgr::_CMLogin);
|
||||||
|
|
||||||
RegisterNetMsgHandler(&wsmsghandler, &Player::_CMFriendList);
|
RegisterNetMsgHandler(&wsmsghandler, &Player::_CMFriendList);
|
||||||
RegisterNetMsgHandler(&wsmsghandler, &Player::_CMFriendInvite);
|
RegisterNetMsgHandler(&wsmsghandler, &Player::_CMFriendApply);
|
||||||
RegisterNetMsgHandler(&wsmsghandler, &Player::_CMFriendIgnore);
|
RegisterNetMsgHandler(&wsmsghandler, &Player::_CMFriendIgnore);
|
||||||
RegisterNetMsgHandler(&wsmsghandler, &Player::_CMFriendDelete);
|
RegisterNetMsgHandler(&wsmsghandler, &Player::_CMFriendDelete);
|
||||||
|
|
||||||
|
@ -33,8 +33,8 @@ void Player::Deserialize(const cs::MFUserDB& user_db)
|
|||||||
friendobj.nickname = friend_db.nickname();
|
friendobj.nickname = friend_db.nickname();
|
||||||
friendobj.avatar_url = friend_db.avatar_url();
|
friendobj.avatar_url = friend_db.avatar_url();
|
||||||
friendobj.sex = friend_db.sex();
|
friendobj.sex = friend_db.sex();
|
||||||
friendobj.data_version1 = friend_db.data_version1();
|
|
||||||
friendobj.group_id = friend_db.group_id();
|
friendobj.group_id = friend_db.group_id();
|
||||||
|
friendobj.data_version1 = friend_db.data_version1();
|
||||||
friendobj.crc32_code = a8::openssl::Crc32(
|
friendobj.crc32_code = a8::openssl::Crc32(
|
||||||
(unsigned char*)account_id.data(),
|
(unsigned char*)account_id.data(),
|
||||||
account_id.size()
|
account_id.size()
|
||||||
@ -51,8 +51,8 @@ void Player::Serialize(cs::MFUserDB& user_db)
|
|||||||
p->set_nickname(pair.second.nickname);
|
p->set_nickname(pair.second.nickname);
|
||||||
p->set_avatar_url(pair.second.avatar_url);
|
p->set_avatar_url(pair.second.avatar_url);
|
||||||
p->set_sex(pair.second.sex);
|
p->set_sex(pair.second.sex);
|
||||||
p->set_data_version1(pair.second.data_version1);
|
|
||||||
p->set_group_id(pair.second.group_id);
|
p->set_group_id(pair.second.group_id);
|
||||||
|
p->set_data_version1(pair.second.data_version1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,12 +63,17 @@ void Player::_CMFriendList(f8::MsgHdr& hdr, const cs::CMFriendList& msg)
|
|||||||
SendMsg(respmsg);
|
SendMsg(respmsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::_CMFriendInvite(f8::MsgHdr& hdr, const cs::CMFriendInvite& msg)
|
void Player::_CMFriendApply(f8::MsgHdr& hdr, const cs::CMFriendApply& msg)
|
||||||
{
|
{
|
||||||
cs::SMFriendInvite respmsg;
|
cs::SMFriendInvite respmsg;
|
||||||
SendMsg(respmsg);
|
SendMsg(respmsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Player::_CMFriendApplyList(f8::MsgHdr& hdr, const cs::CMFriendApplyList& msg)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void Player::_CMFriendIgnore(f8::MsgHdr& hdr, const cs::CMFriendIgnore& msg)
|
void Player::_CMFriendIgnore(f8::MsgHdr& hdr, const cs::CMFriendIgnore& msg)
|
||||||
{
|
{
|
||||||
cs::SMFriendIgnore respmsg;
|
cs::SMFriendIgnore respmsg;
|
||||||
@ -78,6 +83,11 @@ void Player::_CMFriendIgnore(f8::MsgHdr& hdr, const cs::CMFriendIgnore& msg)
|
|||||||
void Player::_CMFriendDelete(f8::MsgHdr& hdr, const cs::CMFriendDelete& msg)
|
void Player::_CMFriendDelete(f8::MsgHdr& hdr, const cs::CMFriendDelete& msg)
|
||||||
{
|
{
|
||||||
cs::SMFriendDelete respmsg;
|
cs::SMFriendDelete respmsg;
|
||||||
|
Friend* p = GetFriendById(msg.friend_id());
|
||||||
|
if (p) {
|
||||||
|
friend_hash_.erase(msg.friend_id());
|
||||||
|
}
|
||||||
|
respmsg.set_friend_id(msg.friend_id());
|
||||||
SendMsg(respmsg);
|
SendMsg(respmsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -289,3 +299,9 @@ void Player::SaveToDB()
|
|||||||
crc32_code
|
crc32_code
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Friend* Player::GetFriendById(const std::string& friend_id)
|
||||||
|
{
|
||||||
|
auto itr = friend_hash_.find(friend_id);
|
||||||
|
return itr != friend_hash_.end() ? &itr->second : nullptr;
|
||||||
|
}
|
||||||
|
@ -38,7 +38,8 @@ class Player
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _CMFriendList(f8::MsgHdr& hdr, const cs::CMFriendList& msg);
|
void _CMFriendList(f8::MsgHdr& hdr, const cs::CMFriendList& msg);
|
||||||
void _CMFriendInvite(f8::MsgHdr& hdr, const cs::CMFriendInvite& msg);
|
void _CMFriendApply(f8::MsgHdr& hdr, const cs::CMFriendApply& msg);
|
||||||
|
void _CMFriendApplyList(f8::MsgHdr& hdr, const cs::CMFriendApplyList& msg);
|
||||||
void _CMFriendIgnore(f8::MsgHdr& hdr, const cs::CMFriendIgnore& msg);
|
void _CMFriendIgnore(f8::MsgHdr& hdr, const cs::CMFriendIgnore& msg);
|
||||||
void _CMFriendDelete(f8::MsgHdr& hdr, const cs::CMFriendDelete& msg);
|
void _CMFriendDelete(f8::MsgHdr& hdr, const cs::CMFriendDelete& msg);
|
||||||
|
|
||||||
@ -61,6 +62,7 @@ private:
|
|||||||
void FillIMMsgConext(f8::MsgHdr& hdr, ss::MFIMMsgConext* conext);
|
void FillIMMsgConext(f8::MsgHdr& hdr, ss::MFIMMsgConext* conext);
|
||||||
void ForwardGroupCMMsg(f8::MsgHdr& hdr, long long hash_code);
|
void ForwardGroupCMMsg(f8::MsgHdr& hdr, long long hash_code);
|
||||||
void SaveToDB();
|
void SaveToDB();
|
||||||
|
Friend* GetFriendById(const std::string& friend_id);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool dirty_ = false;
|
bool dirty_ = false;
|
||||||
|
@ -69,55 +69,88 @@ message SMLogin
|
|||||||
optional string error_msg = 2;
|
optional string error_msg = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取好友列表
|
||||||
message CMFriendList
|
message CMFriendList
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
//好友列表回复
|
||||||
message SMFriendList
|
message SMFriendList
|
||||||
{
|
{
|
||||||
optional int32 error_code = 1;
|
optional int32 error_code = 1; //错误消息
|
||||||
optional string error_msg = 2;
|
optional string error_msg = 2; //错误消息
|
||||||
repeated MFUserInfo friend_list = 3;
|
repeated MFUserInfo friend_list = 3; //好友列表
|
||||||
}
|
}
|
||||||
|
|
||||||
message CMFriendInvite
|
//好友申请
|
||||||
|
message CMFriendApply
|
||||||
{
|
{
|
||||||
optional string friend_id = 1;
|
optional string friend_id = 1; //好友id
|
||||||
optional string invite_msg = 2;
|
optional string msg = 2; //消息
|
||||||
}
|
}
|
||||||
message SMFriendInvite
|
//好友申请回复
|
||||||
|
message SMFriendApply
|
||||||
{
|
{
|
||||||
optional int32 error_code = 1;
|
optional int32 error_code = 1; //
|
||||||
optional string error_msg = 2;
|
optional string error_msg = 2; //消息描述
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取好友申请列表
|
||||||
|
message CMFriendApplyList
|
||||||
|
{
|
||||||
|
}
|
||||||
|
//获取好友申请列表回复
|
||||||
|
message SMFriendApplyList
|
||||||
|
{
|
||||||
|
optional int32 error_code = 1; //
|
||||||
|
optional string error_msg = 2; //错误消息
|
||||||
|
}
|
||||||
|
|
||||||
|
//同意申请
|
||||||
message CMFriendAgree
|
message CMFriendAgree
|
||||||
{
|
{
|
||||||
optional string friend_id = 1;
|
optional string friend_id = 1; //好友id
|
||||||
}
|
}
|
||||||
|
//同意申请回复
|
||||||
message SMFriendAgree
|
message SMFriendAgree
|
||||||
{
|
{
|
||||||
optional int32 error_code = 1;
|
optional int32 error_code = 1; //
|
||||||
optional string error_msg = 2;
|
optional string error_msg = 2; //错误消息
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//忽略好友申请
|
||||||
message CMFriendIgnore
|
message CMFriendIgnore
|
||||||
{
|
{
|
||||||
optional string friend_id = 1;
|
optional string friend_id = 1; //好友id
|
||||||
}
|
}
|
||||||
|
//忽略好友申请回复
|
||||||
message SMFriendIgnore
|
message SMFriendIgnore
|
||||||
{
|
{
|
||||||
optional int32 error_code = 1;
|
optional int32 error_code = 1; //
|
||||||
optional string error_msg = 2;
|
optional string error_msg = 2; //错误消息
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//删除好友
|
||||||
message CMFriendDelete
|
message CMFriendDelete
|
||||||
{
|
{
|
||||||
optional string friend_id = 1;
|
optional string friend_id = 1; //好友id
|
||||||
}
|
}
|
||||||
|
//删除好友回复
|
||||||
message SMFriendDelete
|
message SMFriendDelete
|
||||||
{
|
{
|
||||||
optional int32 error_code = 1;
|
optional int32 error_code = 1; //
|
||||||
optional string error_msg = 2;
|
optional string error_msg = 2; //错误消息
|
||||||
|
optional string friend_id = 3; //好友id
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取黑名单列表
|
||||||
|
message CMFriendBlackList
|
||||||
|
{
|
||||||
|
}
|
||||||
|
//获取黑名单回复
|
||||||
|
message SMFriendBlackList
|
||||||
|
{
|
||||||
|
optional int32 error_code = 1; //
|
||||||
|
optional string error_msg = 2; //错误消息
|
||||||
}
|
}
|
||||||
|
|
||||||
//建群
|
//建群
|
||||||
|
@ -101,6 +101,26 @@ CREATE TABLE `friend_apply` (
|
|||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||||
|
|
||||||
|
-- Table structure for table `event`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `event`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `event` (
|
||||||
|
`idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
|
||||||
|
`account_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT '事件接受方id',
|
||||||
|
`event_name` varchar(255) CHARACTER SET utf8 NOT NULL COMMENT '事件名',
|
||||||
|
`param1` tinyblob COMMENT 'param1',
|
||||||
|
`param2` tinyblob COMMENT 'param2',
|
||||||
|
`param3` tinyblob COMMENT 'param3',
|
||||||
|
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||||
|
PRIMARY KEY (`idx`),
|
||||||
|
KEY `account_id` (`account_id`),
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||||
|
|
||||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user