mirror of
https://github.com/MewoLab/AquaDX.git
synced 2026-02-10 06:27:26 +08:00
[O] Rewrite Begin matching
This commit is contained in:
@@ -6,6 +6,9 @@ import icu.samnyan.aqua.net.utils.simpleDescribe
|
|||||||
import icu.samnyan.aqua.sega.chusan.handler.*
|
import icu.samnyan.aqua.sega.chusan.handler.*
|
||||||
import icu.samnyan.aqua.sega.chusan.model.Chu3Repos
|
import icu.samnyan.aqua.sega.chusan.model.Chu3Repos
|
||||||
import icu.samnyan.aqua.sega.chusan.model.request.UserCMissionResp
|
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.BaseHandler
|
||||||
import icu.samnyan.aqua.sega.general.RequestContext
|
import icu.samnyan.aqua.sega.general.RequestContext
|
||||||
import icu.samnyan.aqua.sega.general.SpecialHandler
|
import icu.samnyan.aqua.sega.general.SpecialHandler
|
||||||
@@ -145,6 +148,7 @@ class ChusanServletController(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
fun ChusanServletController.init() {
|
fun ChusanServletController.init() {
|
||||||
// Stub handlers
|
// Stub handlers
|
||||||
"GetGameRanking" { """{"type":"${data["type"]}","length":"0","gameRankingList":[]}""" }
|
"GetGameRanking" { """{"type":"${data["type"]}","length":"0","gameRankingList":[]}""" }
|
||||||
@@ -165,9 +169,15 @@ fun ChusanServletController.init() {
|
|||||||
"CMUpsertUserPrintlog" { """{"returnCode":1,"orderId":"0","serialId":"FAKECARDIMAG12345678","apiName":"CMUpsertUserPrintlogApi"}""" }
|
"CMUpsertUserPrintlog" { """{"returnCode":1,"orderId":"0","serialId":"FAKECARDIMAG12345678","apiName":"CMUpsertUserPrintlogApi"}""" }
|
||||||
|
|
||||||
// Matching
|
// Matching
|
||||||
|
// Matching TODO: Actually implement this
|
||||||
"EndMatching" { """{"matchingResult":{"matchingMemberInfoList":[],"matchingMemberRoleList":[],"reflectorUri":""}}""" }
|
"EndMatching" { """{"matchingResult":{"matchingMemberInfoList":[],"matchingMemberRoleList":[],"reflectorUri":""}}""" }
|
||||||
"GetMatchingState" { """{"matchingWaitState":{"restMSec":"30000","pollingInterval":"10","matchingMemberInfoList":[],"isFinish":"true"}}""" }
|
"GetMatchingState" { """{"matchingWaitState":{"restMSec":"30000","pollingInterval":"10","matchingMemberInfoList":[],"isFinish":"true"}}""" }
|
||||||
|
|
||||||
|
"BeginMatching" {
|
||||||
|
val memberInfo = parsing { mapper.convert<MatchingMemberInfo>(data["matchingMemberInfo"] as JDict) }
|
||||||
|
mapOf("roomId" to 1, "matchingWaitState" to MatchingWaitState(listOf(memberInfo)))
|
||||||
|
}
|
||||||
|
|
||||||
// User handlers
|
// User handlers
|
||||||
"GetUserData" {
|
"GetUserData" {
|
||||||
val user = db.userData.findByCard_ExtId(uid)() ?: (400 - "User not found")
|
val user = db.userData.findByCard_ExtId(uid)() ?: (400 - "User not found")
|
||||||
|
|||||||
@@ -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<String, ?> request) throws JsonProcessingException {
|
|
||||||
MatchingMemberInfo matchingMemberInfo = mapper.convert(request.get("matchingMemberInfo"), MatchingMemberInfo.class);
|
|
||||||
|
|
||||||
MatchingWaitState matchingWaitState = new MatchingWaitState();
|
|
||||||
|
|
||||||
matchingWaitState.getMatchingMemberInfoList().add(matchingMemberInfo);
|
|
||||||
|
|
||||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
|
||||||
resultMap.put("roomId", 1);
|
|
||||||
resultMap.put("matchingWaitState", matchingWaitState);
|
|
||||||
|
|
||||||
String json = mapper.write(resultMap);
|
|
||||||
logger.info("Response: " + json);
|
|
||||||
return json;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<MatchingMemberInfo> matchingMemberInfoList = new ArrayList<>();
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package icu.samnyan.aqua.sega.chusan.model.response.data
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty
|
||||||
|
|
||||||
|
class MatchingWaitState(
|
||||||
|
var matchingMemberInfoList: List<MatchingMemberInfo> = listOf(),
|
||||||
|
|
||||||
|
@JsonProperty("isFinish")
|
||||||
|
var isFinish: Boolean = false,
|
||||||
|
var restMSec: Int = 30000,
|
||||||
|
var pollingInterval: Int = 10,
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user