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