From e41bdecd5bcdd96445986e7a229aa74a49c34631 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Fri, 20 Dec 2024 07:01:19 -0500 Subject: [PATCH] [O] Better chusan handling --- .../sega/chusan/ChusanServletController.kt | 28 ++++++----- .../chusan/handler/GetGameIdlistHandler.java | 47 ------------------- .../chusan/handler/GetGameRankingHandler.java | 43 ----------------- .../handler/GetTeamCourseRuleHandler.java | 40 ---------------- .../handler/GetTeamCourseSettingHandler.java | 41 ---------------- 5 files changed, 15 insertions(+), 184 deletions(-) delete mode 100644 src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetGameIdlistHandler.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetGameRankingHandler.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetTeamCourseRuleHandler.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetTeamCourseSettingHandler.java diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanServletController.kt b/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanServletController.kt index 00384dc7..9cafcf57 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanServletController.kt +++ b/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanServletController.kt @@ -2,12 +2,12 @@ package icu.samnyan.aqua.sega.chusan import ext.* import icu.samnyan.aqua.net.utils.simpleDescribe -import icu.samnyan.aqua.sega.chunithm.handler.impl.GetGameIdlistHandler import icu.samnyan.aqua.sega.chusan.handler.* import icu.samnyan.aqua.sega.general.BaseHandler +import icu.samnyan.aqua.sega.util.jackson.StringMapper import icu.samnyan.aqua.spring.Metrics import org.slf4j.LoggerFactory -import org.springframework.web.bind.annotation.* +import org.springframework.web.bind.annotation.RestController import kotlin.reflect.full.declaredMemberProperties /** @@ -21,11 +21,7 @@ class ChusanServletController( val gameLogout: GameLogoutHandler, val getGameCharge: GetGameChargeHandler, val getGameEvent: GetGameEventHandler, - val getGameIdlist: GetGameIdlistHandler, - val getGameRanking: GetGameRankingHandler, val getGameSetting: GetGameSettingHandler, - val getTeamCourseRule: GetTeamCourseRuleHandler, - val getTeamCourseSetting: GetTeamCourseSettingHandler, val getUserActivity: GetUserActivityHandler, val getUserCharacter: GetUserCharacterHandler, val getUserCharge: GetUserChargeHandler, @@ -69,10 +65,16 @@ class ChusanServletController( // Luminous val getUserCMission: GetUserCMissionHandler, val getUserNetBattleRankingInfo: GetUserNetBattleRankingInfoHandler, - val getGameMapAreaCondition: GetGameMapAreaConditionHandler + val getGameMapAreaCondition: GetGameMapAreaConditionHandler, + + val mapper: StringMapper ) { val logger = LoggerFactory.getLogger(ChusanServletController::class.java) + val getGameRanking = BaseHandler { """{"type":"${it["type"]}","length":"0","gameRankingList":[]}""" } + val getGameIdlist = BaseHandler { """{"type":"${it["type"]}","length":"0","gameRankingList":[]}""" } + val getTeamCourseSetting = BaseHandler { """{"userId":"${it["userId"]}","length":"0","nextIndex":"0","teamCourseSettingList":[]}""" } + val getTeamCourseRule = BaseHandler { """{"userId":"${it["userId"]}","length":"0","nextIndex":"0","teamCourseRuleList":[]}""" } val getUserCtoCPlay = BaseHandler { """{"userId":"${it["userId"]}","orderBy":"0","count":"0","userCtoCPlayList":[]}""" } val cmUpsertUserPrint = BaseHandler { """{"returnCode":1,"orderId":"0","serialId":"FAKECARDIMAG12345678","apiName":"CMUpsertUserPrintApi"}""" } val cmUpsertUserPrintlog = BaseHandler { """{"returnCode":1,"orderId":"0","serialId":"FAKECARDIMAG12345678","apiName":"CMUpsertUserPrintlogApi"}""" } @@ -121,24 +123,24 @@ class ChusanServletController( } if (api in matchingEndpoints) api = "MatchingServer/$api" - logger.info("Chu3 $api : $request") if (api !in noopEndpoint && !handlers.containsKey(api)) { - logger.warn("Chu3 $api not found") + logger.warn("Chu3 > $api not found") return """{"returnCode":"1","apiName":"$api"}""" } // Only record the counter metrics if the API is known. Metrics.counter("aquadx_chusan_api_call", "api" to api).increment() - if (api in noopEndpoint) { + logger.info("Chu3 > $api no-op") return """{"returnCode":"1"}""" } + logger.info("Chu3 > $api : $request") return try { Metrics.timer("aquadx_chusan_api_latency", "api" to api).recordCallable { - handlers[api]?.handle(request) ?: { - logger.warn("Chu3 $api not found") - """{"returnCode":"1","apiName":"$api"}""" + handlers[api]!!.handle(request).let { if (it is String) it else mapper.write(it) }.also { + if (api !in setOf("GetUserItemApi", "GetGameEventApi")) + logger.info("Chu3 > $api : $it") } } } catch (e: Exception) { diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetGameIdlistHandler.java b/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetGameIdlistHandler.java deleted file mode 100644 index b526f63f..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetGameIdlistHandler.java +++ /dev/null @@ -1,47 +0,0 @@ -package icu.samnyan.aqua.sega.chusan.handler; - -import com.fasterxml.jackson.core.JsonProcessingException; -import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.util.jackson.StringMapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Component("ChusanGetGameIdlistHandler") -public class GetGameIdlistHandler implements BaseHandler { - - private static final Logger logger = LoggerFactory.getLogger(GetGameIdlistHandler.class); - - private final StringMapper mapper; - - @Autowired - public GetGameIdlistHandler(StringMapper mapper) { - this.mapper = mapper; - } - - @Override - public String handle(Map request) throws JsonProcessingException { - String type = (String) request.get("type"); - - List gameIdlistList = new ArrayList<>(); - - Map resultMap = new LinkedHashMap<>(); - resultMap.put("type", type); - resultMap.put("length", 0); - resultMap.put("gameIdlistList", gameIdlistList); - - String json = mapper.write(resultMap); - logger.info("Response: " + json); - return json; - } - -} diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetGameRankingHandler.java b/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetGameRankingHandler.java deleted file mode 100644 index ee2919be..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetGameRankingHandler.java +++ /dev/null @@ -1,43 +0,0 @@ -package icu.samnyan.aqua.sega.chusan.handler; - -import com.fasterxml.jackson.core.JsonProcessingException; -import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.util.jackson.StringMapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Component("ChusanGetGameRankingHandler") -public class GetGameRankingHandler implements BaseHandler { - - private static final Logger logger = LoggerFactory.getLogger(GetGameRankingHandler.class); - - private final StringMapper mapper; - - @Autowired - public GetGameRankingHandler(StringMapper mapper) { - this.mapper = mapper; - } - - @Override - public String handle(Map request) throws JsonProcessingException { - String type = (String) request.get("type"); - - Map resultMap = new LinkedHashMap<>(); - resultMap.put("type", type); - resultMap.put("length", 0); - resultMap.put("gameRankingList", List.of()); - - String json = mapper.write(resultMap); - logger.info("Response: " + json); - return json; - } -} diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetTeamCourseRuleHandler.java b/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetTeamCourseRuleHandler.java deleted file mode 100644 index b873d2ae..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetTeamCourseRuleHandler.java +++ /dev/null @@ -1,40 +0,0 @@ -package icu.samnyan.aqua.sega.chusan.handler; - -import com.fasterxml.jackson.core.JsonProcessingException; -import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.util.jackson.StringMapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; - -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -@Component("ChusanGetTeamCourseRuleHandler") -public class GetTeamCourseRuleHandler implements BaseHandler { - - private static final Logger logger = LoggerFactory.getLogger(GetTeamCourseRuleHandler.class); - - private final StringMapper mapper; - - - public GetTeamCourseRuleHandler(StringMapper mapper) { - this.mapper = mapper; - } - - @Override - public String handle(Map request) throws JsonProcessingException { - String userId = (String) request.get("userId"); - - Map resultMap = new LinkedHashMap<>(); - resultMap.put("userId", userId); - resultMap.put("length", 0); - resultMap.put("nextIndex", 0); - resultMap.put("teamCourseRuleList", List.of()); - - String json = mapper.write(resultMap); - logger.info("Response: " + json); - return json; - } -} \ No newline at end of file diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetTeamCourseSettingHandler.java b/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetTeamCourseSettingHandler.java deleted file mode 100644 index 7a9c9754..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetTeamCourseSettingHandler.java +++ /dev/null @@ -1,41 +0,0 @@ -package icu.samnyan.aqua.sega.chusan.handler; - -import com.fasterxml.jackson.core.JsonProcessingException; -import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.util.jackson.StringMapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; - -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -@Component("ChusanGetTeamCourseSettingHandler") -public class GetTeamCourseSettingHandler implements BaseHandler { - - private static final Logger logger = LoggerFactory.getLogger(GetTeamCourseSettingHandler.class); - - private final StringMapper mapper; - - - public GetTeamCourseSettingHandler(StringMapper mapper) { - this.mapper = mapper; - } - - @Override - public String handle(Map request) throws JsonProcessingException { - String userId = (String) request.get("userId"); - - - Map resultMap = new LinkedHashMap<>(); - resultMap.put("userId", userId); - resultMap.put("length", 0); - resultMap.put("nextIndex", 0); - resultMap.put("teamCourseSettingList", List.of()); - - String json = mapper.write(resultMap); - logger.info("Response: " + json); - return json; - } -} \ No newline at end of file