From 5d44d76671f833ff65448fcb6aa31a713cb63308 Mon Sep 17 00:00:00 2001 From: Stedoss Date: Sat, 2 Nov 2024 20:43:35 +0000 Subject: [PATCH] Attempt to add replay to replay cache on importing scores --- .../nisemoe/nise/scheduler/ImportScores.kt | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/nise-backend/src/main/kotlin/com/nisemoe/nise/scheduler/ImportScores.kt b/nise-backend/src/main/kotlin/com/nisemoe/nise/scheduler/ImportScores.kt index df2af9d..7052e9a 100644 --- a/nise-backend/src/main/kotlin/com/nisemoe/nise/scheduler/ImportScores.kt +++ b/nise-backend/src/main/kotlin/com/nisemoe/nise/scheduler/ImportScores.kt @@ -3,6 +3,8 @@ package com.nisemoe.nise.scheduler import com.nisemoe.generated.tables.records.ScoresRecord import com.nisemoe.generated.tables.references.* import com.nisemoe.nise.UserQueueDetails +import com.nisemoe.nise.database.ReplayCacheReplay +import com.nisemoe.nise.database.ReplayCacheService import com.nisemoe.nise.database.ScoreService import com.nisemoe.nise.database.UserService import com.nisemoe.nise.integrations.CircleguardService @@ -36,6 +38,7 @@ import org.springframework.web.bind.annotation.RestController import java.time.LocalDateTime import java.time.OffsetDateTime import java.time.ZoneOffset +import java.util.Base64 @Service @RestController @@ -49,7 +52,8 @@ class ImportScores( private val scoreService: ScoreService, private val updateUserQueueService: UpdateUserQueueService, private val circleguardService: CircleguardService, - private val messagingTemplate: SimpMessagingTemplate + private val messagingTemplate: SimpMessagingTemplate, + private val replayCacheService: ReplayCacheService, ) : InitializingBean { private val userToUpdateBucket = mutableListOf() @@ -784,6 +788,22 @@ class ImportScores( ) } + // Insert into replay cache + val replayCacheReplay = ReplayCacheReplay( + score.best_id, + beatmapId, + score.user_id.toInt(), + Base64.getDecoder().decode(scoreReplay.content), + Mod.combineModStrings(score.mods), + ) + val replayCacheInsertSuccess = replayCacheService.insertReplay(replayCacheReplay) + + if (replayCacheInsertSuccess) { + logger.info("Inserted replay ${score.id} into replay cache") + } else { + logger.error("Could not insert replay ${score.id} into replay cache") + } + this.statistics.scoresWithReplayAndAnalyzed++ if (scoreId == null) {