1
This commit is contained in:
parent
b01e8159a1
commit
c2456dee43
@ -37,12 +37,6 @@ bool Guild::IsFull()
|
||||
return member_hash_.size() < 50;
|
||||
}
|
||||
|
||||
void Guild::Rename(const std::string& new_guild_name)
|
||||
{
|
||||
guild_name = new_guild_name;
|
||||
MarkDirty();
|
||||
}
|
||||
|
||||
void Guild::AddMember(GuildMember* member)
|
||||
{
|
||||
if (member_hash_.find(member->account_id) != member_hash_.end()) {
|
||||
@ -143,6 +137,7 @@ void Guild::_CMGuildRename(int socket_handle, const ss::MFIMMsgConext& context,
|
||||
guild_name = msg.new_name();
|
||||
cs::SMGuildRename respmsg;
|
||||
GuildMgr::Instance()->ForwardGuildSMMsg(socket_handle, context, respmsg);
|
||||
MarkDirty();
|
||||
}
|
||||
|
||||
void Guild::_CMGuildMemberList(int socket_handle, const ss::MFIMMsgConext& context, const cs::CMGuildMemberList& msg)
|
||||
@ -153,12 +148,38 @@ void Guild::_CMGuildMemberList(int socket_handle, const ss::MFIMMsgConext& conte
|
||||
respmsg.mutable_paging()->set_page_size(10);
|
||||
}
|
||||
AdjustPaging(respmsg.mutable_paging(), sorted_members_.size());
|
||||
for (size_t i = respmsg.paging().curr_page() * respmsg.paging().page_size();
|
||||
i < sorted_members_.size();
|
||||
++i) {
|
||||
if (respmsg.member_list().size() >= respmsg.paging().page_size()) {
|
||||
break;
|
||||
}
|
||||
auto p = respmsg.add_member_list();
|
||||
TypeConvert::Convert(*sorted_members_[i], *p);
|
||||
}
|
||||
GuildMgr::Instance()->ForwardGuildSMMsg(socket_handle, context, respmsg);
|
||||
}
|
||||
|
||||
void Guild::_CMGuildLog(int socket_handle, const ss::MFIMMsgConext& context, const cs::CMGuildLog& msg)
|
||||
{
|
||||
|
||||
cs::SMGuildLog respmsg;
|
||||
*respmsg.mutable_paging() = msg.paging();
|
||||
if (respmsg.paging().page_size() <= 0) {
|
||||
respmsg.mutable_paging()->set_page_size(10);
|
||||
}
|
||||
AdjustPaging(respmsg.mutable_paging(), logdb_->logs().size());
|
||||
for (int i = respmsg.paging().curr_page() * respmsg.paging().page_size();
|
||||
i < logdb_->logs().size();
|
||||
++i) {
|
||||
#if 0
|
||||
if (respmsg.member_list().size() >= respmsg.paging().page_size()) {
|
||||
break;
|
||||
}
|
||||
auto p = respmsg.add_member_list();
|
||||
TypeConvert::Convert(*sorted_members_[i], *p);
|
||||
#endif
|
||||
}
|
||||
GuildMgr::Instance()->ForwardGuildSMMsg(socket_handle, context, respmsg);
|
||||
}
|
||||
|
||||
void Guild::FillGuildBasic(cs::MFGuildBasic* guild_basic)
|
||||
|
@ -67,7 +67,6 @@ class Guild
|
||||
|
||||
private:
|
||||
bool IsFull();
|
||||
void Rename(const std::string& new_guild_name);
|
||||
GuildMember* GetMember(const std::string& account_id);
|
||||
void AddMember(GuildMember* member);
|
||||
void RemoveMember(const std::string& account_id);
|
||||
@ -82,6 +81,6 @@ private:
|
||||
bool dirty_ = false;
|
||||
timer_list* dirty_timer_ = nullptr;
|
||||
std::map<std::string, GuildMember*> member_hash_;
|
||||
std::list<GuildMember*> sorted_members_;
|
||||
std::vector<GuildMember*> sorted_members_;
|
||||
ss::MFGuildLogDB* logdb_ = nullptr;
|
||||
};
|
||||
|
@ -68,6 +68,20 @@ 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)
|
||||
{
|
||||
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();
|
||||
|
@ -23,6 +23,7 @@ class TypeConvert
|
||||
|
||||
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 GuildMember& member, cs::MFBaseUserData& base_data_pb);
|
||||
|
||||
static void Convert(const cs::MFBaseUserData& base_data_pb, BaseUserData& base_data);
|
||||
static void Convert(const BaseUserData& base_data, cs::MFBaseUserData& base_data_pb);
|
||||
|
@ -39,6 +39,8 @@ 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 int64 user_value1 = 50; //用户字段1
|
||||
optional int64 user_value2 = 51; //用户字段2
|
||||
@ -466,17 +468,19 @@ message SMGuildMemberList
|
||||
optional int32 errcode = 1; //错误码
|
||||
optional string errmsg = 2; //错误信息
|
||||
optional MFPaging paging = 3; //分页信息
|
||||
repeated MFGuildBasic guild_list = 4; //公会列表
|
||||
repeated MFBaseUserData member_list = 4; //公会成员列表
|
||||
}
|
||||
|
||||
//公会动态(日志)
|
||||
message CMGuildLog
|
||||
{
|
||||
optional MFPaging paging = 1; //分页信息
|
||||
}
|
||||
message SMGuildLog
|
||||
{
|
||||
optional int32 errcode = 1; //错误码
|
||||
optional string errmsg = 2; //错误信息
|
||||
optional MFPaging paging = 3; //分页信息
|
||||
/*
|
||||
values[0]: account_id
|
||||
values[1]: 角色名
|
||||
@ -484,7 +488,7 @@ message SMGuildLog
|
||||
values[3]: 行为时间(unix时间戳)
|
||||
values[4]: 行为
|
||||
*/
|
||||
repeated MFStringTuple logs = 3;
|
||||
repeated MFStringTuple logs = 4;
|
||||
}
|
||||
|
||||
//发送聊天消息
|
||||
|
Loading…
x
Reference in New Issue
Block a user