mirror of https://github.com/hykilpikonna/AquaDX
[allnet] Add support for v2 power on response
parent
be5d241565
commit
b3a8e80399
|
@ -2,6 +2,8 @@ package icu.samnyan.aqua.sega.allnet;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import icu.samnyan.aqua.sega.allnet.model.response.PowerOnResponse;
|
import icu.samnyan.aqua.sega.allnet.model.response.PowerOnResponse;
|
||||||
|
import icu.samnyan.aqua.sega.allnet.model.response.PowerOnResponseV2;
|
||||||
|
import icu.samnyan.aqua.sega.allnet.model.response.PowerOnResponseV3;
|
||||||
import icu.samnyan.aqua.sega.allnet.util.Decoder;
|
import icu.samnyan.aqua.sega.allnet.util.Decoder;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.zip.DataFormatException;
|
import java.util.zip.DataFormatException;
|
||||||
|
|
||||||
|
@ -24,6 +27,7 @@ public class AllNetController {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(AllNetController.class);
|
private static final Logger logger = LoggerFactory.getLogger(AllNetController.class);
|
||||||
|
|
||||||
|
private final ObjectMapper mapper = new ObjectMapper();
|
||||||
private final String HOST;
|
private final String HOST;
|
||||||
private final String PORT;
|
private final String PORT;
|
||||||
|
|
||||||
|
@ -53,27 +57,56 @@ public class AllNetController {
|
||||||
// TODO: Verify KeyChip id
|
// TODO: Verify KeyChip id
|
||||||
|
|
||||||
String gameId = reqMap.getOrDefault("game_id", "");
|
String gameId = reqMap.getOrDefault("game_id", "");
|
||||||
PowerOnResponse resp = new PowerOnResponse(
|
String format_ver = reqMap.getOrDefault("format_ver", "");
|
||||||
1,
|
PowerOnResponse resp;
|
||||||
switchUri(gameId),
|
if (format_ver.startsWith("2")) {
|
||||||
switchHost(gameId),
|
var now = LocalDateTime.now();
|
||||||
"123",
|
resp = new PowerOnResponseV2(
|
||||||
"",
|
1,
|
||||||
"",
|
switchUri(gameId),
|
||||||
"1",
|
switchHost(gameId),
|
||||||
"W",
|
"123",
|
||||||
"X",
|
"",
|
||||||
"Y",
|
"",
|
||||||
"Z",
|
"1",
|
||||||
"JPN",
|
"W",
|
||||||
"456",
|
"X",
|
||||||
"+0900",
|
"Y",
|
||||||
Instant.now().toString().substring(0, 19).concat("Z"),
|
"Z",
|
||||||
"",
|
"JPN",
|
||||||
"3",
|
now.getYear(),
|
||||||
reqMap.get("token")
|
now.getMonth().getValue(),
|
||||||
);
|
now.getDayOfMonth(),
|
||||||
logger.info("Response: " + new ObjectMapper().writeValueAsString(resp));
|
now.getHour(),
|
||||||
|
now.getMinute(),
|
||||||
|
now.getSecond(),
|
||||||
|
"1",
|
||||||
|
"+09:00",
|
||||||
|
"PowerOnResponseV2"
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
resp = new PowerOnResponseV3(
|
||||||
|
1,
|
||||||
|
switchUri(gameId),
|
||||||
|
switchHost(gameId),
|
||||||
|
"123",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"1",
|
||||||
|
"W",
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"JPN",
|
||||||
|
"456",
|
||||||
|
"+0900",
|
||||||
|
Instant.now().toString().substring(0, 19).concat("Z"),
|
||||||
|
"",
|
||||||
|
"3",
|
||||||
|
reqMap.get("token")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
logger.info("Response: " + mapper.writeValueAsString(resp));
|
||||||
return resp.toString().concat("\n");
|
return resp.toString().concat("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,54 +1,8 @@
|
||||||
package icu.samnyan.aqua.sega.allnet.model.response;
|
package icu.samnyan.aqua.sega.allnet.model.response;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author samnyan (privateamusement@protonmail.com)
|
* @author samnyan (privateamusement@protonmail.com)
|
||||||
*/
|
*/
|
||||||
@Data
|
public interface PowerOnResponse {
|
||||||
@NoArgsConstructor
|
String toString();
|
||||||
@AllArgsConstructor
|
|
||||||
public class PowerOnResponse {
|
|
||||||
private int stat;
|
|
||||||
private String uri;
|
|
||||||
private String host;
|
|
||||||
private String place_id;
|
|
||||||
private String name;
|
|
||||||
private String nickname;
|
|
||||||
private String region0;
|
|
||||||
private String region_name0;
|
|
||||||
private String region_name1;
|
|
||||||
private String region_name2;
|
|
||||||
private String region_name3;
|
|
||||||
private String country;
|
|
||||||
private String allnet_id;
|
|
||||||
private String client_timezone;
|
|
||||||
private String utc_time;
|
|
||||||
private String setting;
|
|
||||||
private String res_ver;
|
|
||||||
private String token;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return "stat=" + stat +
|
|
||||||
"&uri=" + uri +
|
|
||||||
"&host=" + host +
|
|
||||||
"&place_id=" + place_id +
|
|
||||||
"&name=" + name +
|
|
||||||
"&nickname=" + nickname +
|
|
||||||
"®ion0=" + region0 +
|
|
||||||
"®ion_name0=" + region_name0 +
|
|
||||||
"®ion_name1=" + region_name1 +
|
|
||||||
"®ion_name2=" + region_name2 +
|
|
||||||
"®ion_name3=" + region_name3 +
|
|
||||||
"&country=" + country +
|
|
||||||
"&allnet_id=" + allnet_id +
|
|
||||||
"&client_timezone=" + client_timezone +
|
|
||||||
"&utc_time=" + utc_time +
|
|
||||||
"&setting=" + setting +
|
|
||||||
"&res_ver=" + res_ver +
|
|
||||||
"&token=" + token;
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -0,0 +1,60 @@
|
||||||
|
package icu.samnyan.aqua.sega.allnet.model.response;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author samnyan (privateamusement@protonmail.com)
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class PowerOnResponseV2 implements PowerOnResponse {
|
||||||
|
private int stat;
|
||||||
|
private String uri;
|
||||||
|
private String host;
|
||||||
|
private String place_id;
|
||||||
|
private String name;
|
||||||
|
private String nickname;
|
||||||
|
private String region0;
|
||||||
|
private String region_name0;
|
||||||
|
private String region_name1;
|
||||||
|
private String region_name2;
|
||||||
|
private String region_name3;
|
||||||
|
private String country;
|
||||||
|
private int year;
|
||||||
|
private int month;
|
||||||
|
private int day;
|
||||||
|
private int hour;
|
||||||
|
private int minute;
|
||||||
|
private int second;
|
||||||
|
private String setting;
|
||||||
|
private String timezone;
|
||||||
|
private String res_class;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "stat=" + stat +
|
||||||
|
"&uri=" + uri +
|
||||||
|
"&host=" + host +
|
||||||
|
"&place_id=" + place_id +
|
||||||
|
"&name=" + name +
|
||||||
|
"&nickname=" + nickname +
|
||||||
|
"®ion0=" + region0 +
|
||||||
|
"®ion_name0=" + region_name0 +
|
||||||
|
"®ion_name1=" + region_name1 +
|
||||||
|
"®ion_name2=" + region_name2 +
|
||||||
|
"®ion_name3=" + region_name3 +
|
||||||
|
"&country=" + country +
|
||||||
|
"&year=" + year +
|
||||||
|
"&month=" + month +
|
||||||
|
"&day=" + day +
|
||||||
|
"&hour=" + hour +
|
||||||
|
"&minute=" + minute +
|
||||||
|
"&second=" + second +
|
||||||
|
"&setting=" + setting +
|
||||||
|
"&timezone=" + timezone +
|
||||||
|
"&res_class=PowerOnResponseV2";
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
package icu.samnyan.aqua.sega.allnet.model.response;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author samnyan (privateamusement@protonmail.com)
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class PowerOnResponseV3 implements PowerOnResponse {
|
||||||
|
private int stat;
|
||||||
|
private String uri;
|
||||||
|
private String host;
|
||||||
|
private String place_id;
|
||||||
|
private String name;
|
||||||
|
private String nickname;
|
||||||
|
private String region0;
|
||||||
|
private String region_name0;
|
||||||
|
private String region_name1;
|
||||||
|
private String region_name2;
|
||||||
|
private String region_name3;
|
||||||
|
private String country;
|
||||||
|
private String allnet_id;
|
||||||
|
private String client_timezone;
|
||||||
|
private String utc_time;
|
||||||
|
private String setting;
|
||||||
|
private String res_ver;
|
||||||
|
private String token;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "stat=" + stat +
|
||||||
|
"&uri=" + uri +
|
||||||
|
"&host=" + host +
|
||||||
|
"&place_id=" + place_id +
|
||||||
|
"&name=" + name +
|
||||||
|
"&nickname=" + nickname +
|
||||||
|
"®ion0=" + region0 +
|
||||||
|
"®ion_name0=" + region_name0 +
|
||||||
|
"®ion_name1=" + region_name1 +
|
||||||
|
"®ion_name2=" + region_name2 +
|
||||||
|
"®ion_name3=" + region_name3 +
|
||||||
|
"&country=" + country +
|
||||||
|
"&allnet_id=" + allnet_id +
|
||||||
|
"&client_timezone=" + client_timezone +
|
||||||
|
"&utc_time=" + utc_time +
|
||||||
|
"&setting=" + setting +
|
||||||
|
"&res_ver=" + res_ver +
|
||||||
|
"&token=" + token;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue