diff --git a/call/user.go b/call/user.go index d9a5952..0f57db9 100644 --- a/call/user.go +++ b/call/user.go @@ -702,11 +702,11 @@ func AddGameRecord(uid int, provider int, gameId int) error { } // GetGameRecord 获取游玩记录 -func GetGameRecord(uid int) (gameList []*common.ConfigGameList) { +func GetGameRecord(uid, num int) (gameList []*common.ConfigGameList) { client := db.Redis().GetRedis() ctx := context.Background() playerGamesListKey := fmt.Sprintf("player:%d:games:list", uid) - games, err := client.LRange(ctx, playerGamesListKey, 0, -1).Result() + games, err := client.LRange(ctx, playerGamesListKey, 0, int64(num)).Result() if err != nil { log.Error("GetGameRecord LRange uid:%v,err:%v", uid, err) return nil @@ -750,9 +750,9 @@ func DelPlayerFavorite(uid int, provider int, gameId int) error { return nil } -func GetPlayerFavoriteList(uid int) (gameList []*common.ConfigGameList) { +func GetPlayerFavoriteList(uid, num int) (gameList []*common.ConfigGameList) { var ret []*common.PlayerFavorite - _, err := db.Mysql().QueryAll(fmt.Sprintf("uid = %v", uid), "create_at", &common.PlayerFavorite{}, &ret) + _, err := db.Mysql().QueryList(0, num, fmt.Sprintf("uid = %v", uid), "create_at", &common.PlayerFavorite{}, &ret) if err != nil { log.Error("GetPlayerFavoriteList Delete uid:%v,err:%v", uid, err) return diff --git a/modules/web/handler/firstpage.go b/modules/web/handler/firstpage.go index 6c228c8..5e1c777 100644 --- a/modules/web/handler/firstpage.go +++ b/modules/web/handler/firstpage.go @@ -59,9 +59,9 @@ func FirstPage(c *gin.Context) { List: make([]*common.ConfigGameList, 0), } if strings.ToLower(v.Name) == "recent" { - one.List = append(one.List, call.GetGameRecord(a.UID)...) + one.List = append(one.List, call.GetGameRecord(a.UID, req.GameNum)...) } else if strings.ToLower(v.Name) == "favorite" { - one.List = append(one.List, call.GetPlayerFavoriteList(a.UID)...) + one.List = append(one.List, call.GetPlayerFavoriteList(a.UID, req.GameNum)...) } else { gameNum := req.GameNum if strings.ToLower(v.Name) == "hot" { @@ -76,7 +76,9 @@ func FirstPage(c *gin.Context) { rand.Shuffle(len(one.List), func(i, j int) { one.List[i], one.List[j] = one.List[j], one.List[i] }) - one.List = one.List[:req.GameNum] + if len(one.List) > req.GameNum { + one.List = one.List[:req.GameNum] + } } } call.GetGameInfo(one.List)