[maimai2] Add dx support

This commit is contained in:
Dom Eori
2021-06-16 00:37:31 +09:00
parent 235939fba3
commit 9fa2d13c98
70 changed files with 3593 additions and 4 deletions

View File

@@ -0,0 +1,13 @@
package icu.samnyan.aqua.sega.maimai2.handler;
import com.fasterxml.jackson.core.JsonProcessingException;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
public interface BaseHandler {
String handle(Map<String, Object> request) throws JsonProcessingException;
}

View File

@@ -0,0 +1,46 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.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.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
public class GetGameEventHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetGameEventHandler.class);
//private final GameEventRepository gameEventRepository;
private final StringMapper mapper;
public GetGameEventHandler(StringMapper mapper) {
this.mapper = mapper;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
String type = Integer.toString((int) request.get("type"));
List<Object> gameEventList = new ArrayList<>();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("type", type);
resultMap.put("gameEventList", gameEventList);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,43 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.util.jackson.StringMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
public class GetGameRankingHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetGameRankingHandler.class);
private final StringMapper mapper;
public GetGameRankingHandler(StringMapper mapper) {
this.mapper = mapper;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
String type = Integer.toString((int) request.get("type"));
List<Object> gameRankingList = new ArrayList<>();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("type", type);
resultMap.put("gameRankingList", gameRankingList);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,67 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.response.GetGameSettingResp;
import icu.samnyan.aqua.sega.maimai2.model.response.data.GameSetting;
import icu.samnyan.aqua.sega.general.dao.PropertyEntryRepository;
import icu.samnyan.aqua.sega.general.model.PropertyEntry;
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.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
public class GetGameSettingHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetGameSettingHandler.class);
private final StringMapper mapper;
private final PropertyEntryRepository propertyEntryRepository;
@Autowired
public GetGameSettingHandler(StringMapper mapper, PropertyEntryRepository propertyEntryRepository) {
this.mapper = mapper;
this.propertyEntryRepository = propertyEntryRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
PropertyEntry start = propertyEntryRepository.findByPropertyKey("reboot_start_time")
.orElseGet(() -> new PropertyEntry("reboot_start_time", "2020-01-01 23:59:00.0"));
PropertyEntry end = propertyEntryRepository.findByPropertyKey("reboot_end_time")
.orElseGet(() -> new PropertyEntry("reboot_end_time", "2020-01-01 23:59:00.0"));
GameSetting gameSetting = new GameSetting(
false,
10,
start.getPropertyValue(),
end.getPropertyValue(),
10000,
0,
"",
"",
"",
"",
0);
GetGameSettingResp resp = new GetGameSettingResp(
true,
gameSetting
);
String json = mapper.write(resp);
logger.info("Response: " + json);
return json;
}
}

View File

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

View File

