1
This commit is contained in:
parent
f0c6445d06
commit
d204076325
@ -33,7 +33,7 @@ GuildMember* Guild::GetMember(const std::string& account_id)
|
||||
|
||||
bool Guild::IsFull()
|
||||
{
|
||||
return member_hash_.size() < 100;
|
||||
return member_hash_.size() < 50;
|
||||
}
|
||||
|
||||
void Guild::Rename(const std::string& new_guild_name)
|
||||
@ -102,6 +102,7 @@ void Guild::Deserialize(const std::string& guild_data, const std::string& guild_
|
||||
TypeConvert::Convert(member_pb.base_data(), *member);
|
||||
member_hash_[member->account_id] = member;
|
||||
}
|
||||
GenSortedMembers();
|
||||
}
|
||||
|
||||
void Guild::_CMGuildInfo(int socket_handle, const ss::MFIMMsgConext& context, const cs::CMGuildInfo& msg)
|
||||
@ -145,7 +146,17 @@ void Guild::_CMGuildRename(int socket_handle, const ss::MFIMMsgConext& context,
|
||||
|
||||
void Guild::_CMGuildMemberList(int socket_handle, const ss::MFIMMsgConext& context, const cs::CMGuildMemberList& msg)
|
||||
{
|
||||
|
||||
cs::SMGuildMemberList respmsg;
|
||||
*respmsg.mutable_paging() = msg.paging();
|
||||
if (respmsg.paging().page_size() <= 0) {
|
||||
respmsg.mutable_paging()->set_page_size(10);
|
||||
}
|
||||
respmsg.mutable_paging()->set__total_page(std::ceil(sorted_members_.size() / respmsg.paging().page_size()));
|
||||
respmsg.mutable_paging()->set__total_count(sorted_members_.size());
|
||||
if (respmsg.paging().curr_page() >= respmsg.paging()._total_page()) {
|
||||
respmsg.mutable_paging()->set_curr_page(respmsg.paging()._total_page());
|
||||
}
|
||||
GuildMgr::Instance()->ForwardGuildSMMsg(socket_handle, context, respmsg);
|
||||
}
|
||||
|
||||
void Guild::_CMGuildLog(int socket_handle, const ss::MFIMMsgConext& context, const cs::CMGuildLog& msg)
|
||||
@ -253,3 +264,11 @@ void Guild::SaveToDB()
|
||||
guild_id
|
||||
);
|
||||
}
|
||||
|
||||
void Guild::GenSortedMembers()
|
||||
{
|
||||
sorted_members_.clear();
|
||||
for (auto& pair : member_hash_) {
|
||||
sorted_members_.push_back(pair.second);
|
||||
}
|
||||
}
|
||||
|
@ -76,6 +76,7 @@ private:
|
||||
void FillGuildDB(ss::MFGuildDB& guild_pb);
|
||||
void SerializeMembers(std::string& guild_members);
|
||||
void SaveToDB();
|
||||
void GenSortedMembers();
|
||||
|
||||
private:
|
||||
bool dirty_ = false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user