From 01cb0c4b9002daa476bd4239482d6b5285d54323 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Sun, 5 Jan 2025 04:23:41 -0500 Subject: [PATCH] [+] Add playlog info to battle log when upsert --- src/main/java/ext/Ext.kt | 1 + .../samnyan/aqua/sega/chusan/handler/ChusanUpsertApis.kt | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/ext/Ext.kt b/src/main/java/ext/Ext.kt index a94651df..0fdcfe53 100644 --- a/src/main/java/ext/Ext.kt +++ b/src/main/java/ext/Ext.kt @@ -196,6 +196,7 @@ fun Map.vNotNull(): Map = filterValues { it != null }.m fun MutableList.popAll(list: List) = list.also { removeAll(it) } fun MutableList.popAll(vararg items: T) = popAll(items.toList()) inline fun Iterable.mapApply(block: T.() -> Unit) = map { it.apply(block) } +inline fun Iterable.mapApplyI(block: T.(Int) -> Unit) = mapIndexed { i, e -> e.apply { block(i) } } @Suppress("UNCHECKED_CAST") fun Map.recursiveNotNull(): Map = mapNotNull { (k, v) -> k to if (v is Map<*, *>) (v as Map).recursiveNotNull() else v diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/ChusanUpsertApis.kt b/src/main/java/icu/samnyan/aqua/sega/chusan/handler/ChusanUpsertApis.kt index 58790dc6..e8bb3664 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/ChusanUpsertApis.kt +++ b/src/main/java/icu/samnyan/aqua/sega/chusan/handler/ChusanUpsertApis.kt @@ -71,7 +71,13 @@ fun ChusanController.upsertApiInit() { // Playlog userPlaylogList?.let { db.userPlaylog.saveAll(it) } - userNetBattlelogList?.let { db.netBattleLog.saveAll(it.mapApply { + userNetBattlelogList?.let { db.netBattleLog.saveAll(it.mapApplyI { i -> + userPlaylogList?.getOrNull(i)?.let { + musicId = it.musicId + difficultyId = it.level + score = it.score + } + selectUserName = selectUserName.fromChusanUsername() opponentUserName1 = opponentUserName1.fromChusanUsername() opponentUserName2 = opponentUserName2.fromChusanUsername()