[F] Fix ranking username conflict

pull/30/head
Azalea 2024-04-20 11:25:37 +09:00
parent 4215b39539
commit c854dd9a45
1 changed files with 3 additions and 2 deletions

View File

@ -52,7 +52,8 @@ abstract class GameApiController<T : IUserData>(name: String, userDataClass: KCl
val players = userDataRepo.findAll().sortedByDescending { it.playerRating } val players = userDataRepo.findAll().sortedByDescending { it.playerRating }
.filter { it.card?.rankingBanned != true || it.card?.aquaUser?.let { it == reqUser } ?: false } .filter { it.card?.rankingBanned != true || it.card?.aquaUser?.let { it == reqUser } ?: false }
return players.filter { it.card != null }.mapIndexed { i, user -> return players.filter { it.card != null }.mapIndexed { i, user ->
val plays = playlogRepo.findByUserCardExtId(user.card!!.extId) val card = user.card!!
val plays = playlogRepo.findByUserCardExtId(card.extId)
GenericRankingPlayer( GenericRankingPlayer(
rank = i + 1, rank = i + 1,
@ -62,7 +63,7 @@ abstract class GameApiController<T : IUserData>(name: String, userDataClass: KCl
allPerfect = plays.count { it.isAllPerfect }, allPerfect = plays.count { it.isAllPerfect },
fullCombo = plays.count { it.isFullCombo }, fullCombo = plays.count { it.isFullCombo },
lastSeen = user.lastPlayDate.toString(), lastSeen = user.lastPlayDate.toString(),
username = user.card!!.aquaUser?.username ?: "user${user.card!!.id}" username = (if (card.isGhost) user.card!!.aquaUser?.username else null) ?: "user${user.card!!.id}"
) )
}.also { rankingCache[cacheKey] = millis() to it } // Update cache }.also { rankingCache[cacheKey] = millis() to it } // Update cache
} }