@@ -0,0 +1,43 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.util.jackson.StringMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
public class GetTransferFriendHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetTransferFriendHandler.class);
private final StringMapper mapper;
public GetTransferFriendHandler(StringMapper mapper) {
this.mapper = mapper;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
int userId = (int) request.get("userId");
List<Object> transferFriendList = new ArrayList<>();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("transferFriendList", transferFriendList);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,55 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserActRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserActivity;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserAct;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component("Maimai2GetUserActivityHandler")
public class GetUserActivityHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserActivityHandler.class);
private final BasicMapper mapper;
private final UserActRepository userActRepository;
public GetUserActivityHandler(BasicMapper mapper, UserActRepository userActRepository) {
this.mapper = mapper;
this.userActRepository = userActRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
// kind 1 = playList, kind 2 = musicList
// maimaiDX require these two
List<UserAct> userPlayList = userActRepository.findByUser_Card_ExtIdAndKind(userId, 1);
List<UserAct> userMusicList = userActRepository.findByUser_Card_ExtIdAndKind(userId, 2);
UserActivity userActivity = new UserActivity();
userActivity.setMusicList(userMusicList);
userActivity.setPlayList(userPlayList);
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userActivity", userActivity);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,44 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
public class GetUserCardHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserDataHandler.class);
private final BasicMapper mapper;
public GetUserCardHandler(BasicMapper mapper) {
this.mapper = mapper;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
List<Object> userCardList = new ArrayList<>();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("nextIndex", 0);
resultMap.put("userCardList", userCardList);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,47 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserCharacterRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserCharacter;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component("Maimai2GetUserCharacterHandler")
public class GetUserCharacterHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserCharacterHandler.class);
private final BasicMapper mapper;
private final UserCharacterRepository userCharacterRepository;
public GetUserCharacterHandler(BasicMapper mapper, UserCharacterRepository userCharacterRepository) {
this.mapper = mapper;
this.userCharacterRepository = userCharacterRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
List<UserCharacter> userCharacterList = userCharacterRepository.findByUser_Card_ExtId(userId);
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("userCharacterList", userCharacterList);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,46 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
public class GetUserDataHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserDataHandler.class);
private final BasicMapper mapper;
private final UserDataRepository userDataRepository;
public GetUserDataHandler(BasicMapper mapper, UserDataRepository userDataRepository) {
this.mapper = mapper;
this.userDataRepository = userDataRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
UserDetail userData = userDataRepository.findByCard_ExtId(userId).orElseThrow();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("userData", userData);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,46 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserExtendRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserExtend;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
public class GetUserExtendHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserExtendHandler.class);
private final BasicMapper mapper;
private final UserExtendRepository userExtendRepository;
public GetUserExtendHandler(BasicMapper mapper, UserExtendRepository userExtendRepository) {
this.mapper = mapper;
this.userExtendRepository = userExtendRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
UserExtend userExtend = userExtendRepository.findByUser_Card_ExtId(userId).orElseThrow();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("userExtend", userExtend);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,48 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserFavoriteRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserFavorite;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component("Maimai2GetUserFavoriteHandler")
public class GetUserFavoriteHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserFavoriteHandler.class);
private final BasicMapper mapper;
private final UserFavoriteRepository userFavoriteRepository;
public GetUserFavoriteHandler(BasicMapper mapper, UserFavoriteRepository userFavoriteRepository) {
this.mapper = mapper;
this.userFavoriteRepository = userFavoriteRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
int itemKind = ((Number) request.get("itemKind")).intValue();
List<UserFavorite> userFavoriteList = userFavoriteRepository.findByUserIdAndItemKind(userId, itemKind);
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("userFavoriteData", userFavoriteList);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,43 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
public class GetUserGhostHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserDataHandler.class);
private final BasicMapper mapper;
public GetUserGhostHandler(BasicMapper mapper) {
this.mapper = mapper;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
List<Object> userGhostList = new ArrayList<>();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("userGhostList", userGhostList);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,59 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserItemRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserItem;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component("Maimai2GetUserItemHandler")
public class GetUserItemHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserItemHandler.class);
private final BasicMapper mapper;
private final UserItemRepository userItemRepository;
public GetUserItemHandler(BasicMapper mapper, UserItemRepository userItemRepository) {
this.mapper = mapper;
this.userItemRepository = userItemRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
long nextIndexVal = ((Number) request.get("nextIndex")).longValue();
int maxCount = ((Number) request.get("maxCount")).intValue();
long mul = 10000000000L;
int kind = (int) (nextIndexVal / mul);
int nextIndex = (int) (nextIndexVal % mul);
int pageNum = nextIndex / maxCount;
Page<UserItem> dbPage = userItemRepository.findByUser_Card_ExtIdAndItemKind(userId, kind, PageRequest.of(pageNum, maxCount));
long currentIndex = kind * mul + maxCount * pageNum + dbPage.getNumberOfElements();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("nextIndex", dbPage.getNumberOfElements() < maxCount ? 0 : currentIndex);
resultMap.put("itemKind", kind);
resultMap.put("userItemList", dbPage.getContent());
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,55 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserLoginBonusRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserLoginBonus;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component("Maimai2GetUserLoginBonusHandler")
public class GetUserLoginBonusHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserLoginBonusHandler.class);
private final BasicMapper mapper;
private final UserLoginBonusRepository userLoginBonusRepository;
public GetUserLoginBonusHandler(BasicMapper mapper, UserLoginBonusRepository userLoginBonusRepository) {
this.mapper = mapper;
this.userLoginBonusRepository = userLoginBonusRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
int nextIndexVal = ((Number) request.get("nextIndex")).intValue();
int maxCount = ((Number) request.get("maxCount")).intValue();
int pageNum = nextIndexVal / maxCount;
Page<UserLoginBonus> dbPage = userLoginBonusRepository.findByUser_Card_ExtId(userId, PageRequest.of(pageNum, maxCount));
long currentIndex = maxCount * pageNum + dbPage.getNumberOfElements();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("nextIndex", dbPage.getNumberOfElements() < maxCount ? 0 : currentIndex);
resultMap.put("userLoginBonusList", dbPage.getContent());
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,55 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserMapRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserMap;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component("Maimai2GetUserMapHandler")
public class GetUserMapHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserMapHandler.class);
private final BasicMapper mapper;
private final UserMapRepository userMapRepository;
public GetUserMapHandler(BasicMapper mapper, UserMapRepository userMapRepository) {
this.mapper = mapper;
this.userMapRepository = userMapRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
int nextIndexVal = ((Number) request.get("nextIndex")).intValue();
int maxCount = ((Number) request.get("maxCount")).intValue();
int pageNum = nextIndexVal / maxCount;
Page<UserMap> dbPage = userMapRepository.findByUser_Card_ExtId(userId, PageRequest.of(pageNum, maxCount));
long currentIndex = maxCount * pageNum + dbPage.getNumberOfElements();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("nextIndex", dbPage.getNumberOfElements() < maxCount ? 0 : currentIndex);
resultMap.put("userMapList", dbPage.getContent());
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,65 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserMusicDetailRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserMusic;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserMusicDetail;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component("Maimai2GetUserMusicHandler")
public class GetUserMusicHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserMusicHandler.class);
private final BasicMapper mapper;
private final UserMusicDetailRepository userMusicDetailRepository;
public GetUserMusicHandler(BasicMapper mapper, UserMusicDetailRepository userMusicDetailRepository) {
this.mapper = mapper;
this.userMusicDetailRepository = userMusicDetailRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
int nextIndexVal = ((Number) request.get("nextIndex")).intValue();
int maxCount = ((Number) request.get("maxCount")).intValue();
int pageNum = nextIndexVal / maxCount;
Page<UserMusicDetail> dbPage = userMusicDetailRepository.findByUser_Card_ExtId(userId, PageRequest.of(pageNum, maxCount));
long currentIndex = maxCount * pageNum + dbPage.getNumberOfElements();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("nextIndex", dbPage.getNumberOfElements() < maxCount ? 0 : currentIndex);
UserMusic userMusic = new UserMusic();
userMusic.setUserMusicDetailList(dbPage.getContent());
List<UserMusic> userMusicList = new ArrayList<>();
userMusicList.add(userMusic);
resultMap.put("userMusicList", userMusicList);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,46 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserOptionRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserOption;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component("Maimai2GetUserOptionHandler")
public class GetUserOptionHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserOptionHandler.class);
private final BasicMapper mapper;
private final UserOptionRepository userOptionRepository;
public GetUserOptionHandler(BasicMapper mapper, UserOptionRepository userOptionRepository) {
this.mapper = mapper;
this.userOptionRepository = userOptionRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
UserOption userOption = userOptionRepository.findByUser_Card_ExtId(userId).orElseThrow();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("userOption", userOption);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,81 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserOptionRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.response.GetUserPreviewResp;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserOption;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.Map;
import java.util.Optional;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component("Maimai2GetUserPreviewHandler")
public class GetUserPreviewHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserPreviewHandler.class);
private final BasicMapper mapper;
private final UserDataRepository userDataRepository;
private final UserOptionRepository userOptionRepository;
public GetUserPreviewHandler(BasicMapper mapper, UserDataRepository userDataRepository, UserOptionRepository userOptionRepository) {
this.mapper = mapper;
this.userDataRepository = userDataRepository;
this.userOptionRepository = userOptionRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
Optional<UserDetail> userDataOptional = userDataRepository.findByCard_ExtId(userId);
GetUserPreviewResp resp = new GetUserPreviewResp();
resp.setUserId(userId);
String json;
if (userDataOptional.isPresent() && userDataOptional.get().getUserName() != null) {
UserDetail user = userDataOptional.get();
Optional<UserOption> userOptionOptional = userOptionRepository.findByUser_Card_ExtId(userId);
resp.setUserName(user.getUserName());
resp.setLogin(false);
resp.setLastGameId(user.getLastGameId());
resp.setLastDataVersion(user.getLastDataVersion());
resp.setLastRomVersion(user.getLastRomVersion());
resp.setLastLoginDate(user.getLastPlayDate());
resp.setLastPlayDate(user.getLastPlayDate());
resp.setPlayerRating(user.getPlayerRating());
resp.setNameplateId(user.getPlateId());
resp.setIconId(user.getIconId());
resp.setTrophyId(0);
resp.setPartnerId(user.getPartnerId());
resp.setFrameId(user.getFrameId());
resp.setDispRate(user.getPlayerRating());
resp.setTotalAwake(user.getTotalAwake());
resp.setIsNetMember(user.getIsNetMember());
resp.setDailyBonusDate(user.getDailyBonusDate());
if (userOptionOptional.isPresent()) {
UserOption option = userOptionOptional.get();
resp.setHeadPhoneVolume(option.getHeadPhoneVolume());
}
resp.setInherit(false);
json = mapper.write(resp);
} else {
json = "{}";
}
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,89 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserRateRepository;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserUdemaeRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserRating;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserRate;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserUdemae;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
public class GetUserRatingHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserRatingHandler.class);
private final BasicMapper mapper;
private final UserRateRepository userRateRepository;
private final UserUdemaeRepository userUdemaeRepository;
private final UserDataRepository userDataRepository;
public GetUserRatingHandler(BasicMapper mapper, UserRateRepository userRateRepository, UserUdemaeRepository userUdemaeRepository,
UserDataRepository userDataRepository) {
this.mapper = mapper;
this.userRateRepository = userRateRepository;
this.userUdemaeRepository = userUdemaeRepository;
this.userDataRepository = userDataRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
List<UserRate> userRate = userRateRepository.findByUser_Card_ExtId(userId);
List<UserRate> emptyRating = new ArrayList<>();
UserRating userRating = new UserRating();
Optional<UserDetail> userDataOptional = userDataRepository.findByCard_ExtId(userId);
if (userDataOptional.isPresent() && userDataOptional.get().getUserName() != null) {
UserDetail user = userDataOptional.get();
userRating.setRating(user.getPlayerRating());
}
// TODO: Fix these, rating is incorrect
// Old charts (standard) = 25
userRating.setRatingList(userRate);
// New charts (DX) = 15
userRating.setNewRatingList(emptyRating);
// ??
userRating.setNextRatingList(emptyRating);
userRating.setNextNewRatingList(emptyRating);
Optional<UserUdemae> optionalUserUdemae = userUdemaeRepository.findByUser_Card_ExtId(userId);
if (optionalUserUdemae.isPresent()) {
UserUdemae userUdemae = optionalUserUdemae.get();
userRating.setUdemae(userUdemae);
} else {
userRating.setUdemae(new UserUdemae());
}
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("userRating", userRating);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,44 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
public class GetUserRegionHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetUserDataHandler.class);
private final BasicMapper mapper;
public GetUserRegionHandler(BasicMapper mapper) {
this.mapper = mapper;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
List<Object> userRegionList = new ArrayList<>();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);
resultMap.put("length", 0);
resultMap.put("userRegionList", userRegionList);
String json = mapper.write(resultMap);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,297 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.general.model.Card;
import icu.samnyan.aqua.sega.general.service.CardService;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.*;
import icu.samnyan.aqua.sega.maimai.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.request.UpsertUserAll;
import icu.samnyan.aqua.sega.maimai2.model.request.data.UserAll;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserActivity;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserRating;
import icu.samnyan.aqua.sega.maimai2.model.userdata.*;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component("Maimai2UpsertUserAllHandler")
public class UpsertUserAllHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(UpsertUserAllHandler.class);
private final BasicMapper mapper;
private final CardService cardService;
private final UserDataRepository userDataRepository;
private final UserExtendRepository userExtendRepository;
private final UserOptionRepository userOptionRepository;
private final UserItemRepository userItemRepository;
private final UserMusicDetailRepository userMusicDetailRepository;
private final UserActRepository userActRepository;
private final UserCharacterRepository userCharacterRepository;
private final UserMapRepository userMapRepository;
private final UserLoginBonusRepository userLoginBonusRepository;
private final UserFavoriteRepository userFavoriteRepository;
private final UserRateRepository userRateRepository;
private final UserUdemaeRepository userUdemaeRepository;
public UpsertUserAllHandler(BasicMapper mapper, CardService cardService, UserDataRepository userDataRepository, UserExtendRepository userExtendRepository, UserOptionRepository userOptionRepository, UserItemRepository userItemRepository, UserMusicDetailRepository userMusicDetailRepository, UserActRepository userActRepository, UserCharacterRepository userCharacterRepository, UserMapRepository userMapRepository, UserLoginBonusRepository userLoginBonusRepository, UserFavoriteRepository userFavoriteRepository, UserRateRepository userRateRepository, UserUdemaeRepository userUdemaeRepository) {
this.mapper = mapper;
this.cardService = cardService;
this.userDataRepository = userDataRepository;
this.userExtendRepository = userExtendRepository;
this.userOptionRepository = userOptionRepository;
this.userItemRepository = userItemRepository;
this.userMusicDetailRepository = userMusicDetailRepository;
this.userActRepository = userActRepository;
this.userCharacterRepository = userCharacterRepository;
this.userMapRepository = userMapRepository;
this.userLoginBonusRepository = userLoginBonusRepository;
this.userFavoriteRepository = userFavoriteRepository;
this.userRateRepository = userRateRepository;
this.userUdemaeRepository = userUdemaeRepository;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
UpsertUserAll upsertUserAll = mapper.convert(request, UpsertUserAll.class);
long userId = upsertUserAll.getUserId();
UserAll userAll = upsertUserAll.getUpsertUserAll();
// UserData
UserDetail userData;
UserDetail newUserData;
if (userAll.getUserData() == null) {
return null;
} else {
newUserData = userAll.getUserData().get(0);
Optional<UserDetail> userOptional = userDataRepository.findByCard_ExtId(userId);
if (userOptional.isPresent()) {
userData = userOptional.get();
} else {
userData = new UserDetail();
Card card = cardService.getCardByExtId(userId).orElseThrow();
userData.setCard(card);
}
newUserData.setId(userData.getId());
newUserData.setCard(userData.getCard());
// Decode Username
String userName = new String(newUserData.getUserName());
newUserData.setUserName(userName);
userDataRepository.saveAndFlush(newUserData);
}
// UserExtend
if (userAll.getUserExtend() != null) {
UserExtend newUserExtend = userAll.getUserExtend().get(0);
Optional<UserExtend> userExtendOptional = userExtendRepository.findByUser(newUserData);
UserExtend userExtend = userExtendOptional.orElseGet(() -> new UserExtend(newUserData));
newUserExtend.setId(userExtend.getId());
newUserExtend.setUser(userExtend.getUser());
userExtendRepository.save(newUserExtend);
}
// UserOption
if (userAll.getUserOption() != null) {
UserOption newUserOption = userAll.getUserOption().get(0);
Optional<UserOption> userOptionOptional = userOptionRepository.findByUser(newUserData);
UserOption userOption = userOptionOptional.orElseGet(() -> new UserOption(newUserData));
newUserOption.setId(userOption.getId());
newUserOption.setUser(userOption.getUser());
userOptionRepository.save(newUserOption);
}
// UserCharacterList
if (userAll.getUserCharacterList() != null) {
List<UserCharacter> userCharacterList = userAll.getUserCharacterList();
List<UserCharacter> newUserCharacterList = new ArrayList<>();
for (UserCharacter newUserCharacter : userCharacterList) {
int id = newUserCharacter.getCharacterId();
Optional<UserCharacter> characterOptional = userCharacterRepository.findByUserAndCharacterId(newUserData, id);
UserCharacter userCharacter = characterOptional.orElseGet(() -> new UserCharacter(newUserData));
newUserCharacter.setId(userCharacter.getId());
newUserCharacter.setUser(newUserData);
newUserCharacterList.add(newUserCharacter);
}
userCharacterRepository.saveAll(newUserCharacterList);
}
// UserGhost : worthless
// UserMapList
if (userAll.getUserMapList() != null) {
List<UserMap> userMapList = userAll.getUserMapList();
List<UserMap> newUserMapList = new ArrayList<>();
for (UserMap newUserMap : userMapList) {
int mapId = newUserMap.getMapId();
Optional<UserMap> mapOptional = userMapRepository.findByUserAndMapId(newUserData, mapId);
UserMap userMap = mapOptional.orElseGet(() -> new UserMap(newUserData));
newUserMap.setId(userMap.getId());
newUserMap.setUser(newUserData);
newUserMapList.add(newUserMap);
}
userMapRepository.saveAll(newUserMapList);
}
// UserLoginBonusList
if (userAll.getUserLoginBonusList() != null) {
List<UserLoginBonus> userLoginBonusList = userAll.getUserLoginBonusList();
List<UserLoginBonus> newUserLoginBonusList = new ArrayList<>();
for (UserLoginBonus newUserLoginBonus : userLoginBonusList) {
int bonusId = newUserLoginBonus.getBonusId();
Optional<UserLoginBonus> loginBonusOptional = userLoginBonusRepository.findByUserAndBonusId(newUserData, bonusId);
UserLoginBonus userLoginBonus = loginBonusOptional.orElseGet(() -> new UserLoginBonus(newUserData));
newUserLoginBonus.setId(userLoginBonus.getId());
newUserLoginBonus.setUser(newUserData);
newUserLoginBonusList.add(newUserLoginBonus);
}
userLoginBonusRepository.saveAll(newUserLoginBonusList);
}
// UserRatingList
if (userAll.getUserRatingList() != null) {
UserRating userRating = userAll.getUserRatingList().get(0);
//Udemae
UserUdemae newUserUdemae = userRating.getUdemae();
Optional<UserUdemae> udemaeOptional = userUdemaeRepository.findByUser(newUserData);
UserUdemae userUdemae = udemaeOptional.orElseGet(() -> new UserUdemae(newUserData));
newUserUdemae.setId(userUdemae.getId());
newUserUdemae.setUser(newUserData);
userUdemaeRepository.saveAndFlush(newUserUdemae);
List<UserRate> userRateList = userRating.getRatingList();
List<UserRate> newUserRateList = new ArrayList<>();
// UserRate
for (UserRate newUserRate : userRateList) {
int musicId = newUserRate.getMusicId();
Optional<UserRate> rateOptional = userRateRepository.findByUserAndMusicId(newUserData, musicId);
UserRate userRate = rateOptional.orElseGet(() -> new UserRate(newUserData));
newUserRate.setId(userRate.getId());
newUserRate.setUser(newUserData);
newUserRateList.add(newUserRate);
}
userRateRepository.saveAll(newUserRateList);
}
// UserItemList
if (userAll.getUserItemList() != null) {
List<UserItem> userItemList = userAll.getUserItemList();
List<UserItem> newUserItemList = new ArrayList<>();
for (UserItem newUserItem : userItemList) {
int itemId = newUserItem.getItemId();
int itemKind = newUserItem.getItemKind();
Optional<UserItem> itemOptional = userItemRepository.findByUserAndItemKindAndItemId(newUserData, itemKind, itemId);
UserItem userItem = itemOptional.orElseGet(() -> new UserItem(newUserData));
newUserItem.setId(userItem.getId());
newUserItem.setUser(newUserData);
newUserItemList.add(newUserItem);
}
userItemRepository.saveAll(newUserItemList);
}
// UserMusicDetailList
if (userAll.getUserMusicDetailList() != null) {
List<UserMusicDetail> userMusicDetailList = userAll.getUserMusicDetailList();
List<UserMusicDetail> newUserMusicDetailList = new ArrayList<>();
for (UserMusicDetail newUserMusicDetail : userMusicDetailList) {
int musicId = newUserMusicDetail.getMusicId();
int level = newUserMusicDetail.getLevel();
Optional<UserMusicDetail> musicDetailOptional = userMusicDetailRepository.findByUserAndMusicIdAndLevel(newUserData, musicId, level);
UserMusicDetail userMusicDetail = musicDetailOptional.orElseGet(() -> new UserMusicDetail(newUserData));
newUserMusicDetail.setId(userMusicDetail.getId());
newUserMusicDetail.setUser(newUserData);
newUserMusicDetailList.add(newUserMusicDetail);
}
userMusicDetailRepository.saveAll(newUserMusicDetailList);
}
// UserFavoriteList
if (userAll.getUserFavoriteList() != null) {
List<UserFavorite> userFavoriteList = userAll.getUserFavoriteList();
List<UserFavorite> newUserFavoriteList = new ArrayList<>();
for (UserFavorite newUserFavorite : userFavoriteList) {
int itemKind = newUserFavorite.getItemKind();
Optional<UserFavorite> favoriteOptional = userFavoriteRepository.findByUserAndItemKind(newUserData, itemKind);
UserFavorite userFavorite = favoriteOptional.orElseGet(() -> new UserFavorite());
newUserFavorite.setId(userFavorite.getId());
newUserFavorite.setUser(newUserData);
newUserFavoriteList.add(newUserFavorite);
}
userFavoriteRepository.saveAll(newUserFavoriteList);
}
// UserActivityList
if (userAll.getUserActivityList() != null) {
UserActivity userActivity = userAll.getUserActivityList().get(0);
List<UserAct> newUserActList = new ArrayList<>();
List<List<UserAct>> activityList = new ArrayList<>();
activityList.add(userActivity.getMusicList());
activityList.add(userActivity.getPlayList());
for (List<UserAct> actList : activityList) {
for (UserAct newUserAct : actList) {
int kind = newUserAct.getKind();
int id = newUserAct.getActivityId();
if (kind != 0 && id != 0) {
Optional<UserAct> activityOptional = userActRepository.findByUserAndKindAndActivityId(newUserData, kind, id);
UserAct userAct = activityOptional.orElseGet(() -> new UserAct(newUserData));
newUserAct.setId(userAct.getId());
newUserAct.setUser(newUserData);
newUserActList.add(newUserAct);
}
}
}
newUserActList.sort((a, b) -> Long.compare(b.getSortNumber(), a.getSortNumber()));
userActRepository.saveAll(newUserActList);
}
return "{\"returnCode\":1,\"apiName\":\"com.sega.maimai2servlet.api.UpsertUserAllApi\"}";
}
}

View File

@@ -0,0 +1,37 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.response.UserLoginResp;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
public class UserLoginHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(UserLoginHandler.class);
private final BasicMapper mapper;
public UserLoginHandler(BasicMapper mapper) {
this.mapper = mapper;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
//String userId = Integer.toString((int)request.get("userId"));
UserLoginResp resp = new UserLoginResp();
String json = mapper.write(resp);
logger.info("Response: " + json);
return json;
}
}

View File

@@ -0,0 +1,34 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.chunithm.model.response.CodeResp;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
public class UserLogoutHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(UserLogoutHandler.class);
private final BasicMapper mapper;
public UserLogoutHandler(BasicMapper mapper) {
this.mapper = mapper;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
String json = mapper.write(new CodeResp(1));
logger.info("Response: " + json);
return json;
}
}