From 0c65740607470953f7697b85f0d7fa1ef67115d4 Mon Sep 17 00:00:00 2001 From: Dom Eori <4j6dq2zi8@relay.firefox.com> Date: Sun, 26 Dec 2021 11:16:25 +0900 Subject: [PATCH] [aimedb] Pass existing aimeId for duplicated register request --- .../aqua/sega/aimedb/handler/impl/RegisterHandler.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/RegisterHandler.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/RegisterHandler.java index 17d8a9ef..34108fb2 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/RegisterHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/RegisterHandler.java @@ -53,9 +53,15 @@ public class RegisterHandler implements BaseHandler { resultMap.put("status", 1); resultMap.put("aimeId", card.getExtId().longValue()); } else { + /* Ongeki workaround: if the card is already registered, it will just return existing aimeId associated with luid. + I have strong feeling that we should investigate about register code (13) instead of this hack, + but it seems enough for mitigate "ongeki bright" error popup during login process. */ logger.warn("Duplicated Aime Card Register detected, access code: {}", requestMap.get("luid")); - resultMap.put("status", 0); - resultMap.put("aimeId", 0L); + + Card card = cardService.getCardByAccessCode((String) requestMap.get("luid")).get(); + + resultMap.put("status", 1); + resultMap.put("aimeId", card.getExtId().longValue()); } logger.info("Response: " + logMapper.write(resultMap));