diff --git a/server/imserver/guild.cc b/server/imserver/guild.cc index aa5d8be..c1d1ce6 100644 --- a/server/imserver/guild.cc +++ b/server/imserver/guild.cc @@ -336,7 +336,7 @@ void Guild::_CMGuildMemberList(f8::MsgHdr& hdr, const cs::CMGuildMemberList& msg break; } auto p = respmsg.add_member_list(); - TypeConvert::Convert(*sorted_members_[i], *p); + TypeConvert::Convert(guild_id_, *sorted_members_[i], *p); } GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle, forward_msg->context(), @@ -478,7 +478,7 @@ void Guild::FillGuildDB(ss::MFGuildDB& guild_pb) { for (auto& pair : member_hash_) { auto p = guild_pb.add_members(); - TypeConvert::Convert(*pair.second, *p->mutable_base_data()); + TypeConvert::Convert(guild_id_, *pair.second, *p->mutable_base_data()); } } diff --git a/server/imserver/player.cc b/server/imserver/player.cc index 8f5a505..fd04ec4 100644 --- a/server/imserver/player.cc +++ b/server/imserver/player.cc @@ -629,7 +629,7 @@ void Player::_CMGuildCreate(f8::MsgHdr& hdr, const cs::CMGuildCreate& msg) { cs::SMGuildCreate respmsg; if (GuildId() != 0) { - SendErrorMsg("你已经有公会"); + ShowErrorMsg("你已经有公会"); respmsg.set_errcode(1); respmsg.set_errmsg("你已经有公会"); SendMsg(respmsg); @@ -1183,7 +1183,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, " - " guild_id=%d, guild_name='%s', guild_job=%d, last_logintime=%d " + " guild_id=%d, guild_job=%d, last_logintime=%d " "WHERE account_id='%s';", { friend_data, @@ -1196,7 +1196,6 @@ void Player::SaveToDB(a8::XParams param, f8::AsyncDBOnOkFunc on_ok, f8::AsyncDBO myself.base_data.user_value2, myself.base_data.user_value3, myself.base_data.guild_id, - myself.base_data.guild_name, myself.base_data.guild_job, App::Instance()->nowtime, myself.base_data.account_id @@ -1222,6 +1221,13 @@ Friend* Player::GetBlackListById(const std::string& friend_id) return itr != black_hash_.end() ? itr->second : nullptr; } +void Player::UpdateGuildData(long long guild_id, int guild_job) +{ + myself.base_data.guild_id = guild_id; + myself.base_data.guild_job = guild_job; + OnDataVersion1Change(); +} + void Player::FillApplyList(const cs::MFPaging& paging, cs::SMFriendApplyList& respmsg) { RemoveHandledApply(); diff --git a/server/imserver/player.h b/server/imserver/player.h index 5659d95..a64fa35 100644 --- a/server/imserver/player.h +++ b/server/imserver/player.h @@ -122,6 +122,7 @@ class Player std::set& GetExcludeAccountIds(); Friend* GetFriendById(const std::string& friend_id); Friend* GetBlackListById(const std::string& friend_id); + void UpdateGuildData(long long guild_id, int guild_job); const std::string AccountId(); const std::string SessionId(); diff --git a/server/imserver/playermgr.cc b/server/imserver/playermgr.cc index 8669aa6..dfe0656 100644 --- a/server/imserver/playermgr.cc +++ b/server/imserver/playermgr.cc @@ -450,8 +450,7 @@ 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 - data_set->at(0).at(10), //guild_name - a8::XValue(data_set->at(0).at(11)).GetInt() //guild_job + a8::XValue(data_set->at(0).at(10)).GetInt() //guild_job ); } delete msg; @@ -475,7 +474,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_name, guild_job " + " guild_id, guild_job " "FROM `user` WHERE account_id='%s';", { msg.account_id(), @@ -500,7 +499,6 @@ void PlayerMgr::AsyncLoginOnOk(const std::string& account_id, long long user_value2, long long user_value3, long long guild_id, - const std::string& guild_name, int guild_job) { f8::MsgHdr* hdr = GetHdrByAccountId(account_id); @@ -534,7 +532,6 @@ void PlayerMgr::AsyncLoginOnOk(const std::string& account_id, hum->myself.base_data.user_value2 = user_value2; hum->myself.base_data.user_value3 = user_value3; hum->myself.base_data.guild_id = guild_id; - hum->myself.base_data.guild_name = guild_name; hum->myself.base_data.guild_job = guild_job; hum->myself.base_data.online = true; hum->myself.base_data.last_login_time = App::Instance()->nowtime; diff --git a/server/imserver/playermgr.h b/server/imserver/playermgr.h index 73f6165..d51e4e9 100644 --- a/server/imserver/playermgr.h +++ b/server/imserver/playermgr.h @@ -85,7 +85,6 @@ class PlayerMgr : public a8::Singleton long long user_value2, long long user_value3, long long guild_id, - const std::string& guild_name, int guild_job); void AsyncLoginOnError(const std::string& account_id, int step, diff --git a/server/imserver/typeconvert.cc b/server/imserver/typeconvert.cc index bb2f3ef..9a3dec5 100644 --- a/server/imserver/typeconvert.cc +++ b/server/imserver/typeconvert.cc @@ -70,7 +70,6 @@ void TypeConvert::Convert(const BaseUserData& base_data, ss::MFBaseUserDataDB& b base_data_pb.set_sex(base_data.sex); 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_name(base_data.guild_name); base_data_pb.set_guild_job(base_data.guild_job); base_data_pb.set_user_value1(base_data.user_value1); base_data_pb.set_user_value2(base_data.user_value2); @@ -86,7 +85,6 @@ void TypeConvert::Convert(const ss::MFBaseUserDataDB& base_data_pb, BaseUserData base_data.sex = base_data_pb.sex(); base_data.last_login_time = base_data_pb.last_login_time(); base_data.guild_id = base_data_pb.guild_id(); - base_data.guild_name = base_data_pb.guild_name(); base_data.guild_job = base_data_pb.guild_job(); base_data.user_value1 = base_data_pb.user_value1(); base_data.user_value2 = base_data_pb.user_value2(); @@ -94,13 +92,14 @@ void TypeConvert::Convert(const ss::MFBaseUserDataDB& base_data_pb, BaseUserData base_data.base_data_version = base_data_pb.base_data_version(); } -void TypeConvert::Convert(const GuildMember& member, ss::MFBaseUserDataDB& base_data_pb) +void TypeConvert::Convert(long long guild_id, const GuildMember& member, ss::MFBaseUserDataDB& base_data_pb) { base_data_pb.set_account_id(member.account_id); base_data_pb.set_nickname(member.nickname); base_data_pb.set_avatar_url(member.avatar_url); base_data_pb.set_sex(member.sex); 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(member.guild_job); base_data_pb.set_user_value1(member.user_value1); base_data_pb.set_user_value2(member.user_value2); @@ -108,13 +107,14 @@ void TypeConvert::Convert(const GuildMember& member, ss::MFBaseUserDataDB& base_ base_data_pb.set_base_data_version(member.data_version1); } -void TypeConvert::Convert(const GuildMember& member, cs::MFBaseUserData& base_data_pb) +void TypeConvert::Convert(long long guild_id, const GuildMember& member, cs::MFBaseUserData& base_data_pb) { base_data_pb.set_account_id(member.account_id); base_data_pb.set_nickname(member.nickname); base_data_pb.set_avatar_url(member.avatar_url); base_data_pb.set_sex(member.sex); 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(member.guild_job); base_data_pb.set_user_value1(member.user_value1); base_data_pb.set_user_value2(member.user_value2); @@ -159,7 +159,6 @@ void TypeConvert::Convert(const cs::MFBaseUserData& base_data_pb, BaseUserData& 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(); - base_data.guild_name = base_data_pb.guild_name(); base_data.guild_job = base_data_pb.guild_job(); base_data.user_value1 = base_data_pb.user_value1(); base_data.user_value2 = base_data_pb.user_value2(); @@ -176,7 +175,6 @@ void TypeConvert::Convert(const BaseUserData& base_data, cs::MFBaseUserData& bas 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); - base_data_pb.set_guild_name(base_data.guild_name); base_data_pb.set_guild_job(base_data.guild_job); base_data_pb.set_user_value1(base_data.user_value1); base_data_pb.set_user_value2(base_data.user_value2); diff --git a/server/imserver/typeconvert.h b/server/imserver/typeconvert.h index 05fda8a..ac15db2 100644 --- a/server/imserver/typeconvert.h +++ b/server/imserver/typeconvert.h @@ -30,9 +30,9 @@ class TypeConvert static void Convert(const BaseUserData& base_data, ss::MFBaseUserDataDB& base_data_pb); static void Convert(const ss::MFBaseUserDataDB& base_data_pb, BaseUserData& base_data); - static void Convert(const GuildMember& member, ss::MFBaseUserDataDB& base_data_pb); + static void Convert(long long guild_id, const GuildMember& member, ss::MFBaseUserDataDB& base_data_pb); static void Convert(const ss::MFBaseUserDataDB& base_data_pb, GuildMember& member); - static void Convert(const GuildMember& member, cs::MFBaseUserData& base_data_pb); + static void Convert(long long guild_id, const GuildMember& member, cs::MFBaseUserData& base_data_pb); static void Convert(const cs::MFBaseUserData& base_data_pb, GuildMember& member); static void Convert(const cs::MFBaseUserData& base_data_pb, BaseUserData& base_data); diff --git a/server/imserver/types.h b/server/imserver/types.h index d993a25..8d3f30e 100644 --- a/server/imserver/types.h +++ b/server/imserver/types.h @@ -9,7 +9,6 @@ struct BaseUserData int online = 0; std::vector group_ids; long long guild_id = 0; - std::string guild_name; int guild_job = 0; int last_login_time = 0; @@ -89,12 +88,12 @@ struct RoleData struct GuildMember { + int guild_job = 0; std::string account_id; std::string nickname; std::string avatar_url; int sex = 0; int last_login_time = 0; - int guild_job = 0; long long user_value1 = 0; long long user_value2 = 0; diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index a71cd6f..31b6e25 100644 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -39,8 +39,7 @@ message MFBaseUserData optional int32 sex = 4; //性别 1:男 2:女 0:未知 optional int32 last_login_time = 5; //最后登录时间 optional int64 guild_id = 6; //工会id - optional string guild_name = 7; //公会名称 - optional int32 guild_job = 8; //公会职位 + optional int32 guild_job = 7; //公会职位 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 841d661..b8a532b 100644 --- a/sql/relationdb_n.sql +++ b/sql/relationdb_n.sql @@ -48,7 +48,6 @@ CREATE TABLE `user` ( `user_value2` bigint NOT NULL DEFAULT '0' COMMENT 'user_value2', `user_value3` bigint NOT NULL DEFAULT '0' COMMENT 'user_value3', `guild_id` bigint NOT NULL COMMENT '工会id', - `guild_name` tinyblob COMMENT '公会名字', `guild_job` int(11) NOT NULL DEFAULT '0' COMMENT '公会职位', `createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',