mirror of https://github.com/hykilpikonna/AquaDX
[chuni] Game version overwrite for old version
parent
58e3de5ab9
commit
a275dcf991
|
@ -12,6 +12,7 @@ import org.springframework.data.domain.Page;
|
|||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
@ -36,20 +37,27 @@ public class GetUserCourseHandler implements BaseHandler {
|
|||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
String userId = (String) request.get("userId");
|
||||
|
||||
int nextIndex = Integer.parseInt((String) request.get("nextIndex"));
|
||||
int maxCount = Integer.parseInt((String) request.get("maxCount"));
|
||||
|
||||
int pageNum = nextIndex / maxCount;
|
||||
|
||||
Page<UserCourse> dbPage = userCourseService.getByUser(userId, pageNum, maxCount);
|
||||
|
||||
long currentIndex = maxCount * pageNum + dbPage.getNumberOfElements();
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
resultMap.put("length", dbPage.getNumberOfElements());
|
||||
resultMap.put("nextIndex", dbPage.getNumberOfElements() < maxCount ? -1 : currentIndex);
|
||||
resultMap.put("userCourseList", dbPage.getContent());
|
||||
|
||||
if(request.containsKey("nextIndex")) {
|
||||
int nextIndex = Integer.parseInt((String) request.get("nextIndex"));
|
||||
int maxCount = Integer.parseInt((String) request.get("maxCount"));
|
||||
|
||||
int pageNum = nextIndex / maxCount;
|
||||
|
||||
Page<UserCourse> dbPage = userCourseService.getByUser(userId, pageNum, maxCount);
|
||||
|
||||
long currentIndex = maxCount * pageNum + dbPage.getNumberOfElements();
|
||||
|
||||
resultMap.put("length", dbPage.getNumberOfElements());
|
||||
resultMap.put("nextIndex", dbPage.getNumberOfElements() < maxCount ? -1 : currentIndex);
|
||||
resultMap.put("userCourseList", dbPage.getContent());
|
||||
} else {
|
||||
List<UserCourse> courseList = userCourseService.getAllByUser(userId);
|
||||
resultMap.put("length", courseList.size());
|
||||
resultMap.put("userCourseList", courseList);
|
||||
}
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
|
|
|
@ -8,6 +8,7 @@ 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.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
|
@ -26,10 +27,22 @@ public class GetUserDataHandler implements BaseHandler {
|
|||
|
||||
private final UserDataService userDataService;
|
||||
|
||||
private final boolean overwriteVersion;
|
||||
private final String romVersion;
|
||||
private final String dataVersion;
|
||||
|
||||
@Autowired
|
||||
public GetUserDataHandler(StringMapper mapper, UserDataService userDataService) {
|
||||
public GetUserDataHandler(StringMapper mapper,
|
||||
UserDataService userDataService,
|
||||
@Value("${game.chunithm.overwrite-version}") boolean overwriteVersion,
|
||||
@Value("${game.chunithm.rom-version}") String romVersion,
|
||||
@Value("${game.chunithm.data-version}") String dataVersion
|
||||
) {
|
||||
this.mapper = mapper;
|
||||
this.userDataService = userDataService;
|
||||
this.overwriteVersion = overwriteVersion;
|
||||
this.romVersion = romVersion;
|
||||
this.dataVersion = dataVersion;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -40,7 +53,13 @@ public class GetUserDataHandler implements BaseHandler {
|
|||
if (userDataOptional.isPresent()) {
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
resultMap.put("userData", userDataOptional.get());
|
||||
UserData user = userDataOptional.get();
|
||||
|
||||
if (overwriteVersion) {
|
||||
user.setLastRomVersion(romVersion);
|
||||
user.setLastDataVersion(dataVersion);
|
||||
}
|
||||
resultMap.put("userData", user);
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
|
|
|
@ -13,6 +13,7 @@ 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.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
@ -36,18 +37,33 @@ public class GetUserPreviewHandler implements BaseHandler {
|
|||
private final UserCharacterService userCharacterService;
|
||||
private final UserGameOptionService userGameOptionService;
|
||||
|
||||
private final boolean overwriteVersion;
|
||||
private final String romVersion;
|
||||
private final String dataVersion;
|
||||
|
||||
@Autowired
|
||||
public GetUserPreviewHandler(StringMapper mapper, UserDataService userDataService, UserCharacterService userCharacterService, UserGameOptionService userGameOptionService) {
|
||||
public GetUserPreviewHandler(StringMapper mapper,
|
||||
UserDataService userDataService,
|
||||
UserCharacterService userCharacterService,
|
||||
UserGameOptionService userGameOptionService,
|
||||
@Value("${game.chunithm.overwrite-version}") boolean overwriteVersion,
|
||||
@Value("${game.chunithm.rom-version}") String romVersion,
|
||||
@Value("${game.chunithm.data-version}") String dataVersion
|
||||
) {
|
||||
this.mapper = mapper;
|
||||
this.userDataService = userDataService;
|
||||
this.userCharacterService = userCharacterService;
|
||||
this.userGameOptionService = userGameOptionService;
|
||||
this.overwriteVersion = overwriteVersion;
|
||||
this.romVersion = romVersion;
|
||||
this.dataVersion = dataVersion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
String userId = (String) request.get("userId");
|
||||
|
||||
|
||||
Optional<UserData> userData = userDataService.getUserByExtId(userId);
|
||||
|
||||
if (userData.isEmpty()) {
|
||||
|
@ -67,8 +83,14 @@ public class GetUserPreviewHandler implements BaseHandler {
|
|||
resp.setExp(user.getExp());
|
||||
resp.setPlayerRating(user.getPlayerRating());
|
||||
resp.setLastGameId(user.getLastGameId());
|
||||
|
||||
resp.setLastRomVersion(user.getLastRomVersion());
|
||||
resp.setLastDataVersion(user.getLastDataVersion());
|
||||
|
||||
if (overwriteVersion) {
|
||||
resp.setLastRomVersion(romVersion);
|
||||
resp.setLastDataVersion(dataVersion);
|
||||
}
|
||||
resp.setLastPlayDate(user.getLastPlayDate());
|
||||
resp.setTrophyId(user.getTrophyId());
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package icu.samnyan.aqua.sega.chunithm.model.gamedata;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
@ -31,5 +32,6 @@ public class GameEvent implements Serializable {
|
|||
|
||||
private LocalDateTime endDate;
|
||||
|
||||
@JsonIgnore
|
||||
private boolean enable;
|
||||
}
|
||||
|
|
|
@ -45,4 +45,8 @@ public class UserCourseService {
|
|||
Pageable page = PageRequest.of(pageNum, maxCount);
|
||||
return userCourseRepository.findByUser_Card_ExtId(Integer.parseInt(userId), page);
|
||||
}
|
||||
|
||||
public List<UserCourse> getAllByUser(String userId) {
|
||||
return userCourseRepository.findByUser_Card_ExtId(Integer.parseInt(userId));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,4 +28,11 @@ spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLiteDialect
|
|||
#spring.datasource.password=
|
||||
#spring.datasource.url=jdbc:mariadb://localhost:3306/?useSSL=false
|
||||
#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDB10Dialect
|
||||
|
||||
## Game setting
|
||||
## CHUNITHM
|
||||
game.chunithm.overwrite-version=false
|
||||
game.chunithm.rom-version=1.30.00
|
||||
game.chunithm.data-version=1.30.00
|
||||
|
||||
## You can add any Spring Boot properties below
|
Loading…
Reference in New Issue