[chusan] Add global matching lobby stub

This commit is contained in:
Dom Eori
2023-03-17 15:35:03 +09:00
parent 6c6d3c2671
commit 8549763f58
14 changed files with 364 additions and 13 deletions

View File

@@ -0,0 +1,48 @@
package icu.samnyan.aqua.sega.chusan.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.chusan.handler.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, Object> 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;
}
}

View File

@@ -0,0 +1,48 @@
package icu.samnyan.aqua.sega.chusan.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.chusan.handler.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("ChusanEndMatchingHandler")
public class EndMatchingHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(EndMatchingHandler.class);
private final StringMapper mapper;
@Autowired
public EndMatchingHandler(StringMapper mapper) {
this.mapper = mapper;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
//roomId, userId
Map<String, Object> matchingResult = new LinkedHashMap<>();
matchingResult.put("matchingMemberInfoList", List.of()); // MatchingMemberInfo
matchingResult.put("matchingMemberRoleList", List.of()); // Role?
matchingResult.put("reflectorUri", "");
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("matchingResult", matchingResult);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -13,6 +13,7 @@ import org.springframework.stereotype.Component;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Map;
@@ -55,6 +56,9 @@ public class GetGameSettingHandler implements BaseHandler {
LocalDateTime rebootStartTime = LocalDateTime.now().minusHours(3);
LocalDateTime rebootEndTime = LocalDateTime.now().minusHours(2);
LocalDateTime matchingStartTime = LocalDateTime.now().minusHours(1);
LocalDateTime matchingEndTime = LocalDateTime.now().plusHours(1);
// Unless ip and port is explicitly overridden, use the guessed ip and port as same as AllNet Controller does.
String localAddr;
try {
@@ -78,10 +82,10 @@ public class GetGameSettingHandler implements BaseHandler {
300,
300,
300,
rebootStartTime.format(formatter),
rebootEndTime.format(formatter),
matchingStartTime.format(formatter),
matchingEndTime.format(formatter),
10,
10,
1,
"http://" + addr + ":" + port + "/ChusanServlet/",
"http://" + addr + ":" + port + "/ChusanServlet/",
"http://" + addr + ":" + port + "/ChusanServlet/"

View File

@@ -0,0 +1,48 @@
package icu.samnyan.aqua.sega.chusan.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.chusan.handler.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("ChusanGetMatchingStateHandler")
public class GetMatchingStateHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetMatchingStateHandler.class);
private final StringMapper mapper;
@Autowired
public GetMatchingStateHandler(StringMapper mapper) {
this.mapper = mapper;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
String roomId = (String) request.get("roomId");
MatchingMemberInfo matchingMemberInfo = mapper.convert(request.get("matchingMemberInfo"), MatchingMemberInfo.class);
Map<String, Object> resultMap = new LinkedHashMap<>();
MatchingWaitState matchingWaitState = new MatchingWaitState();
matchingWaitState.setFinish(true);
resultMap.put("matchingWaitState", matchingWaitState);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -33,6 +33,7 @@ public class GetUserNetBattleDataHandler implements BaseHandler {
Map<String, Object> userNetBattleData = new LinkedHashMap<>();
userNetBattleData.put("recentNBSelectMusicList", List.of());
userNetBattleData.put("recentNBMusicList", List.of());
resultMap.put("userNetBattleData", userNetBattleData);

View File

@@ -2,6 +2,7 @@ package icu.samnyan.aqua.sega.chusan.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
import icu.samnyan.aqua.sega.chusan.model.response.data.SymbolChatInfo;
import icu.samnyan.aqua.sega.util.jackson.StringMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -32,7 +33,7 @@ public class GetUserSymbolChatSettingHandler implements BaseHandler {
public String handle(Map<String, Object> request) throws JsonProcessingException {
String userId = (String) request.get("userId");
List<Object> symbolChatInfoList = new ArrayList<>();
List<SymbolChatInfo> symbolChatInfoList = new ArrayList<>();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);

View File

@@ -0,0 +1,40 @@
package icu.samnyan.aqua.sega.chusan.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.chusan.handler.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.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component("ChusanRemoveMatchingMemberHandler")
public class RemoveMatchingMemberHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(RemoveMatchingMemberHandler.class);
private final StringMapper mapper;
@Autowired
public RemoveMatchingMemberHandler(StringMapper mapper) {
this.mapper = mapper;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("returnCode", 1);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}