This commit is contained in:
aozhiwei 2020-06-12 16:24:21 +08:00
parent 76fdb020f8
commit ea6cfe8bdb
4 changed files with 66 additions and 44 deletions

View File

@ -24,6 +24,10 @@ class Player
int last_invite_time = 0; int last_invite_time = 0;
int data_version1 = 0; int data_version1 = 0;
long long user_value1 = 0;
long long user_value2 = 0;
long long user_value3 = 0;
public: public:
void Init(); void Init();
void UnInit(); void UnInit();

View File

@ -45,6 +45,7 @@ void PlayerMgr::_CMLogin(f8::MsgHdr& hdr, const cs::CMLogin& msg)
GetHdrByAccountId(msg.account_id())) { GetHdrByAccountId(msg.account_id())) {
cs::SMLogin respmsg; cs::SMLogin respmsg;
respmsg.set_errcode(1); respmsg.set_errcode(1);
respmsg.set_errmsg("登录失败请重试");
WSListener::Instance()->SendToClient(hdr.socket_handle, 0, respmsg); WSListener::Instance()->SendToClient(hdr.socket_handle, 0, respmsg);
return; return;
} }
@ -158,12 +159,13 @@ 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());
DBEngine::Instance()->ExecAsyncScript(conn_info, DBEngine::Instance()->ExecAsyncScript
(conn_info,
"INSERT INTO `user`(account_id, nickname, avatar_url," "INSERT INTO `user`(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 ('%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;", " sex=%d, last_logintime=%d, data_version1=data_version1 + 1;",
{ {
msg.account_id(), msg.account_id(),
msg.nickname(), msg.nickname(),
@ -207,7 +209,10 @@ void PlayerMgr::AsyncLogin2(const cs::CMLogin& msg)
a8::XValue(data_set->at(0).at(3)), a8::XValue(data_set->at(0).at(3)),
a8::XValue(data_set->at(0).at(4)), a8::XValue(data_set->at(0).at(4)),
a8::XValue(data_set->at(0).at(6)), a8::XValue(data_set->at(0).at(6)),
a8::XValue(data_set->at(0).at(5)) a8::XValue(data_set->at(0).at(5)),
a8::XValue(data_set->at(0).at(7)),
a8::XValue(data_set->at(0).at(8)),
a8::XValue(data_set->at(0).at(9))
); );
} }
delete msg; delete msg;
@ -227,9 +232,10 @@ void PlayerMgr::AsyncLogin2(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());
DBEngine::Instance()->ExecAsyncQuery(conn_info, DBEngine::Instance()->ExecAsyncQuery
(conn_info,
"SELECT account_id, nickname, avatar_url, sex, group_id, " "SELECT account_id, nickname, avatar_url, sex, group_id, "
" data_version1, user_db " " data_version1, friend_data, user_value1, user_value2, user_value3 "
"FROM `user` WHERE account_id='%s';", "FROM `user` WHERE account_id='%s';",
{ {
msg.account_id(), msg.account_id(),
@ -249,7 +255,10 @@ void PlayerMgr::AsyncLoginOnOk(const std::string& account_id,
int sex, int sex,
long long group_id, long long group_id,
const std::string& friend_data, const std::string& friend_data,
int data_version1) int data_version1,
long long user_value1,
long long user_value2,
long long user_value3)
{ {
f8::MsgHdr* hdr = GetHdrByAccountId(account_id); f8::MsgHdr* hdr = GetHdrByAccountId(account_id);
if (hdr) { if (hdr) {
@ -270,6 +279,9 @@ void PlayerMgr::AsyncLoginOnOk(const std::string& account_id,
hum->sex = sex; hum->sex = sex;
hum->group_id = group_id; hum->group_id = group_id;
hum->data_version1 = data_version1; hum->data_version1 = data_version1;
hum->user_value1 = user_value1;
hum->user_value2 = user_value2;
hum->user_value3 = user_value3;
hum->Init(); hum->Init();
{ {
ss::MFUserDB user_db; ss::MFUserDB user_db;

View File

@ -51,7 +51,10 @@ class PlayerMgr : public a8::Singleton<PlayerMgr>
int sex, int sex,
long long group_id, long long group_id,
const std::string& friend_data, const std::string& friend_data,
int data_version1); int data_version1,
long long user_value1,
long long user_value2,
long long user_value3);
void AsyncLoginOnError(const std::string& account_id, void AsyncLoginOnError(const std::string& account_id,
int step, int step,
int error_code, int error_code,

View File

@ -44,7 +44,10 @@ CREATE TABLE `user` (
`sex` int(11) NOT NULL DEFAULT '0' COMMENT 'sex', `sex` int(11) NOT NULL DEFAULT '0' COMMENT 'sex',
`group_id` bigint NOT NULL COMMENT 'group_id', `group_id` bigint NOT NULL COMMENT 'group_id',
`friend_data` mediumblob COMMENT '好友数据', `friend_data` mediumblob COMMENT '好友数据',
`data_version1` int(11) NOT NULL DEFAULT '0' COMMENT 'data_version1', `data_version1` bigint NOT NULL DEFAULT '0' COMMENT 'data_version1',
`user_value1` bigint NOT NULL DEFAULT '0' COMMENT 'user_value1',
`user_value2` bigint NOT NULL DEFAULT '0' COMMENT 'user_value2',
`user_value3` bigint NOT NULL DEFAULT '0' COMMENT 'user_value3',
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间', `modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
`registertime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `registertime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',