From 823eea1f0aa499cb01d7891d13befe7fe6498d4a Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 21 Feb 2024 04:28:38 -0500 Subject: [PATCH] [F] Fix card detection --- .../icu/samnyan/aqua/sega/general/service/CardService.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/icu/samnyan/aqua/sega/general/service/CardService.kt b/src/main/java/icu/samnyan/aqua/sega/general/service/CardService.kt index 16b6a9fa..b61c5dd0 100644 --- a/src/main/java/icu/samnyan/aqua/sega/general/service/CardService.kt +++ b/src/main/java/icu/samnyan/aqua/sega/general/service/CardService.kt @@ -56,13 +56,14 @@ class CardService(val cardRepo: CardRepository) { * 4. Any of (2) or (3) converted to a decimal string, which is honestly the same as (1) so ignore this case */ fun tryLookup(id: String): Card? { + // First remove the colons and spaces + val idm = id.replace(":", "").replace(" ", "") + // Check case (1) and (4) - cardRepo.findByLuid(id)?.getOrNull()?.let { return it } - cardRepo.findByLuid(id.padStart(20, '0'))?.getOrNull()?.let { return it } + cardRepo.findByLuid(idm)?.getOrNull()?.let { return it } + cardRepo.findByLuid(idm.padStart(20, '0'))?.getOrNull()?.let { return it } // Check case (2) - // First remove the colons - val idm = id.replace(":", "") // Then convert to long, left pad zeros to make 20 digits, and look up idm.toLongOrNull(16)?.let { idmLong -> cardRepo.findByLuid("%020d".format(idmLong))?.getOrNull()?.let { return it }