diff --git a/server/imserver/player.cc b/server/imserver/player.cc index cf0d7f6..6f80747 100644 --- a/server/imserver/player.cc +++ b/server/imserver/player.cc @@ -172,6 +172,9 @@ void Player::_CMUpdateUserInfo(f8::MsgHdr& hdr, const cs::CMUpdateUserInfo& msg) if (msg.has_head()) { myself.base_data.head = msg.head(); } + if (msg.contribute()) { + myself.base_data.contribute = msg.contribute(); + } if (msg.has_user_value1()) { myself.base_data.user_value1 = msg.user_value1(); } @@ -1421,7 +1424,7 @@ void Player::SaveToDB(a8::XParams param, f8::AsyncDBOnOkFunc on_ok, f8::AsyncDBO "UPDATE `user` SET friend_data='%s', modifytime=%d, " " nickname='%s', avatar_url='%s', sex=%d, data_version1=%d, " " user_value1=%d, user_value2=%d, user_value3=%d, " - " vip_lv=%d, head=%d, " + " vip_lv=%d, head=%d, contribute=%d, " " guild_id=%d, guild_job=%d, last_logintime=%d " "WHERE account_id='%s';", { @@ -1436,6 +1439,7 @@ void Player::SaveToDB(a8::XParams param, f8::AsyncDBOnOkFunc on_ok, f8::AsyncDBO myself.base_data.user_value3, myself.base_data.vip_lv, myself.base_data.head, + myself.base_data.contribute, myself.base_data.guild_id, myself.base_data.guild_job, App::Instance()->nowtime, diff --git a/server/imserver/playermgr.cc b/server/imserver/playermgr.cc index d965ccb..9a1cd63 100644 --- a/server/imserver/playermgr.cc +++ b/server/imserver/playermgr.cc @@ -518,7 +518,10 @@ void PlayerMgr::AsyncLogin2(const cs::CMLogin& msg) a8::XValue(data_set->at(0).at(7)), //user_value2 a8::XValue(data_set->at(0).at(8)), //user_value3 a8::XValue(data_set->at(0).at(9)), //guild_id - a8::XValue(data_set->at(0).at(10)).GetInt() //guild_job + a8::XValue(data_set->at(0).at(10)).GetInt(), //guild_job + a8::XValue(data_set->at(0).at(11)), //vip_lv + a8::XValue(data_set->at(0).at(12)), //head + a8::XValue(data_set->at(0).at(13)) //contribute ); } delete msg; @@ -542,7 +545,7 @@ void PlayerMgr::AsyncLogin2(const cs::CMLogin& msg) (conn_info, "SELECT account_id, nickname, avatar_url, sex, " " data_version1, friend_data, user_value1, user_value2, user_value3, " - " guild_id, guild_job " + " guild_id, guild_job, vip_lv, head, contribute " "FROM `user` WHERE account_id='%s';", { msg.account_id(), @@ -567,7 +570,10 @@ void PlayerMgr::AsyncLoginOnOk(const std::string& account_id, long long user_value2, long long user_value3, long long guild_id, - int guild_job) + int guild_job, + int vip_lv, + int head, + int contribute) { f8::MsgHdr* hdr = GetHdrByAccountId(account_id); if (hdr) { @@ -595,6 +601,9 @@ void PlayerMgr::AsyncLoginOnOk(const std::string& account_id, hum->myself.base_data.nickname = nickname; hum->myself.base_data.avatar_url = avatar_url; hum->myself.base_data.sex = sex; + hum->myself.base_data.vip_lv = vip_lv; + hum->myself.base_data.head = head; + hum->myself.base_data.contribute = contribute; hum->myself.base_data.base_data_version = data_version1; hum->myself.base_data.user_value1 = user_value1; hum->myself.base_data.user_value2 = user_value2; diff --git a/server/imserver/playermgr.h b/server/imserver/playermgr.h index ebf3729..9e06527 100644 --- a/server/imserver/playermgr.h +++ b/server/imserver/playermgr.h @@ -98,7 +98,10 @@ class PlayerMgr : public a8::Singleton long long user_value2, long long user_value3, long long guild_id, - int guild_job); + int guild_job, + int vip_lv, + int head, + int contribute); void AsyncLoginOnError(const std::string& account_id, int step, int error_code, diff --git a/server/imserver/typeconvert.cc b/server/imserver/typeconvert.cc index 58e811d..300f6c1 100644 --- a/server/imserver/typeconvert.cc +++ b/server/imserver/typeconvert.cc @@ -82,6 +82,7 @@ void TypeConvert::Convert(const BaseUserData& base_data, ss::MFBaseUserDataDB& b base_data_pb.set_sex(base_data.sex); base_data_pb.set_vip_lv(base_data.vip_lv); base_data_pb.set_head(base_data.head); + base_data_pb.set_contribute(base_data.contribute); base_data_pb.set_last_login_time(base_data.last_login_time); base_data_pb.set_guild_id(base_data.guild_id); base_data_pb.set_guild_job(base_data.guild_job); @@ -99,6 +100,7 @@ void TypeConvert::Convert(const ss::MFBaseUserDataDB& base_data_pb, BaseUserData base_data.sex = base_data_pb.sex(); base_data.vip_lv = base_data_pb.vip_lv(); base_data.head = base_data_pb.head(); + base_data.contribute = base_data_pb.contribute(); base_data.last_login_time = base_data_pb.last_login_time(); base_data.guild_id = base_data_pb.guild_id(); base_data.guild_job = base_data_pb.guild_job(); @@ -117,6 +119,7 @@ void TypeConvert::Convert(long long guild_id, int guild_job, base_data_pb.set_sex(member.sex); base_data_pb.set_vip_lv(member.vip_lv); base_data_pb.set_head(member.head); + base_data_pb.set_contribute(member.contribute); base_data_pb.set_last_login_time(member.last_login_time); base_data_pb.set_guild_id(guild_id); base_data_pb.set_guild_job(guild_job); @@ -135,6 +138,7 @@ void TypeConvert::Convert(long long guild_id, int guild_job, base_data_pb.set_sex(member.sex); base_data_pb.set_vip_lv(member.vip_lv); base_data_pb.set_head(member.head); + base_data_pb.set_contribute(member.contribute); base_data_pb.set_last_login_time(member.last_login_time); base_data_pb.set_guild_id(guild_id); base_data_pb.set_guild_job(guild_job); @@ -153,6 +157,7 @@ void TypeConvert::Convert(const ss::MFBaseUserDataDB& base_data_pb, GuildMember& member.sex = base_data_pb.sex(); member.vip_lv = base_data_pb.vip_lv(); member.head = base_data_pb.head(); + member.contribute = base_data_pb.contribute(); member.last_login_time = base_data_pb.last_login_time(); member.user_value1 = base_data_pb.user_value1(); member.user_value2 = base_data_pb.user_value2(); @@ -168,6 +173,7 @@ void TypeConvert::Convert(const cs::MFBaseUserData& base_data_pb, GuildMember& m member.sex = base_data_pb.sex(); member.vip_lv = base_data_pb.vip_lv(); member.head = base_data_pb.head(); + member.contribute = base_data_pb.contribute(); member.last_login_time = base_data_pb.last_login_time(); member.user_value1 = base_data_pb.user_value1(); member.user_value2 = base_data_pb.user_value2(); @@ -183,6 +189,7 @@ void TypeConvert::Convert(const cs::MFBaseUserData& base_data_pb, BaseUserData& base_data.sex = base_data_pb.sex(); base_data.vip_lv = base_data_pb.vip_lv(); base_data.head = base_data_pb.head(); + base_data.contribute = base_data_pb.contribute(); base_data.online = base_data_pb._online(); base_data.last_login_time = base_data_pb.last_login_time(); base_data.guild_id = base_data_pb.guild_id(); @@ -201,6 +208,7 @@ void TypeConvert::Convert(const BaseUserData& base_data, cs::MFBaseUserData& bas base_data_pb.set_sex(base_data.sex); base_data_pb.set_vip_lv(base_data.vip_lv); base_data_pb.set_head(base_data.head); + base_data_pb.set_contribute(base_data.contribute); base_data_pb.set__online(base_data.online); base_data_pb.set_last_login_time(base_data.last_login_time); base_data_pb.set_guild_id(base_data.guild_id); diff --git a/server/imserver/types.h b/server/imserver/types.h index 507e8d4..71a0dad 100644 --- a/server/imserver/types.h +++ b/server/imserver/types.h @@ -12,6 +12,7 @@ struct BaseUserData int guild_job = 0; int vip_lv = 0; int head = 0; + int contribute = 0; int last_login_time = 0; long long user_value1 = 0; @@ -98,6 +99,7 @@ struct GuildMember int sex = 0; int vip_lv = 0; int head = 0; + int contribute = 0; int last_login_time = 0; long long user_value1 = 0; diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index 83d90b3..7a919e1 100644 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -49,6 +49,7 @@ message MFBaseUserData optional int32 guild_job = 7; //公会职位 1:公会长 2:副公会长 3:精英成员 其他(0):普通会员 optional int32 vip_lv = 8 [default = 0]; //性别 optional int32 head = 9 [default = 0]; //头像框 + optional int32 contribute = 10 [default = 0]; //贡献度 optional int64 user_value1 = 50; //用户字段1 optional int64 user_value2 = 51; //用户字段2 @@ -177,6 +178,7 @@ message CMUpdateUserInfo optional int32 sex = 4; //性别 1:男 2:女 0:未知 optional int32 vip_lv = 8; //性别 optional int32 head = 9; //头像框 + optional int32 contribute = 10; //贡献度 optional int64 user_value1 = 50; //用户字段1 optional int64 user_value2 = 51; //用户字段2 diff --git a/server/tools/protobuild/ss_proto.proto b/server/tools/protobuild/ss_proto.proto index 7a5bdf1..0b1742c 100755 --- a/server/tools/protobuild/ss_proto.proto +++ b/server/tools/protobuild/ss_proto.proto @@ -49,6 +49,7 @@ message MFBaseUserDataDB optional int32 guild_job = 8; //公会职位 optional int32 vip_lv = 9; //性别 optional int32 head = 10; //头像框 + optional int32 contribute = 11; //贡献度 optional int64 user_value1 = 50; //用户字段1 optional int64 user_value2 = 51; //用户字段2 diff --git a/sql/relationdb_n.sql b/sql/relationdb_n.sql index b57dd16..71384a6 100644 --- a/sql/relationdb_n.sql +++ b/sql/relationdb_n.sql @@ -46,6 +46,7 @@ CREATE TABLE `user` ( `sex` int(11) NOT NULL DEFAULT '0' COMMENT 'sex', `vip_lv` int(11) NOT NULL DEFAULT '0' COMMENT 'vip等级', `head` int(11) NOT NULL DEFAULT '0' COMMENT '头像框id', + `contribute` int(11) NOT NULL DEFAULT '0' COMMENT '贡献度', `friend_data` mediumblob COMMENT '好友数据', `data_version1` bigint NOT NULL DEFAULT '0' COMMENT 'data_version1', `user_value1` bigint NOT NULL DEFAULT '0' COMMENT 'user_value1',