添加gameid channel

This commit is contained in:
aozhiwei 2020-11-17 20:29:22 +08:00
parent 95c3a7f306
commit 97013fbfd2
3 changed files with 14 additions and 4 deletions

View File

@ -408,6 +408,8 @@ void DBHelper::ShuaOfflineUsers(Player* hum)
} else { } else {
sql_params.push_back(10000 + (rand() % 50)); sql_params.push_back(10000 + (rand() % 50));
} }
sql_params.push_back(hum->gameid);
sql_params.push_back(hum->channel);
auto on_ok = auto on_ok =
[] (a8::XParams& param, const f8::DataSet* data_set) [] (a8::XParams& param, const f8::DataSet* data_set)
{ {
@ -443,7 +445,7 @@ void DBHelper::ShuaOfflineUsers(Player* hum)
" A.user_value2, A.user_value3, A.last_logintime " " A.user_value2, A.user_value3, A.last_logintime "
"FROM `user` A " "FROM `user` A "
" LEFT JOIN (" + fmtstr + ") AS B ON B.account_id = A.account_id " " LEFT JOIN (" + fmtstr + ") AS B ON B.account_id = A.account_id "
"WHERE A.idx > %d AND " "WHERE A.idx > %d AND A.gameid = %d AND A.channel = %d AND "
" B.account_id IS NULL LIMIT 1, 10;" " B.account_id IS NULL LIMIT 1, 10;"
).c_str(), ).c_str(),
sql_params, sql_params,

View File

@ -456,14 +456,18 @@ void PlayerMgr::AsyncLogin1(const cs::CMLogin& msg)
cs::CMLogin* msg_copy = new cs::CMLogin(); cs::CMLogin* msg_copy = new cs::CMLogin();
*msg_copy = msg; *msg_copy = msg;
a8::XObject conn_info = DBEngine::Instance()->GetConnInfo(msg.account_id()); a8::XObject conn_info = DBEngine::Instance()->GetConnInfo(msg.account_id());
int gameid = f8::ExtractGameIdFromAccountId(msg.account_id());
int channel = f8::ExtractChannelIdFromAccountId(msg.account_id());
DBEngine::Instance()->ExecAsyncScript DBEngine::Instance()->ExecAsyncScript
(conn_info, (conn_info,
"INSERT INTO `user`(account_id, nickname, avatar_url," "INSERT INTO `user`(gameid, channel, account_id, nickname, avatar_url,"
" sex, friend_data, createtime, modifytime, registertime)" " sex, friend_data, createtime, modifytime, registertime)"
"VALUES ('%s', '%s', '%s', %d, '', %d, %d, %d)" "VALUES (%d, %d, '%s', '%s', '%s', %d, '', %d, %d, %d)"
"ON DUPLICATE KEY UPDATE nickname='%s', avatar_url='%s'," "ON DUPLICATE KEY UPDATE nickname='%s', avatar_url='%s',"
" sex=%d, last_logintime=%d, data_version1=data_version1 + 1;", " sex=%d, last_logintime=%d, data_version1=data_version1 + 1;",
{ {
gameid,
channel,
msg.account_id(), msg.account_id(),
msg.nickname(), msg.nickname(),
msg.avatar_url(), msg.avatar_url(),

View File

@ -38,6 +38,8 @@ DROP TABLE IF EXISTS `user`;
/*!40101 SET character_set_client = utf8 */; /*!40101 SET character_set_client = utf8 */;
CREATE TABLE `user` ( CREATE TABLE `user` (
`idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id', `idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
`gameid` int(11) NOT NULL DEFAULT '0' COMMENT 'gameid',
`channel` int(11) NOT NULL DEFAULT '0' COMMENT 'channel',
`account_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT 'account_id', `account_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT 'account_id',
`nickname` tinyblob COMMENT 'nickname', `nickname` tinyblob COMMENT 'nickname',
`avatar_url` varchar(256) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '', `avatar_url` varchar(256) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '',
@ -54,7 +56,9 @@ CREATE TABLE `user` (
`registertime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `registertime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`last_logintime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `last_logintime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`idx`), PRIMARY KEY (`idx`),
UNIQUE KEY `account_id` (`account_id`) UNIQUE KEY `account_id` (`account_id`),
KEY `gameid` (`gameid`),
KEY `channel` (`channel`)
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; ) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
/*!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 */;