From 428ec197c9b711eaec56bc4217ca5684b5f1151e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 23 Mar 2024 09:53:56 +0800 Subject: [PATCH] 1 --- server/imserver_new/cache/cachemgr.go | 4 ++-- server/imserver_new/common/types.go | 4 ++-- server/imserver_new/player/player.go | 12 +++++++++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/server/imserver_new/cache/cachemgr.go b/server/imserver_new/cache/cachemgr.go index 6fb6ccbd..0003e6fe 100644 --- a/server/imserver_new/cache/cachemgr.go +++ b/server/imserver_new/cache/cachemgr.go @@ -17,7 +17,7 @@ func (this *CacheMgr) init() { func (this *CacheMgr) UnInit() { } -func (this *CacheMgr) AsyncGetUsers(accountIds []string, cb func(bool)) { +func (this *CacheMgr) AsyncGetUsers(accountIds []string, cb func(int32, string)) { } @@ -31,7 +31,7 @@ func (this *CacheMgr) GetUserProfile(accountId string) common.UserProfile { func (this *CacheMgr) PreLoad(accountIds []string) { } -func (this *CacheMgr) Search(sinceId int64, q string, +func (this *CacheMgr) AsyncSearch(sinceId int64, q string, cb func(int32, string, int64, []string)) { } diff --git a/server/imserver_new/common/types.go b/server/imserver_new/common/types.go index dc027eb5..20b42f6a 100644 --- a/server/imserver_new/common/types.go +++ b/server/imserver_new/common/types.go @@ -71,9 +71,9 @@ type GuildMgr interface { type CacheMgr interface { PreLoadUser([]string) - AsyncGetUsers([]string, func(bool)) GetUserProfile(string) UserProfile - Search(int64, string, func(int32, string, int64, []string)) + AsyncGetUsers([]string, func(int32, string)) + AsyncSearch(int64, string, func(int32, string, int64, []string)) } type ChatMgr interface { diff --git a/server/imserver_new/player/player.go b/server/imserver_new/player/player.go index d9664312..6e498776 100644 --- a/server/imserver_new/player/player.go +++ b/server/imserver_new/player/player.go @@ -52,7 +52,8 @@ func (this *player) CMPing(hdr *f5.MsgHdr, msg *cs.CMPing) { } func (this *player) CMSearchUser(hdr *f5.MsgHdr, msg *cs.CMSearchUser) { - GetCacheMgr().Search(msg.GetSinceId(), + GetCacheMgr().AsyncSearch( + msg.GetSinceId(), msg.GetUsername(), func (errCode int32, errMsg string, sinceId int64, accountIds []string) { rspMsg := new(cs.SMSearchUser) @@ -74,6 +75,15 @@ func (this *player) CMSearchUser(hdr *f5.MsgHdr, msg *cs.CMSearchUser) { } func (this *player) CMSearchUserByAccountId(hdr *f5.MsgHdr, msg *cs.CMSearchUserByAccountId) { + GetCacheMgr().AsyncGetUsers( + []string{msg.GetAccountId()}, + func (errCode int32, errMsg string) { + rspMsg := new(cs.SMSearchUserByAccountId) + if errCode != 0 { + this.SendMsg(rspMsg.Err(1, "internal server error")) + return + } + }) } func (this *player) CMListPendingFriendRequest(hdr *f5.MsgHdr, msg *cs.CMListPendingFriendRequest) {