Make rank actually contain rank

This commit is contained in:
Howl 2016-08-15 21:37:24 +02:00
parent 954ec755b8
commit cab63a94ac

View File

@ -3,12 +3,14 @@ package peppy
import ( import (
"database/sql" "database/sql"
"strconv" "strconv"
"strings"
"git.zxq.co/ripple/rippleapi/common" "git.zxq.co/ripple/rippleapi/common"
"git.zxq.co/x/getrank"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/jmoiron/sqlx" "github.com/jmoiron/sqlx"
"github.com/thehowl/go-osuapi" "gopkg.in/thehowl/go-osuapi.v1"
) )
// GetScores retrieve information about the top 100 scores of a specified beatmap. // GetScores retrieve information about the top 100 scores of a specified beatmap.
@ -36,7 +38,8 @@ func GetScores(c *gin.Context, db *sqlx.DB) {
SELECT SELECT
scores.id, scores.score, users.username, scores.300_count, scores.100_count, scores.id, scores.score, users.username, scores.300_count, scores.100_count,
scores.50_count, scores.misses_count, scores.gekis_count, scores.katus_count, scores.50_count, scores.misses_count, scores.gekis_count, scores.katus_count,
scores.max_combo, scores.full_combo, scores.mods, users.id, scores.time, scores.pp scores.max_combo, scores.full_combo, scores.mods, users.id, scores.time, scores.pp,
scores.accuracy
FROM scores FROM scores
INNER JOIN users ON users.id = scores.userid INNER JOIN users ON users.id = scores.userid
WHERE scores.completed = '3' WHERE scores.completed = '3'
@ -57,11 +60,13 @@ ORDER BY `+sb+` DESC LIMIT `+strconv.Itoa(common.InString(1, c.Query("limit"), 1
fullcombo bool fullcombo bool
mods int mods int
date common.OsuTime date common.OsuTime
accuracy float64
) )
err := rows.Scan( err := rows.Scan(
&s.ScoreID, &s.Score.Score, &s.Username, &s.Count300, &s.Count100, &s.ScoreID, &s.Score.Score, &s.Username, &s.Count300, &s.Count100,
&s.Count50, &s.CountMiss, &s.CountGeki, &s.CountKatu, &s.Count50, &s.CountMiss, &s.CountGeki, &s.CountKatu,
&s.MaxCombo, &fullcombo, &mods, &s.UserID, &date, &s.PP, &s.MaxCombo, &fullcombo, &mods, &s.UserID, &date, &s.PP,
&accuracy,
) )
if err != nil { if err != nil {
if err != sql.ErrNoRows { if err != sql.ErrNoRows {
@ -72,6 +77,8 @@ ORDER BY `+sb+` DESC LIMIT `+strconv.Itoa(common.InString(1, c.Query("limit"), 1
s.FullCombo = osuapi.OsuBool(fullcombo) s.FullCombo = osuapi.OsuBool(fullcombo)
s.Mods = osuapi.Mods(mods) s.Mods = osuapi.Mods(mods)
s.Date = osuapi.MySQLDate(date) s.Date = osuapi.MySQLDate(date)
s.Rank = strings.ToUpper(getrank.GetRank(osuapi.Mode(genmodei(c.Query("m"))), s.Mods,
accuracy, s.Count300, s.Count100, s.Count50, s.CountMiss))
results = append(results, s) results = append(results, s)
} }
c.JSON(200, results) c.JSON(200, results)