From b14a56bb6c8dbd77519daf1c6cfda08c45c56405 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Thu, 26 Dec 2024 18:50:20 -0500 Subject: [PATCH] [O] Rewrite Begin matching --- .../sega/chusan/ChusanServletController.kt | 10 ++++ .../chusan/handler/BeginMatchingHandler.java | 48 ------------------- .../response/data/MatchingWaitState.java | 25 ---------- .../model/response/data/MatchingWaitState.kt | 12 +++++ 4 files changed, 22 insertions(+), 73 deletions(-) delete mode 100644 src/main/java/icu/samnyan/aqua/sega/chusan/handler/BeginMatchingHandler.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/chusan/model/response/data/MatchingWaitState.java create mode 100644 src/main/java/icu/samnyan/aqua/sega/chusan/model/response/data/MatchingWaitState.kt 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 164297f0..c1a97a5c 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanServletController.kt +++ b/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanServletController.kt @@ -6,6 +6,9 @@ import icu.samnyan.aqua.net.utils.simpleDescribe import icu.samnyan.aqua.sega.chusan.handler.* import icu.samnyan.aqua.sega.chusan.model.Chu3Repos import icu.samnyan.aqua.sega.chusan.model.request.UserCMissionResp +import icu.samnyan.aqua.sega.chusan.model.response.data.MatchingMemberInfo +import icu.samnyan.aqua.sega.chusan.model.response.data.MatchingWaitState +import icu.samnyan.aqua.sega.chusan.model.userdata.UserCharge import icu.samnyan.aqua.sega.general.BaseHandler import icu.samnyan.aqua.sega.general.RequestContext import icu.samnyan.aqua.sega.general.SpecialHandler @@ -145,6 +148,7 @@ class ChusanServletController( } +@Suppress("UNCHECKED_CAST") fun ChusanServletController.init() { // Stub handlers "GetGameRanking" { """{"type":"${data["type"]}","length":"0","gameRankingList":[]}""" } @@ -165,9 +169,15 @@ fun ChusanServletController.init() { "CMUpsertUserPrintlog" { """{"returnCode":1,"orderId":"0","serialId":"FAKECARDIMAG12345678","apiName":"CMUpsertUserPrintlogApi"}""" } // Matching + // Matching TODO: Actually implement this "EndMatching" { """{"matchingResult":{"matchingMemberInfoList":[],"matchingMemberRoleList":[],"reflectorUri":""}}""" } "GetMatchingState" { """{"matchingWaitState":{"restMSec":"30000","pollingInterval":"10","matchingMemberInfoList":[],"isFinish":"true"}}""" } + "BeginMatching" { + val memberInfo = parsing { mapper.convert(data["matchingMemberInfo"] as JDict) } + mapOf("roomId" to 1, "matchingWaitState" to MatchingWaitState(listOf(memberInfo))) + } + // User handlers "GetUserData" { val user = db.userData.findByCard_ExtId(uid)() ?: (400 - "User not found") diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/BeginMatchingHandler.java b/src/main/java/icu/samnyan/aqua/sega/chusan/handler/BeginMatchingHandler.java deleted file mode 100644 index ef95e70a..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/BeginMatchingHandler.java +++ /dev/null @@ -1,48 +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.chusan.model.response.data.MatchingMemberInfo; -import icu.samnyan.aqua.sega.chusan.model.response.data.MatchingWaitState; -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.Map; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Component("ChusanBeginMatchingHandler") -public class BeginMatchingHandler implements BaseHandler { - - private static final Logger logger = LoggerFactory.getLogger(BeginMatchingHandler.class); - - private final StringMapper mapper; - - @Autowired - public BeginMatchingHandler(StringMapper mapper) { - this.mapper = mapper; - } - - @Override - public String handle(Map request) throws JsonProcessingException { - MatchingMemberInfo matchingMemberInfo = mapper.convert(request.get("matchingMemberInfo"), MatchingMemberInfo.class); - - MatchingWaitState matchingWaitState = new MatchingWaitState(); - - matchingWaitState.getMatchingMemberInfoList().add(matchingMemberInfo); - - Map resultMap = new LinkedHashMap<>(); - resultMap.put("roomId", 1); - resultMap.put("matchingWaitState", matchingWaitState); - - String json = mapper.write(resultMap); - logger.info("Response: " + json); - return json; - } - -} diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/model/response/data/MatchingWaitState.java b/src/main/java/icu/samnyan/aqua/sega/chusan/model/response/data/MatchingWaitState.java deleted file mode 100644 index e58dd812..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/model/response/data/MatchingWaitState.java +++ /dev/null @@ -1,25 +0,0 @@ -package icu.samnyan.aqua.sega.chusan.model.response.data; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class MatchingWaitState { - - @JsonProperty("isFinish") - private boolean isFinish = false; - private int restMSec = 30000; - private int pollingInterval = 10; - private List matchingMemberInfoList = new ArrayList<>(); - -} diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/model/response/data/MatchingWaitState.kt b/src/main/java/icu/samnyan/aqua/sega/chusan/model/response/data/MatchingWaitState.kt new file mode 100644 index 00000000..43eb0f45 --- /dev/null +++ b/src/main/java/icu/samnyan/aqua/sega/chusan/model/response/data/MatchingWaitState.kt @@ -0,0 +1,12 @@ +package icu.samnyan.aqua.sega.chusan.model.response.data + +import com.fasterxml.jackson.annotation.JsonProperty + +class MatchingWaitState( + var matchingMemberInfoList: List = listOf(), + + @JsonProperty("isFinish") + var isFinish: Boolean = false, + var restMSec: Int = 30000, + var pollingInterval: Int = 10, +)