From c9ca10939a6fad3724002a940438348e7f8a917b Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 10 Apr 2024 17:29:16 +0800 Subject: [PATCH] 1 --- server/imserver_new/cache/cachemgr.go | 21 +++++++++++++++++++-- server/imserver_new/cache/user_profile.go | 21 +++++++++++++++------ 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/server/imserver_new/cache/cachemgr.go b/server/imserver_new/cache/cachemgr.go index 0dc394a2..ccfb279e 100644 --- a/server/imserver_new/cache/cachemgr.go +++ b/server/imserver_new/cache/cachemgr.go @@ -98,10 +98,19 @@ func (this* cacheMgr) AsyncGetUsersAndFillMFUser(accountIds []string, pbUsers *[ cb(errCode, errMsg) return } + for _, accountId := range(accountIds) { + u := this.getUser(accountId) + if u != nil { + pbUser := new(cs.MFUser) + u.fillMFUser(pbUser) + q5.AppendSlice(pbUsers, pbUser) + } + } + cb(0, "") }) } -func (this* cacheMgr) AsyncGetUsersAndFillMFGuildMember(accountIds []string, pbUsers *[]*cs.MFGuildMember, +func (this* cacheMgr) AsyncGetUsersAndFillMFGuildMember(accountIds []string, pbMembers *[]*cs.MFGuildMember, cb func(int32, string)) { this.internalGetUsers( accountIds, @@ -110,7 +119,15 @@ func (this* cacheMgr) AsyncGetUsersAndFillMFGuildMember(accountIds []string, pbU cb(errCode, errMsg) return } - + for _, accountId := range(accountIds) { + u := this.getUser(accountId) + if u != nil { + pbMember := new(cs.MFGuildMember) + u.fillMFGuildMember(pbMember) + q5.AppendSlice(pbMembers, pbMember) + } + } + cb(0, "") }) } diff --git a/server/imserver_new/cache/user_profile.go b/server/imserver_new/cache/user_profile.go index 3f569f9c..591fcc25 100644 --- a/server/imserver_new/cache/user_profile.go +++ b/server/imserver_new/cache/user_profile.go @@ -21,21 +21,30 @@ type userProfile struct { lastSyncTime int64 } -func (this *userProfile) FillMFUser(pbUser *cs.MFUser) { +func (this *userProfile) fillMFUser(pbUser *cs.MFUser) { pbUser.AccountId = proto.String(this.accountId) pbUser.Username = proto.String(this.name) pbUser.Avatar = proto.Int32(q5.ToInt32(this.avatarUrl)) pbUser.AvatarHead = proto.Int32(q5.ToInt32(this.head)) + { + guild := GetGuildMgr().GetGuildByAccountId(this.accountId) + if guild != nil { + pbUser.GuildId = proto.Int64(q5.ToInt64(guild.GetGuildId())) + pbUser.GuildName = proto.String(guild.GetGuildName()) + } + } pbUser.Rank = proto.Int32(this.rank) - if GetPlayerMgr().GetPlayerByAccountId(this.accountId) != nil { - pbUser.OnlineStatus = proto.Int32(1) - } else { - pbUser.OnlineStatus = proto.Int32(0) + { + if GetPlayerMgr().GetPlayerByAccountId(this.accountId) != nil { + pbUser.OnlineStatus = proto.Int32(1) + } else { + pbUser.OnlineStatus = proto.Int32(0) + } } pbUser.LastLoginTime = proto.Int32(this.lastLoginTime) } -func (this *userProfile) FillMFGuildMember(pbMember *cs.MFGuildMember) { +func (this *userProfile) fillMFGuildMember(pbMember *cs.MFGuildMember) { pbMember.AccountId = proto.String(this.accountId) pbMember.Username = proto.String(this.name) pbMember.Avatar = proto.Int32(q5.ToInt32(this.avatarUrl))