diff --git a/server/imserver/cache/cachemgr.go b/server/imserver/cache/cachemgr.go index 61dee41b..13e3e218 100644 --- a/server/imserver/cache/cachemgr.go +++ b/server/imserver/cache/cachemgr.go @@ -188,21 +188,33 @@ func (this *cacheMgr) AsyncRecommendList(recommendType int32, accountId string, if recommendType == constant.RECOMMEND_TYPE_BATTLE { GetPlayerMgr().GetRecommendPlayers(excludeHums, outHums, 3) } else if recommendType == constant.RECOMMEND_TYPE_RECENT_GAME { - f5.GetJsStyleDb().PageQuery( - constant.FRIEND_DB, - 5, - 0, - "SELECT * FROM t_recent_battle WHERE 1=1", - []string{}, - f5.GetDbFilter().Comp( - f5.GetDbFilter().GT("idx", q5.ToString(0)).And(), - f5.GetDbFilter().Like("account_id1", q5.ToString(accountId)).Or(), - f5.GetDbFilter().Like("account_id2", q5.ToString(accountId)), - ), - "ORDER BY last_battle_time DESC", - func (err error, pg *f5.Pagination) { - - }) + f5.GetJsStyleDb().PageQuery( + constant.FRIEND_DB, + 5, + 0, + "SELECT * FROM t_recent_battle WHERE 1=1", + []string{}, + f5.GetDbFilter().Comp( + f5.GetDbFilter().GT("idx", q5.ToString(0)).And(), + f5.GetDbFilter().Like("account_id1", q5.ToString(accountId)).Or(), + f5.GetDbFilter().Like("account_id2", q5.ToString(accountId)), + ), + "ORDER BY last_battle_time DESC", + func (err error, pg *f5.Pagination) { + if err != nil { + cb(500, "server internal error") + return + } + for pg.Rows.Next() { + accountId1 := pg.Rows.GetByName("account_id1") + accountId2 := pg.Rows.GetByName("account_id2") + if accountId1 == accountId { + outHums[accountId2] = 1 + } else { + outHums[accountId1] = 1 + } + } + }) } }