This commit is contained in:
aozhiwei 2020-09-17 15:53:30 +08:00
parent a72cf893c8
commit d4bece3b63
7 changed files with 56 additions and 19 deletions

View File

@ -8,6 +8,7 @@
#include "dbengine.h" #include "dbengine.h"
#include "app.h" #include "app.h"
#include "guildmgr.h" #include "guildmgr.h"
#include "typeconvert.h"
void Guild::Init() void Guild::Init()
{ {
@ -96,7 +97,9 @@ void Guild::Deserialize(const std::string& guild_data, const std::string& guild_
ss::MFGuildDB guilddb; ss::MFGuildDB guilddb;
guilddb.ParseFromString(guild_data); guilddb.ParseFromString(guild_data);
for (auto& member_pb : guilddb.members()) { for (auto& member_pb : guilddb.members()) {
GuildMember* member = new GuildMember;
TypeConvert::Convert(member_pb.base_data(), *member);
member_hash_[member->account_id] = member;
} }
} }

View File

@ -22,24 +22,6 @@ namespace ss
class MFGuildLogDB; class MFGuildLogDB;
} }
struct GuildMember
{
std::string account_id;
std::string nickname;
std::string avatar_url;
int sex = 0;
int last_login_time = 0;
long long guild_id = 0;
int guild_job = 0;
long long user_value1 = 0;
long long user_value2 = 0;
long long user_value3 = 0;
int data_version1 = 0;
int online = 0;
};
namespace ss namespace ss
{ {
class MFGuildDB; class MFGuildDB;

View File

@ -54,6 +54,34 @@ void TypeConvert::Convert(const ss::MFBaseUserDataDB& base_data_pb, BaseUserData
base_data.base_data_version = base_data_pb.base_data_version(); base_data.base_data_version = base_data_pb.base_data_version();
} }
void TypeConvert::Convert(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_job(member.guild_job);
base_data_pb.set_user_value1(member.user_value1);
base_data_pb.set_user_value2(member.user_value2);
base_data_pb.set_user_value3(member.user_value3);
base_data_pb.set_base_data_version(member.data_version1);
}
void TypeConvert::Convert(const ss::MFBaseUserDataDB& base_data_pb, GuildMember& member)
{
member.account_id = base_data_pb.account_id();
member.nickname = base_data_pb.nickname();
member.avatar_url = base_data_pb.avatar_url();
member.sex = base_data_pb.sex();
member.last_login_time = base_data_pb.last_login_time();
member.guild_job = base_data_pb.guild_job();
member.user_value1 = base_data_pb.user_value1();
member.user_value2 = base_data_pb.user_value2();
member.user_value3 = base_data_pb.user_value3();
member.data_version1 = base_data_pb.base_data_version();
}
void TypeConvert::Convert(const cs::MFBaseUserData& base_data_pb, BaseUserData& base_data) void TypeConvert::Convert(const cs::MFBaseUserData& base_data_pb, BaseUserData& base_data)
{ {
base_data.account_id = base_data_pb.account_id(); base_data.account_id = base_data_pb.account_id();

View File

@ -21,6 +21,9 @@ class TypeConvert
static void Convert(const BaseUserData& base_data, ss::MFBaseUserDataDB& base_data_pb); 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 ss::MFBaseUserDataDB& base_data_pb, BaseUserData& base_data);
static void Convert(const GuildMember& member, ss::MFBaseUserDataDB& base_data_pb);
static void Convert(const ss::MFBaseUserDataDB& base_data_pb, GuildMember& member);
static void Convert(const cs::MFBaseUserData& base_data_pb, BaseUserData& base_data); static void Convert(const cs::MFBaseUserData& base_data_pb, BaseUserData& base_data);
static void Convert(const BaseUserData& base_data, cs::MFBaseUserData& base_data_pb); static void Convert(const BaseUserData& base_data, cs::MFBaseUserData& base_data_pb);
static void Convert(const cs::MFUserTempCustomData& temp_custom_data_pb, static void Convert(const cs::MFUserTempCustomData& temp_custom_data_pb,

View File

@ -75,3 +75,20 @@ struct RoleData
int save_count = 0; int save_count = 0;
int last_save_time = 0; int last_save_time = 0;
}; };
struct GuildMember
{
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;
long long user_value3 = 0;
int data_version1 = 0;
int online = 0;
};

View File

@ -44,6 +44,8 @@ message MFBaseUserDataDB
optional int32 sex = 4; // 1 2 0 optional int32 sex = 4; // 1 2 0
optional int32 last_login_time = 5; // optional int32 last_login_time = 5; //
optional int64 guild_id = 6; //id optional int64 guild_id = 6; //id
optional string guild_name = 7; //
optional int32 guild_job = 8; //
optional int64 user_value1 = 50; //1 optional int64 user_value1 = 50; //1
optional int64 user_value2 = 51; //2 optional int64 user_value2 = 51; //2

View File

@ -48,6 +48,8 @@ CREATE TABLE `user` (
`user_value2` bigint NOT NULL DEFAULT '0' COMMENT 'user_value2', `user_value2` bigint NOT NULL DEFAULT '0' COMMENT 'user_value2',
`user_value3` bigint NOT NULL DEFAULT '0' COMMENT 'user_value3', `user_value3` bigint NOT NULL DEFAULT '0' COMMENT 'user_value3',
`guild_id` bigint NOT NULL COMMENT '工会id', `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 '创建时间', `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 '创建时间',