From 381ed6d0a4d2223d7b032bf6f78ddb5b22a51310 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Fri, 22 Sep 2023 14:00:02 +0300 Subject: fix: leaderboards tie check, ordering (#60) Former-commit-id: 69f789db003f9c1a8eaf200bbbb0f5cb773d5e45 --- backend/handlers/map.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'backend/handlers/map.go') diff --git a/backend/handlers/map.go b/backend/handlers/map.go index af34dec..c1f68eb 100644 --- a/backend/handlers/map.go +++ b/backend/handlers/map.go @@ -188,7 +188,8 @@ func FetchMapLeaderboards(c *gin.Context) { ) sub JOIN users AS host ON sub.host_id = host.steam_id JOIN users AS partner ON sub.partner_id = partner.steam_id - WHERE sub.rn = 1` + WHERE sub.rn = 1 + ORDER BY score_count, score_time` rows, err := database.DB.Query(sql, id) if err != nil { c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) @@ -203,7 +204,7 @@ func FetchMapLeaderboards(c *gin.Context) { c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return } - if len(records) != 0 && records[len(records)-1].ScoreTime == record.ScoreTime { + if len(records) != 0 && records[len(records)-1].ScoreCount == record.ScoreCount && records[len(records)-1].ScoreTime == record.ScoreTime { ties++ record.Placement = placement - ties } else { @@ -234,7 +235,8 @@ func FetchMapLeaderboards(c *gin.Context) { WHERE map_id = $1 ) sub INNER JOIN users ON user_id = users.steam_id - WHERE rn = 1` + WHERE rn = 1 + ORDER BY score_count, score_time` rows, err := database.DB.Query(sql, id) if err != nil { c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) @@ -249,7 +251,7 @@ func FetchMapLeaderboards(c *gin.Context) { c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) return } - if len(records) != 0 && records[len(records)-1].ScoreTime == record.ScoreTime { + if len(records) != 0 && records[len(records)-1].ScoreCount == record.ScoreCount && records[len(records)-1].ScoreTime == record.ScoreTime { ties++ record.Placement = placement - ties } else { -- cgit v1.2.3