From 449aa55a7c7f442bb2883c3829c51a2948853196 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 10 Apr 2024 16:34:26 +0800 Subject: [PATCH] 1 --- server/imserver_new/cache/cachemgr.go | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/server/imserver_new/cache/cachemgr.go b/server/imserver_new/cache/cachemgr.go index 56e0839b..fc32c799 100644 --- a/server/imserver_new/cache/cachemgr.go +++ b/server/imserver_new/cache/cachemgr.go @@ -98,13 +98,13 @@ func (this* cacheMgr) AsyncGetUsersAndFillMFGuildMember([]string, *[]*cs.MFGuild } -func (this *cacheMgr) AsyncSearch(sinceId int64, q string, - cb func(int32, string, int64, []string)) { +func (this *cacheMgr) AsyncSearch(sinceId int64, q string, pbUsers *[]*cs.MFUser, + cb func(int32, string, int64)) { f5.GetJsStyleDb().PageQuery( constant.GAME_DB, 50, 0, - "SELECT * FROM t_user WHERE 1=1", + "SELECT idx, account_id FROM t_user WHERE 1=1", []string{}, f5.GetDbFilter().Comp( f5.GetDbFilter().GT("idx", q5.ToString(sinceId)).And(), @@ -114,7 +114,7 @@ func (this *cacheMgr) AsyncSearch(sinceId int64, q string, func (err error, pg *f5.Pagination) { var lastSinceId int64 = sinceId if err != nil { - cb(500, "", lastSinceId, []string{}) + cb(500, "", lastSinceId) return } users := []string{} @@ -124,7 +124,7 @@ func (this *cacheMgr) AsyncSearch(sinceId int64, q string, if idx > lastSinceId { lastSinceId = idx } else { - panic(fmt.Sprintf("AsyncGetApply idx error:%s %s", idx, lastSinceId)) + panic(fmt.Sprintf("cacheMgr.AsyncSearch idx error:%s %s", idx, lastSinceId)) } u := this.getUser(accountId) if u == nil { @@ -133,9 +133,16 @@ func (this *cacheMgr) AsyncSearch(sinceId int64, q string, u.loadFromDb(pg.Rows) this.userHash[u.accountId] = u *q5.NewSliceElement(&users) = u.accountId - } - cb(0, "", lastSinceId, users) + this.AsyncGetUsersAndFillMFUser( + users, pbUsers, + func (errCode int32, errMsg string) { + if errCode != 0 { + cb(500, "", lastSinceId) + return + } + cb(0, "", lastSinceId) + }) }) }