From 528b2f8b4d248d9af45c6641496df0d8cd5ce932 Mon Sep 17 00:00:00 2001 From: samnyan <205-neumphis@users.noreply.dev.s-ul.eu> Date: Sat, 28 Mar 2020 22:23:22 +0900 Subject: [PATCH] [general] Refactoring chunithm UpsertUserAll request and some clean up --- .../aqua/sega/aimedb/AimeDbDecoder.java | 7 +- .../sega/aimedb/AimeDbRequestHandler.java | 2 +- .../sega/aimedb/AimeDbServerInitializer.java | 4 +- .../{Impl => impl}/CampaignHandler.java | 2 +- .../{Impl => impl}/FeliCaLookupHandler.java | 2 +- .../{Impl => impl}/GoodbyeHandler.java | 2 +- .../handler/{Impl => impl}/HelloHandler.java | 2 +- .../handler/{Impl => impl}/LogHandler.java | 2 +- .../{Impl => impl}/Lookup2Handler.java | 2 +- .../handler/{Impl => impl}/LookupHandler.java | 2 +- .../{Impl => impl}/RegisterHandler.java | 3 +- .../aqua/sega/aimedb/util/LogMapper.java | 3 +- .../aqua/sega/allnet/AllNetController.java | 2 +- .../controller/ChuniServletController.java | 2 +- .../handler/impl/GetUserMusicHandler.java | 1 - .../impl/GetUserRecentRatingHandler.java | 2 +- .../handler/impl/UpsertUserAllHandler.java | 144 +++++++----------- .../impl/UpsertUserChargelogHandler.java | 2 +- .../chunithm/model/requet/UpsertUserAll.java | 88 +++++++++++ .../chunithm/service/UserActivityService.java | 4 +- .../service/UserCharacterService.java | 4 - .../chunithm/service/UserChargeService.java | 4 +- .../chunithm/service/UserCourseService.java | 4 +- .../chunithm/service/UserDuelService.java | 4 +- .../chunithm/service/UserItemService.java | 4 +- .../sega/chunithm/service/UserMapService.java | 4 +- .../service/UserMusicDetailService.java | 4 +- .../sega/diva/controller/DivaController.java | 2 +- .../diva/filter/DivaCompressionFilter.java | 2 +- .../diva/handler/ingame/GetPvPdHandler.java | 1 - .../sega/diva/model/gamedata/Contest.java | 1 - .../aqua/sega/diva/util/DivaMapper.java | 12 +- .../filter/CompressRequestWrapper.java | 6 +- .../filter/CompressResponseWrapper.java | 6 +- .../general/filter/CompressionFilter.java | 2 +- .../model/response}/UserRecentRating.java | 2 +- .../ongeki/controller/OngekiController.java | 78 +++++----- .../dao/gamedata/GamePresentRepository.java | 1 - .../dao/gamedata/GameRewardRepository.java | 1 - .../dao/userdata/UserActivityRepository.java | 4 +- .../dao/userdata/UserCardRepository.java | 4 +- .../dao/userdata/UserChapterRepository.java | 4 +- .../dao/userdata/UserCharacterRepository.java | 4 +- .../dao/userdata/UserDataRepository.java | 1 + .../dao/userdata/UserDeckRepository.java | 4 +- .../userdata/UserEventPointRepository.java | 4 +- .../userdata/UserGeneralDataRepository.java | 3 + .../dao/userdata/UserItemRepository.java | 4 +- .../userdata/UserLoginBonusRepository.java | 4 +- .../userdata/UserMissionPointRepository.java | 5 +- .../userdata/UserMusicDetailRepository.java | 4 +- .../dao/userdata/UserMusicItemRepository.java | 2 + .../dao/userdata/UserOptionRepository.java | 2 + .../dao/userdata/UserPlaylogRepository.java | 2 + .../dao/userdata/UserStoryRepository.java | 2 + .../userdata/UserTrainingRoomRepository.java | 2 + .../handler/impl/GetGameEventHandler.java | 14 +- .../handler/impl/GetGameIdlistHandler.java | 1 - .../handler/impl/GetGamePointHandler.java | 2 - .../handler/impl/GetGamePresentHandler.java | 1 - .../handler/impl/GetGameRewardHandler.java | 2 - .../impl/GetUserEventRankingHandler.java | 16 +- .../handler/impl/GetUserPreviewHandler.java | 8 +- .../impl/GetUserRecentRatingHandler.java | 2 +- .../handler/impl/UpsertUserAllHandler.java | 9 +- .../ongeki/model/gamedata/GameReward.java | 1 - .../model/response/data/GameSetting.java | 1 - .../model/userdata/UserMissionPoint.java | 1 - .../aqua/sega/util/jackson/BasicMapper.java | 1 - .../aqua/sega/util/jackson/StringMapper.java | 17 ++- 70 files changed, 310 insertions(+), 241 deletions(-) rename src/main/java/icu/samnyan/aqua/sega/aimedb/handler/{Impl => impl}/CampaignHandler.java (96%) rename src/main/java/icu/samnyan/aqua/sega/aimedb/handler/{Impl => impl}/FeliCaLookupHandler.java (97%) rename src/main/java/icu/samnyan/aqua/sega/aimedb/handler/{Impl => impl}/GoodbyeHandler.java (94%) rename src/main/java/icu/samnyan/aqua/sega/aimedb/handler/{Impl => impl}/HelloHandler.java (96%) rename src/main/java/icu/samnyan/aqua/sega/aimedb/handler/{Impl => impl}/LogHandler.java (96%) rename src/main/java/icu/samnyan/aqua/sega/aimedb/handler/{Impl => impl}/Lookup2Handler.java (97%) rename src/main/java/icu/samnyan/aqua/sega/aimedb/handler/{Impl => impl}/LookupHandler.java (97%) rename src/main/java/icu/samnyan/aqua/sega/aimedb/handler/{Impl => impl}/RegisterHandler.java (95%) create mode 100644 src/main/java/icu/samnyan/aqua/sega/chunithm/model/requet/UpsertUserAll.java rename src/main/java/icu/samnyan/aqua/sega/{chunithm/model/response/data => general/model/response}/UserRecentRating.java (85%) diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbDecoder.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbDecoder.java index c0613011..b1210694 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbDecoder.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbDecoder.java @@ -33,10 +33,9 @@ public class AimeDbDecoder extends ByteToMessageDecoder { /** * Decrypt the incoming request including frame management - * - * @param ctx - * @param in - * @param out + * @param ctx ChannelHandlerContext + * @param in ByteBuf in + * @param out List * @throws Exception */ @Override diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbRequestHandler.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbRequestHandler.java index 60a796cd..d1f163e8 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbRequestHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbRequestHandler.java @@ -1,6 +1,6 @@ package icu.samnyan.aqua.sega.aimedb; -import icu.samnyan.aqua.sega.aimedb.handler.Impl.*; +import icu.samnyan.aqua.sega.aimedb.handler.impl.*; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbServerInitializer.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbServerInitializer.java index e3c09b23..bc9f98b0 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbServerInitializer.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/AimeDbServerInitializer.java @@ -1,6 +1,6 @@ package icu.samnyan.aqua.sega.aimedb; -import icu.samnyan.aqua.sega.aimedb.handler.Impl.*; +import icu.samnyan.aqua.sega.aimedb.handler.impl.*; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelPipeline; import io.netty.channel.socket.SocketChannel; @@ -40,7 +40,7 @@ public class AimeDbServerInitializer extends ChannelInitializer { @Override - protected void initChannel(SocketChannel ch) throws Exception { + protected void initChannel(SocketChannel ch) { ChannelPipeline pipeline = ch.pipeline(); pipeline.addLast("encoder", new AimeDbEncoder()); pipeline.addLast("decoder", new AimeDbDecoder()); diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/CampaignHandler.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/CampaignHandler.java similarity index 96% rename from src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/CampaignHandler.java rename to src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/CampaignHandler.java index a167c683..ce93ca18 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/CampaignHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/CampaignHandler.java @@ -1,4 +1,4 @@ -package icu.samnyan.aqua.sega.aimedb.handler.Impl; +package icu.samnyan.aqua.sega.aimedb.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.aimedb.handler.BaseHandler; diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/FeliCaLookupHandler.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/FeliCaLookupHandler.java similarity index 97% rename from src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/FeliCaLookupHandler.java rename to src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/FeliCaLookupHandler.java index 36cc2e84..ddeb455e 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/FeliCaLookupHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/FeliCaLookupHandler.java @@ -1,4 +1,4 @@ -package icu.samnyan.aqua.sega.aimedb.handler.Impl; +package icu.samnyan.aqua.sega.aimedb.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.aimedb.handler.BaseHandler; diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/GoodbyeHandler.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/GoodbyeHandler.java similarity index 94% rename from src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/GoodbyeHandler.java rename to src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/GoodbyeHandler.java index a008b1c3..6a2ea4a4 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/GoodbyeHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/GoodbyeHandler.java @@ -1,4 +1,4 @@ -package icu.samnyan.aqua.sega.aimedb.handler.Impl; +package icu.samnyan.aqua.sega.aimedb.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/HelloHandler.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/HelloHandler.java similarity index 96% rename from src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/HelloHandler.java rename to src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/HelloHandler.java index 5c81e29e..3411ebe1 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/HelloHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/HelloHandler.java @@ -1,4 +1,4 @@ -package icu.samnyan.aqua.sega.aimedb.handler.Impl; +package icu.samnyan.aqua.sega.aimedb.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.aimedb.handler.BaseHandler; diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/LogHandler.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/LogHandler.java similarity index 96% rename from src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/LogHandler.java rename to src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/LogHandler.java index fa1e59ba..a248d1b2 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/LogHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/LogHandler.java @@ -1,4 +1,4 @@ -package icu.samnyan.aqua.sega.aimedb.handler.Impl; +package icu.samnyan.aqua.sega.aimedb.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.aimedb.handler.BaseHandler; diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/Lookup2Handler.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/Lookup2Handler.java similarity index 97% rename from src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/Lookup2Handler.java rename to src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/Lookup2Handler.java index 1bd21497..b3b362cd 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/Lookup2Handler.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/Lookup2Handler.java @@ -1,4 +1,4 @@ -package icu.samnyan.aqua.sega.aimedb.handler.Impl; +package icu.samnyan.aqua.sega.aimedb.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.aimedb.handler.BaseHandler; diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/LookupHandler.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/LookupHandler.java similarity index 97% rename from src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/LookupHandler.java rename to src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/LookupHandler.java index 295c1403..9dbcfcbe 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/LookupHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/LookupHandler.java @@ -1,4 +1,4 @@ -package icu.samnyan.aqua.sega.aimedb.handler.Impl; +package icu.samnyan.aqua.sega.aimedb.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.aimedb.handler.BaseHandler; diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/RegisterHandler.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/RegisterHandler.java similarity index 95% rename from src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/RegisterHandler.java rename to src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/RegisterHandler.java index ca5375c2..17d8a9ef 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/Impl/RegisterHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/handler/impl/RegisterHandler.java @@ -1,10 +1,9 @@ -package icu.samnyan.aqua.sega.aimedb.handler.Impl; +package icu.samnyan.aqua.sega.aimedb.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.aimedb.handler.BaseHandler; import icu.samnyan.aqua.sega.aimedb.util.AimeDbUtil; import icu.samnyan.aqua.sega.aimedb.util.LogMapper; -import icu.samnyan.aqua.sega.general.dao.CardRepository; import icu.samnyan.aqua.sega.general.model.Card; import icu.samnyan.aqua.sega.general.service.CardService; import io.netty.buffer.ByteBuf; diff --git a/src/main/java/icu/samnyan/aqua/sega/aimedb/util/LogMapper.java b/src/main/java/icu/samnyan/aqua/sega/aimedb/util/LogMapper.java index ed18c47f..f2a3574f 100644 --- a/src/main/java/icu/samnyan/aqua/sega/aimedb/util/LogMapper.java +++ b/src/main/java/icu/samnyan/aqua/sega/aimedb/util/LogMapper.java @@ -14,11 +14,10 @@ import org.springframework.stereotype.Component; public class LogMapper { private final ObjectMapper mapper; - private final SimpleModule module; public LogMapper() { mapper = new ObjectMapper(); - module = new SimpleModule(); + SimpleModule module = new SimpleModule(); module.addSerializer(ByteBuf.class, new ByteBufSerializer()); mapper.registerModule(module); } diff --git a/src/main/java/icu/samnyan/aqua/sega/allnet/AllNetController.java b/src/main/java/icu/samnyan/aqua/sega/allnet/AllNetController.java index 52661658..ae3ccff6 100644 --- a/src/main/java/icu/samnyan/aqua/sega/allnet/AllNetController.java +++ b/src/main/java/icu/samnyan/aqua/sega/allnet/AllNetController.java @@ -33,7 +33,7 @@ public class AllNetController { } @PostMapping(value = "/sys/servlet/PowerOn", produces = "text/plain") - String powerOn(InputStream dataStream) throws DataFormatException, IOException { + public String powerOn(InputStream dataStream) throws IOException { byte[] bytes = dataStream.readAllBytes(); Map reqMap = Decoder.decode(bytes); diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/controller/ChuniServletController.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/controller/ChuniServletController.java index 4f88fd57..e38775a7 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/controller/ChuniServletController.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/controller/ChuniServletController.java @@ -128,7 +128,7 @@ public class ChuniServletController { /** * The game start up request * - * @return + * @return json of GameSetting object */ @PostMapping("GetGameSettingApi") String getGameSetting(@ModelAttribute Map request) throws JsonProcessingException { diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/GetUserMusicHandler.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/GetUserMusicHandler.java index a55d84a2..a36bb02f 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/GetUserMusicHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/GetUserMusicHandler.java @@ -14,7 +14,6 @@ import org.springframework.data.domain.Page; import org.springframework.stereotype.Component; import java.util.*; -import java.util.stream.Collectors; /** * Response: diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/GetUserRecentRatingHandler.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/GetUserRecentRatingHandler.java index ccbcc8ce..737389db 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/GetUserRecentRatingHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/GetUserRecentRatingHandler.java @@ -2,7 +2,7 @@ package icu.samnyan.aqua.sega.chunithm.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.chunithm.handler.BaseHandler; -import icu.samnyan.aqua.sega.chunithm.model.response.data.UserRecentRating; +import icu.samnyan.aqua.sega.general.model.response.UserRecentRating; import icu.samnyan.aqua.sega.chunithm.model.userdata.UserPlaylog; import icu.samnyan.aqua.sega.chunithm.service.UserPlaylogService; import icu.samnyan.aqua.sega.util.jackson.StringMapper; diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/UpsertUserAllHandler.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/UpsertUserAllHandler.java index 8ecd24ba..afcb0d44 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/UpsertUserAllHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/UpsertUserAllHandler.java @@ -2,6 +2,7 @@ package icu.samnyan.aqua.sega.chunithm.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.chunithm.handler.BaseHandler; +import icu.samnyan.aqua.sega.chunithm.model.requet.UpsertUserAll; import icu.samnyan.aqua.sega.chunithm.model.response.CodeResp; import icu.samnyan.aqua.sega.chunithm.model.userdata.*; import icu.samnyan.aqua.sega.chunithm.service.*; @@ -67,21 +68,20 @@ public class UpsertUserAllHandler implements BaseHandler { @Override public String handle(Map request) throws JsonProcessingException { String userId = (String) request.get("userId"); - Map upsertUserAll = (Map) request.get("upsertUserAll"); + UpsertUserAll upsertUserAll = mapper.convert(request.get("upsertUserAll"), UpsertUserAll.class); // Not all field will be sent. Check if they are exist first. UserData userData; UserData newUserData; // UserData - if (!upsertUserAll.containsKey("userData")) { + if (upsertUserAll.getUserData() == null) { return null; } else { - Map userDataMap = ((List>) upsertUserAll.get("userData")).get(0); + newUserData = upsertUserAll.getUserData().get(0); Optional userOptional = userDataService.getUserByExtId(userId); - if (userOptional.isPresent()) { userData = userOptional.get(); } else { @@ -90,9 +90,6 @@ public class UpsertUserAllHandler implements BaseHandler { userData.setCard(card); } - // Map the map to object - newUserData = mapper.convert(userDataMap, UserData.class); - newUserData.setId(userData.getId()); newUserData.setCard(userData.getCard()); @@ -107,30 +104,26 @@ public class UpsertUserAllHandler implements BaseHandler { } // userGameOption - if (upsertUserAll.containsKey("userGameOption")) { - Map userGameOptionMap = ((List>) upsertUserAll.get("userGameOption")).get(0); + if (upsertUserAll.getUserGameOption() != null) { + UserGameOption newUserGameOption = upsertUserAll.getUserGameOption().get(0); Optional userGameOptionOptional = userGameOptionService.getByUser(newUserData); UserGameOption userGameOption = userGameOptionOptional.orElseGet(() -> new UserGameOption(newUserData)); - UserGameOption newUserGameOption = mapper.convert(userGameOptionMap, UserGameOption.class); newUserGameOption.setId(userGameOption.getId()); newUserGameOption.setUser(userGameOption.getUser()); userGameOptionService.save(newUserGameOption); - - } // userGameOptionEx - if (upsertUserAll.containsKey("userGameOptionEx")) { - Map userGameOptionExMap = ((List>) upsertUserAll.get("userGameOptionEx")).get(0); + if (upsertUserAll.getUserGameOptionEx() != null) { + UserGameOptionEx newUserGameOptionEx = upsertUserAll.getUserGameOptionEx().get(0); Optional userGameOptionExOptional = userGameOptionExService.getByUser(newUserData); UserGameOptionEx userGameOptionEx = userGameOptionExOptional.orElseGet(() -> new UserGameOptionEx(newUserData)); - UserGameOptionEx newUserGameOptionEx = mapper.convert(userGameOptionExMap, UserGameOptionEx.class); newUserGameOptionEx.setId(userGameOptionEx.getId()); newUserGameOptionEx.setUser(userGameOptionEx.getUser()); @@ -138,43 +131,35 @@ public class UpsertUserAllHandler implements BaseHandler { } // userMapList - if (upsertUserAll.containsKey("userMapList")) { + if (upsertUserAll.getUserMapList() != null) { + List userMapList = upsertUserAll.getUserMapList(); + Map newUserMapMap = new HashMap<>(); - int mapPos = 0; - - List> userMapList = (List>) upsertUserAll.get("userMapList"); - Map newUserMapMap = new HashMap<>(); - - userMapList.forEach(userMapListMap -> { - String mapId = (String) userMapListMap.get("mapId"); + userMapList.forEach(newUserMap -> { + int mapId = newUserMap.getMapId(); UserMap userMap; Optional userMapOptional = userMapService.getByUserAndMapId(newUserData, mapId); userMap = userMapOptional.orElseGet(() -> new UserMap(newUserData)); - - UserMap newUserMap = mapper.convert(userMapListMap, UserMap.class); newUserMap.setId(userMap.getId()); newUserMap.setUser(userMap.getUser()); newUserMapMap.put(mapId, newUserMap); - }); userMapService.saveAll(newUserMapMap.values()); } // userCharacterList - if (upsertUserAll.containsKey("userCharacterList")) { + if (upsertUserAll.getUserCharacterList() != null) { + List userCharacterList = upsertUserAll.getUserCharacterList(); + Map newCharacterMap = new HashMap<>(); - List> userCharacterList = (List>) upsertUserAll.get("userCharacterList"); - Map newCharacterMap = new HashMap<>(); - - userCharacterList.forEach(userCharacterMap -> { - String characterId = (String) userCharacterMap.get("characterId"); + userCharacterList.forEach(newUserCharacter -> { + int characterId = newUserCharacter.getCharacterId(); Optional userCharacterOptional = userCharacterService.getByUserAndCharacterId(newUserData, characterId); UserCharacter userCharacter = userCharacterOptional.orElseGet(() -> new UserCharacter(newUserData)); - UserCharacter newUserCharacter = mapper.convert(userCharacterMap, UserCharacter.class); newUserCharacter.setId(userCharacter.getId()); newUserCharacter.setUser(userCharacter.getUser()); @@ -184,20 +169,18 @@ public class UpsertUserAllHandler implements BaseHandler { } // userItemList - if (upsertUserAll.containsKey("userItemList")) { - - List> userItemList = (List>) upsertUserAll.get("userItemList"); + if (upsertUserAll.getUserItemList() != null) { + List userItemList = upsertUserAll.getUserItemList(); Map newUserItemMap = new HashMap<>(); - userItemList.forEach(userItemMap -> { - String itemId = (String) userItemMap.get("itemId"); - String itemKind = (String) userItemMap.get("itemKind"); + userItemList.forEach(newUserItem -> { + int itemId = newUserItem.getItemId(); + int itemKind = newUserItem.getItemKind(); - Optional userItemOptional = userItemService.getByUserAndItemId(newUserData, itemId, itemKind); + Optional userItemOptional = userItemService.getByUserAndItemIdAndKind(newUserData, itemId, itemKind); UserItem userItem = userItemOptional.orElseGet(() -> new UserItem(newUserData)); - UserItem newUserItem = mapper.convert(userItemMap, UserItem.class); newUserItem.setId(userItem.getId()); newUserItem.setUser(userItem.getUser()); @@ -207,100 +190,92 @@ public class UpsertUserAllHandler implements BaseHandler { } // userMusicDetailList - if (upsertUserAll.containsKey("userMusicDetailList")) { + if (upsertUserAll.getUserMusicDetailList() != null) { - List> userMusicDetailList = (List>) upsertUserAll.get("userMusicDetailList"); + List userMusicDetailList = upsertUserAll.getUserMusicDetailList(); Map newUserMusicDetailMap = new HashMap<>(); - userMusicDetailList.forEach(userMusicDetailMap -> { - String musicId = (String) userMusicDetailMap.get("musicId"); - String level = (String) userMusicDetailMap.get("level"); + userMusicDetailList.forEach(newUserMusicDetail -> { + int musicId = newUserMusicDetail.getMusicId(); + int level = newUserMusicDetail.getLevel(); Optional userMusicDetailOptional = userMusicDetailService.getByUserAndMusicIdAndLevel(newUserData, musicId, level); UserMusicDetail userMusicDetail = userMusicDetailOptional.orElseGet(() -> new UserMusicDetail(newUserData)); - UserMusicDetail newUserMusicDetail = mapper.convert(userMusicDetailMap, UserMusicDetail.class); newUserMusicDetail.setId(userMusicDetail.getId()); newUserMusicDetail.setUser(userMusicDetail.getUser()); - newUserMusicDetailMap.put(musicId + "," + level, newUserMusicDetail); - + newUserMusicDetailMap.put(musicId + "-" + level, newUserMusicDetail); }); userMusicDetailService.saveAll(newUserMusicDetailMap.values()); - } // userActivityList - if (upsertUserAll.containsKey("userActivityList")) { + if (upsertUserAll.getUserActivityList() != null) { + List userActivityList = upsertUserAll.getUserActivityList(); + List newUserActivityList = new LinkedList<>(); - List> userActivityList = (List>) upsertUserAll.get("userActivityList"); - userActivityList.forEach(userActivityMap -> { + userActivityList.forEach(newUserActivity -> { // No need to rename to activityId. jackson auto handle that - String activityId = (String) userActivityMap.get("id"); - String kind = (String) userActivityMap.get("kind"); + int activityId = newUserActivity.getActivityId(); + int kind = newUserActivity.getKind(); Optional userActivityOptional = userActivityService.getByUserAndActivityIdAndKind(newUserData, activityId, kind); UserActivity userActivity = userActivityOptional.orElseGet(() -> new UserActivity(newUserData)); - UserActivity newUserActivity = mapper.convert(userActivityMap, UserActivity.class); newUserActivity.setId(userActivity.getId()); newUserActivity.setUser(userActivity.getUser()); - userActivityService.save(newUserActivity); - + newUserActivityList.add(newUserActivity); }); + userActivityService.saveAll(newUserActivityList); } // userRecentRatingList // userChargeList - - if (upsertUserAll.containsKey("userChargeList")) { - List> userChargeList = (List>) upsertUserAll.get("userChargeList"); + if (upsertUserAll.getUserChargeList() != null) { + List userChargeList = upsertUserAll.getUserChargeList(); List newUserChargeList = new ArrayList<>(); - userChargeList.forEach(userChargeMap -> { - String chargeId = (String) userChargeMap.get("chargeId"); + + userChargeList.forEach(newUserCharge -> { + int chargeId = newUserCharge.getChargeId(); Optional userChargeOptional = userChargeService.getByUserAndChargeId(newUserData, chargeId); UserCharge userCharge = userChargeOptional.orElseGet(() -> new UserCharge(newUserData)); - UserCharge newUserCharge = mapper.convert(userChargeMap, UserCharge.class); newUserCharge.setId(userCharge.getId()); newUserCharge.setUser(userCharge.getUser()); + newUserChargeList.add(newUserCharge); }); - userChargeService.saveAll(newUserChargeList); } // userPlaylogList - if (upsertUserAll.containsKey("userPlaylogList")) { - - List> userPlaylogList = (List>) upsertUserAll.get("userPlaylogList"); + if (upsertUserAll.getUserPlaylogList() != null) { + List userPlaylogList = upsertUserAll.getUserPlaylogList(); List newUserPlaylogList = new ArrayList<>(); - userPlaylogList.forEach(userPlayLogMap -> { - UserPlaylog newUserPlaylog = mapper.convert(userPlayLogMap, UserPlaylog.class); + userPlaylogList.forEach(newUserPlaylog -> { newUserPlaylog.setUser(newUserData); newUserPlaylogList.add(newUserPlaylog); }); - if (newUserPlaylogList.size() > 0) userPlaylogService.saveAll(newUserPlaylogList); } // userCourseList - if (upsertUserAll.containsKey("userCourseList")) { - List> userCourseList = (List>) upsertUserAll.get("userCourseList"); + if (upsertUserAll.getUserCourseList() != null) { + List userCourseList = upsertUserAll.getUserCourseList(); - userCourseList.forEach(userCourseMap -> { - String courseId = (String) userCourseMap.get("courseId"); + userCourseList.forEach(newUserCourse -> { + int courseId = newUserCourse.getCourseId(); Optional userCourseOptional = userCourseService.getByUserAndCourseId(newUserData, courseId); UserCourse userCourse = userCourseOptional.orElseGet(() -> new UserCourse(newUserData)); - UserCourse newUserCourse = mapper.convert(userCourseMap, UserCourse.class); newUserCourse.setId(userCourse.getId()); newUserCourse.setUser(userCourse.getUser()); @@ -310,13 +285,12 @@ public class UpsertUserAllHandler implements BaseHandler { // userDataEx - if (upsertUserAll.containsKey("userDataEx")) { - Map userDataExMap = ((List>) upsertUserAll.get("userDataEx")).get(0); + if (upsertUserAll.getUserDataEx() != null) { + UserDataEx newUserDataEx = upsertUserAll.getUserDataEx().get(0); Optional userDataExOptional = userDataExService.getByUser(newUserData); UserDataEx userDataEx = userDataExOptional.orElseGet(() -> new UserDataEx(newUserData)); - UserDataEx newUserDataEx = mapper.convert(userDataExMap, UserDataEx.class); newUserDataEx.setId(userDataEx.getId()); newUserDataEx.setUser(userDataEx.getUser()); @@ -324,23 +298,21 @@ public class UpsertUserAllHandler implements BaseHandler { } // userDuelList - if (upsertUserAll.containsKey("userDuelList")) { + if (upsertUserAll.getUserDuelList() != null) { + List userDuelList = upsertUserAll.getUserDuelList(); + Map newUserDuelMap = new HashMap<>(); - List> userDuelList = (List>) upsertUserAll.get("userDuelList"); - Map newUserDuelMap = new HashMap<>(); - userDuelList.forEach(userDuelMap -> { - String duelId = (String) userDuelMap.get("duelId"); + userDuelList.forEach(newUserDuel -> { + int duelId = newUserDuel.getDuelId(); Optional userDuelOptional = userDuelService.getByUserAndDuelId(newUserData, duelId); UserDuel userDuel = userDuelOptional.orElseGet(() -> new UserDuel(newUserData)); - UserDuel newUserDuel = mapper.convert(userDuelMap, UserDuel.class); newUserDuel.setId(userDuel.getId()); newUserDuel.setUser(userDuel.getUser()); newUserDuelMap.put(duelId, newUserDuel); }); - userDuelService.saveAll(newUserDuelMap.values()); } diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/UpsertUserChargelogHandler.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/UpsertUserChargelogHandler.java index a91c86b7..d8d23707 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/UpsertUserChargelogHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/handler/impl/UpsertUserChargelogHandler.java @@ -42,7 +42,7 @@ public class UpsertUserChargelogHandler implements BaseHandler { String chargeId = (String) userChargeMap.get("chargeId"); UserCharge charge = mapper.convert(userChargeMap, UserCharge.class); - UserCharge userCharge = userChargeService.getByUserAndChargeId(user, chargeId).orElseGet(() -> new UserCharge(user)); + UserCharge userCharge = userChargeService.getByUserAndChargeId(user, Integer.parseInt(chargeId)).orElseGet(() -> new UserCharge(user)); userCharge.setChargeId(charge.getChargeId()); userCharge.setStock(charge.getStock()); userCharge.setPurchaseDate(charge.getPurchaseDate()); diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/model/requet/UpsertUserAll.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/model/requet/UpsertUserAll.java new file mode 100644 index 00000000..f6161ca2 --- /dev/null +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/model/requet/UpsertUserAll.java @@ -0,0 +1,88 @@ +package icu.samnyan.aqua.sega.chunithm.model.requet; + +import com.fasterxml.jackson.annotation.JsonProperty; +import icu.samnyan.aqua.sega.chunithm.model.userdata.*; +import icu.samnyan.aqua.sega.general.model.response.UserRecentRating; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.lang.Nullable; + +import java.io.Serializable; +import java.util.List; + +/** + * @author samnyan (privateamusement@protonmail.com) + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class UpsertUserAll implements Serializable { + + @Nullable + private List userData; + + @Nullable + private List userGameOption; + + @Nullable + private List userGameOptionEx; + + @Nullable + private List userMapList; + + @Nullable + private List userCharacterList; + + @Nullable + private List userItemList; + + @Nullable + private List userMusicDetailList; + + @Nullable + private List userActivityList; + + @Nullable + private List userRecentRatingList; + + @Nullable + private List userChargeList; + + @Nullable + private List userPlaylogList; + + @Nullable + private List userCourseList; + + @Nullable + private List userDataEx; + + @Nullable + private List userDuelList; + + @Nullable + @JsonProperty("isNewMapList") + private String isNewMapList; + + @Nullable + @JsonProperty("isNewCharacterList") + private String isNewCharacterList; + + @Nullable + @JsonProperty("isNewMusicDetailList") + private String isNewMusicDetailList; + + @Nullable + @JsonProperty("isNewItemList") + private String isNewItemList; + + @Nullable + @JsonProperty("isNewCourseList") + private String isNewCourseList; + + @Nullable + @JsonProperty("isNewDuelList") + private String isNewDuelList; + +} diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserActivityService.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserActivityService.java index 21a2bd83..e915409b 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserActivityService.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserActivityService.java @@ -30,8 +30,8 @@ public class UserActivityService { return userActivityRepository.saveAll(userActivityList); } - public Optional getByUserAndActivityIdAndKind(UserData user, String activityId, String kind) { - return userActivityRepository.findTopByUserAndActivityIdAndKindOrderByIdDesc(user, Integer.parseInt(activityId), Integer.parseInt(kind)); + public Optional getByUserAndActivityIdAndKind(UserData user, int activityId, int kind) { + return userActivityRepository.findTopByUserAndActivityIdAndKindOrderByIdDesc(user, activityId, kind); } public List getAllByUserIdAndKind(String userId, String kind) { diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserCharacterService.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserCharacterService.java index 3491109e..c6a3dc41 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserCharacterService.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserCharacterService.java @@ -42,10 +42,6 @@ public class UserCharacterService { return userCharacterRepository.findByUser_Card_ExtId(Integer.parseInt(userId), pageable); } - public Optional getByUserAndCharacterId(UserData user, String characterId) { - return getByUserAndCharacterId(user, Integer.parseInt(characterId)); - } - public Optional getByUserAndCharacterId(UserData user, int characterId) { return userCharacterRepository.findTopByUserAndCharacterIdOrderByIdDesc(user, characterId); } diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserChargeService.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserChargeService.java index 5194f3ed..5266060c 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserChargeService.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserChargeService.java @@ -32,8 +32,8 @@ public class UserChargeService { return userChargeRepository.findByUser_Card_ExtId(Integer.parseInt(userId)); } - public Optional getByUserAndChargeId(UserData user, String chargeId) { - return userChargeRepository.findByUserAndChargeId(user, Integer.parseInt(chargeId)); + public Optional getByUserAndChargeId(UserData user, int chargeId) { + return userChargeRepository.findByUserAndChargeId(user, chargeId); } } diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserCourseService.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserCourseService.java index bbeabf1f..ab565dc6 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserCourseService.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserCourseService.java @@ -42,7 +42,7 @@ public class UserCourseService { return userCourseRepository.findByUser_Card_ExtId(Integer.parseInt(userId), page); } - public Optional getByUserAndCourseId(UserData user, String courseId) { - return userCourseRepository.findTopByUserAndCourseIdOrderByIdDesc(user, Integer.parseInt(courseId)); + public Optional getByUserAndCourseId(UserData user, int courseId) { + return userCourseRepository.findTopByUserAndCourseIdOrderByIdDesc(user, courseId); } } diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserDuelService.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserDuelService.java index e1ad4189..8daed9b5 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserDuelService.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserDuelService.java @@ -22,8 +22,8 @@ public class UserDuelService { this.userDuelRepository = userDuelRepository; } - public Optional getByUserAndDuelId(UserData user, String duelId) { - return userDuelRepository.findTopByUserAndDuelIdOrderByIdDesc(user, Integer.parseInt(duelId)); + public Optional getByUserAndDuelId(UserData user, int duelId) { + return userDuelRepository.findTopByUserAndDuelIdOrderByIdDesc(user, duelId); } public UserDuel save(UserDuel userDuel) { diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserItemService.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserItemService.java index 7ce2218f..d44f7ec7 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserItemService.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserItemService.java @@ -36,8 +36,8 @@ public class UserItemService { return userItemRepository.findAllByUser_Card_ExtId(Integer.parseInt(userId)); } - public Optional getByUserAndItemId(UserData user, String itemId, String itemKind) { - return userItemRepository.findTopByUserAndItemIdAndItemKindOrderByIdDesc(user, Integer.parseInt(itemId), Integer.parseInt(itemKind)); + public Optional getByUserAndItemIdAndKind(UserData user, int itemId, int itemKind) { + return userItemRepository.findTopByUserAndItemIdAndItemKindOrderByIdDesc(user, itemId, itemKind); } public Page getByUserAndItemKind(String userId, int kind, int pageNumber, int maxCount) { diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserMapService.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserMapService.java index 48141cc0..409e8059 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserMapService.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserMapService.java @@ -38,7 +38,7 @@ public class UserMapService { return userMapRepository.findAllByUser_Card_ExtId(Integer.parseInt(userId)); } - public Optional getByUserAndMapId(UserData user, String mapId) { - return userMapRepository.findTopByUserAndMapIdOrderByIdDesc(user, Integer.parseInt(mapId)); + public Optional getByUserAndMapId(UserData user, int mapId) { + return userMapRepository.findTopByUserAndMapIdOrderByIdDesc(user, mapId); } } diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserMusicDetailService.java b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserMusicDetailService.java index 5dd8db47..0acd7348 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserMusicDetailService.java +++ b/src/main/java/icu/samnyan/aqua/sega/chunithm/service/UserMusicDetailService.java @@ -50,7 +50,7 @@ public class UserMusicDetailService { return userMusicDetailRepository.findByUser_Card_ExtIdAndMusicId(Integer.parseInt(userId), musicId); } - public Optional getByUserAndMusicIdAndLevel(UserData user, String musicId, String level) { - return userMusicDetailRepository.findTopByUserAndMusicIdAndLevelOrderByIdDesc(user, Integer.parseInt(musicId), Integer.parseInt(level)); + public Optional getByUserAndMusicIdAndLevel(UserData user, int musicId, int level) { + return userMusicDetailRepository.findTopByUserAndMusicIdAndLevelOrderByIdDesc(user, musicId, level); } } diff --git a/src/main/java/icu/samnyan/aqua/sega/diva/controller/DivaController.java b/src/main/java/icu/samnyan/aqua/sega/diva/controller/DivaController.java index bd1b0884..05c46131 100644 --- a/src/main/java/icu/samnyan/aqua/sega/diva/controller/DivaController.java +++ b/src/main/java/icu/samnyan/aqua/sega/diva/controller/DivaController.java @@ -246,7 +246,7 @@ public class DivaController { } @PostMapping(value = "", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public String fileRequest(@RequestParam String query, @RequestParam(required = false) MultipartFile bin) throws IOException, ServletException { + public String fileRequest(@RequestParam String query, @RequestParam(required = false) MultipartFile bin) { Map body = parse(query); diff --git a/src/main/java/icu/samnyan/aqua/sega/diva/filter/DivaCompressionFilter.java b/src/main/java/icu/samnyan/aqua/sega/diva/filter/DivaCompressionFilter.java index 4d1727d1..1ca4ab7d 100644 --- a/src/main/java/icu/samnyan/aqua/sega/diva/filter/DivaCompressionFilter.java +++ b/src/main/java/icu/samnyan/aqua/sega/diva/filter/DivaCompressionFilter.java @@ -53,7 +53,7 @@ public class DivaCompressionFilter extends OncePerRequestFilter { } @Override - protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException { + protected boolean shouldNotFilter(HttpServletRequest request) { String path = request.getServletPath(); return !path.startsWith("/diva"); } diff --git a/src/main/java/icu/samnyan/aqua/sega/diva/handler/ingame/GetPvPdHandler.java b/src/main/java/icu/samnyan/aqua/sega/diva/handler/ingame/GetPvPdHandler.java index 269f1681..eb21663f 100644 --- a/src/main/java/icu/samnyan/aqua/sega/diva/handler/ingame/GetPvPdHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/diva/handler/ingame/GetPvPdHandler.java @@ -20,7 +20,6 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.time.LocalDateTime; -import java.util.Optional; /** * @author samnyan (privateamusement@protonmail.com) diff --git a/src/main/java/icu/samnyan/aqua/sega/diva/model/gamedata/Contest.java b/src/main/java/icu/samnyan/aqua/sega/diva/model/gamedata/Contest.java index 58a73332..fb5874ab 100644 --- a/src/main/java/icu/samnyan/aqua/sega/diva/model/gamedata/Contest.java +++ b/src/main/java/icu/samnyan/aqua/sega/diva/model/gamedata/Contest.java @@ -2,7 +2,6 @@ package icu.samnyan.aqua.sega.diva.model.gamedata; import icu.samnyan.aqua.sega.diva.model.common.ContestLeague; import icu.samnyan.aqua.sega.diva.model.common.ContestNormaType; -import icu.samnyan.aqua.sega.diva.model.common.ContestStageLimit; import icu.samnyan.aqua.sega.diva.util.DivaDateTimeUtil; import icu.samnyan.aqua.sega.util.URIEncoder; import lombok.AllArgsConstructor; diff --git a/src/main/java/icu/samnyan/aqua/sega/diva/util/DivaMapper.java b/src/main/java/icu/samnyan/aqua/sega/diva/util/DivaMapper.java index 3a5ebaee..e3c397bb 100644 --- a/src/main/java/icu/samnyan/aqua/sega/diva/util/DivaMapper.java +++ b/src/main/java/icu/samnyan/aqua/sega/diva/util/DivaMapper.java @@ -2,9 +2,11 @@ package icu.samnyan.aqua.sega.diva.util; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.json.JsonWriteFeature; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.json.JsonMapper; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import icu.samnyan.aqua.sega.util.jackson.BooleanNumberDeserializer; @@ -26,17 +28,19 @@ public class DivaMapper { private final ObjectMapper mapper; public DivaMapper() { - mapper = new ObjectMapper().configure(JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS, true); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); SimpleModule module = new SimpleModule(); module.addSerializer(LocalDateTime.class, new DivaDateTimeSerializer()); + module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.0"))); + module.addDeserializer(ZonedDateTime.class, new ZonedDateTimeDeserializer()); module.addSerializer(Boolean.class, new BooleanNumberSerializer()); module.addSerializer(boolean.class, new BooleanNumberSerializer()); module.addDeserializer(Boolean.class, new BooleanNumberDeserializer()); module.addDeserializer(boolean.class, new BooleanNumberDeserializer()); - module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.0"))); - module.addDeserializer(ZonedDateTime.class, new ZonedDateTimeDeserializer()); + mapper = JsonMapper.builder().enable(JsonWriteFeature.WRITE_NUMBERS_AS_STRINGS) + .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) + .build(); + mapper.registerModule(module); } diff --git a/src/main/java/icu/samnyan/aqua/sega/general/filter/CompressRequestWrapper.java b/src/main/java/icu/samnyan/aqua/sega/general/filter/CompressRequestWrapper.java index 21c731b9..0f55fb43 100644 --- a/src/main/java/icu/samnyan/aqua/sega/general/filter/CompressRequestWrapper.java +++ b/src/main/java/icu/samnyan/aqua/sega/general/filter/CompressRequestWrapper.java @@ -12,7 +12,7 @@ import java.io.IOException; */ public class CompressRequestWrapper extends HttpServletRequestWrapper { - private ByteArrayInputStream input; + private final ByteArrayInputStream input; private ServletInputStream filterInput; public CompressRequestWrapper(HttpServletRequest request, byte[] input) { @@ -22,7 +22,7 @@ public class CompressRequestWrapper extends HttpServletRequestWrapper { @Override - public ServletInputStream getInputStream() throws IOException { + public ServletInputStream getInputStream() { if (filterInput == null) { filterInput = new ServletInputStream() { @Override @@ -41,7 +41,7 @@ public class CompressRequestWrapper extends HttpServletRequestWrapper { } @Override - public int read() throws IOException { + public int read() { return input.read(); } }; diff --git a/src/main/java/icu/samnyan/aqua/sega/general/filter/CompressResponseWrapper.java b/src/main/java/icu/samnyan/aqua/sega/general/filter/CompressResponseWrapper.java index fbdea142..97db9dc1 100644 --- a/src/main/java/icu/samnyan/aqua/sega/general/filter/CompressResponseWrapper.java +++ b/src/main/java/icu/samnyan/aqua/sega/general/filter/CompressResponseWrapper.java @@ -12,7 +12,7 @@ import java.io.IOException; */ public class CompressResponseWrapper extends HttpServletResponseWrapper { - private ByteArrayOutputStream output; + private final ByteArrayOutputStream output; private ServletOutputStream filterOutput; @@ -22,7 +22,7 @@ public class CompressResponseWrapper extends HttpServletResponseWrapper { } @Override - public ServletOutputStream getOutputStream() throws IOException { + public ServletOutputStream getOutputStream() { if (filterOutput == null) { filterOutput = new ServletOutputStream() { @Override @@ -36,7 +36,7 @@ public class CompressResponseWrapper extends HttpServletResponseWrapper { } @Override - public void write(int b) throws IOException { + public void write(int b) { output.write(b); } }; diff --git a/src/main/java/icu/samnyan/aqua/sega/general/filter/CompressionFilter.java b/src/main/java/icu/samnyan/aqua/sega/general/filter/CompressionFilter.java index b56905e4..2c3e5aa1 100644 --- a/src/main/java/icu/samnyan/aqua/sega/general/filter/CompressionFilter.java +++ b/src/main/java/icu/samnyan/aqua/sega/general/filter/CompressionFilter.java @@ -61,7 +61,7 @@ public class CompressionFilter extends OncePerRequestFilter { } @Override - protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException { + protected boolean shouldNotFilter(HttpServletRequest request) { String path = request.getServletPath(); boolean notFilter = true; for (String prefix : filterList) { diff --git a/src/main/java/icu/samnyan/aqua/sega/chunithm/model/response/data/UserRecentRating.java b/src/main/java/icu/samnyan/aqua/sega/general/model/response/UserRecentRating.java similarity index 85% rename from src/main/java/icu/samnyan/aqua/sega/chunithm/model/response/data/UserRecentRating.java rename to src/main/java/icu/samnyan/aqua/sega/general/model/response/UserRecentRating.java index a01be451..38350081 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chunithm/model/response/data/UserRecentRating.java +++ b/src/main/java/icu/samnyan/aqua/sega/general/model/response/UserRecentRating.java @@ -1,4 +1,4 @@ -package icu.samnyan.aqua.sega.chunithm.model.response.data; +package icu.samnyan.aqua.sega.general.model.response; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/controller/OngekiController.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/controller/OngekiController.java index d61e822b..e8afcaa5 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/controller/OngekiController.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/controller/OngekiController.java @@ -84,196 +84,196 @@ public class OngekiController { } @PostMapping("ExtendLockTimeApi") - String extendLockTime(@ModelAttribute Map request) throws JsonProcessingException { + public String extendLockTime(@ModelAttribute Map request) { return "{\"returnCode\":1,\"apiName\":\"extendLockTime\"}"; } @PostMapping("GameLoginApi") - String gameLogin(@ModelAttribute Map request) throws JsonProcessingException { + public String gameLogin(@ModelAttribute Map request) { return "{\"returnCode\":1,\"apiName\":\"gameLogin\"}"; } @PostMapping("GameLogoutApi") - String gameLogout(@ModelAttribute Map request) throws JsonProcessingException { + public String gameLogout(@ModelAttribute Map request) { return "{\"returnCode\":1,\"apiName\": \"gameLogout\"}"; } @PostMapping("GetGameEventApi") - String getGameEvent(@ModelAttribute Map request) throws JsonProcessingException { + public String getGameEvent(@ModelAttribute Map request) throws JsonProcessingException { return getGameEventHandler.handle(request); } @PostMapping("GetGameIdlistApi") - String getGameIdList(@ModelAttribute Map request) throws JsonProcessingException { + public String getGameIdList(@ModelAttribute Map request) throws JsonProcessingException { return getGameIdlistHandler.handle(request); } @PostMapping("GetGameMessageApi") - String getGameMessage(@ModelAttribute Map request) throws JsonProcessingException { + public String getGameMessage(@ModelAttribute Map request) throws JsonProcessingException { return getGameMessageHandler.handle(request); } @PostMapping("GetGamePointApi") - String getGamePoint(@ModelAttribute Map request) throws JsonProcessingException { + public String getGamePoint(@ModelAttribute Map request) throws JsonProcessingException { return getGamePointHandler.handle(request); } @PostMapping("GetGamePresentApi") - String getGamePresent(@ModelAttribute Map request) throws JsonProcessingException { + public String getGamePresent(@ModelAttribute Map request) throws JsonProcessingException { return getGamePresentHandler.handle(request); } @PostMapping("GetGameRankingApi") - String getGameRanking(@ModelAttribute Map request) throws JsonProcessingException { + public String getGameRanking(@ModelAttribute Map request) throws JsonProcessingException { return getGameRankingHandler.handle(request); } @PostMapping("GetGameRewardApi") - String getGameReward(@ModelAttribute Map request) throws JsonProcessingException { + public String getGameReward(@ModelAttribute Map request) throws JsonProcessingException { return getGameRewardHandler.handle(request); } @PostMapping("GetGameSettingApi") - String getGameSetting(@ModelAttribute Map request) throws JsonProcessingException { + public String getGameSetting(@ModelAttribute Map request) throws JsonProcessingException { return getGameSettingHandler.handle(request); } @PostMapping("GetUserActivityApi") - String getUserActivity(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserActivity(@ModelAttribute Map request) throws JsonProcessingException { return getUserActivityHandler.handle(request); } @PostMapping("GetUserBpBaseApi") - String getUserBpBase(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserBpBase(@ModelAttribute Map request) throws JsonProcessingException { return getUserBpBaseHandler.handle(request); } @PostMapping("GetUserCardApi") - String getUserCard(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserCard(@ModelAttribute Map request) throws JsonProcessingException { return getUserCardHandler.handle(request); } @PostMapping("GetUserChapterApi") - String getUserChapter(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserChapter(@ModelAttribute Map request) throws JsonProcessingException { return getUserChapterHandler.handle(request); } @PostMapping("GetUserCharacterApi") - String getUserCharacter(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserCharacter(@ModelAttribute Map request) throws JsonProcessingException { return getUserCharacterHandler.handle(request); } @PostMapping("GetUserDataApi") - String getUserData(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserData(@ModelAttribute Map request) throws JsonProcessingException { return getUserDataHandler.handle(request); } @PostMapping("GetUserDeckByKeyApi") - String getUserDeckByKey(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserDeckByKey(@ModelAttribute Map request) throws JsonProcessingException { return getUserDeckByKeyHandler.handle(request); } @PostMapping("GetUserEventPointApi") - String getUserEventPoint(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserEventPoint(@ModelAttribute Map request) throws JsonProcessingException { return getUserEventPointHandler.handle(request); } @PostMapping("GetUserEventRankingApi") - String getUserEventRanking(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserEventRanking(@ModelAttribute Map request) throws JsonProcessingException { return getUserEventRankingHandler.handle(request); } @PostMapping("GetUserItemApi") - String getUserItem(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserItem(@ModelAttribute Map request) throws JsonProcessingException { return getUserItemHandler.handle(request); } @PostMapping("GetUserLoginBonusApi") - String getUserLoginBonus(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserLoginBonus(@ModelAttribute Map request) throws JsonProcessingException { return getUserLoginBonusHandler.handle(request); } @PostMapping("GetUserMissionPointApi") - String getUserMissionPoint(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserMissionPoint(@ModelAttribute Map request) throws JsonProcessingException { return getUserMissionPointHandler.handle(request); } @PostMapping("GetUserMusicApi") - String getUserMusic(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserMusic(@ModelAttribute Map request) throws JsonProcessingException { return getUserMusicHandler.handle(request); } @PostMapping("GetUserMusicItemApi") - String getUserMusicItem(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserMusicItem(@ModelAttribute Map request) throws JsonProcessingException { return getUserMusicItemHandler.handle(request); } @PostMapping("GetUserOptionApi") - String getUserOption(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserOption(@ModelAttribute Map request) throws JsonProcessingException { return getUserOptionHandler.handle(request); } @PostMapping("GetUserPreviewApi") - String getUserPreview(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserPreview(@ModelAttribute Map request) throws JsonProcessingException { return getUserPreviewHandler.handle(request); } @PostMapping("GetUserRatinglogApi") - String getUserRatinglog(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserRatinglog(@ModelAttribute Map request) throws JsonProcessingException { return getUserRatinglogListHandler.handle(request); } @PostMapping("GetUserRecentRatingApi") - String getUserRecentRating(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserRecentRating(@ModelAttribute Map request) throws JsonProcessingException { return getUserRecentRatingHandler.handle(request); } @PostMapping("GetUserRegionApi") - String getUserRegion(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserRegion(@ModelAttribute Map request) throws JsonProcessingException { return getUserRegionHandler.handle(request); } @PostMapping("GetUserStoryApi") - String getUserStory(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserStory(@ModelAttribute Map request) throws JsonProcessingException { return getUserStoryHandler.handle(request); } @PostMapping("GetUserTrainingRoomByKeyApi") - String getUserTrainingRoomByKey(@ModelAttribute Map request) throws JsonProcessingException { + public String getUserTrainingRoomByKey(@ModelAttribute Map request) throws JsonProcessingException { return getUserTrainingRoomByKeyHandler.handle(request); } @PostMapping("UpsertClientBookkeepingApi") - String upsertClientBookkeeping(@ModelAttribute Map request) { + public String upsertClientBookkeeping(@ModelAttribute Map request) { return "{\"returnCode\":1},\"apiName\":\"upsertClientBookkeeping\""; } @PostMapping("UpsertClientDevelopApi") - String upsertClientDevelop(@ModelAttribute Map request) { + public String upsertClientDevelop(@ModelAttribute Map request) { return "{\"returnCode\":1},\"apiName\":\"upsertClientDevelop\""; } @PostMapping("UpsertClientErrorApi") - String upsertClientError(@ModelAttribute Map request) { + public String upsertClientError(@ModelAttribute Map request) { return "{\"returnCode\":1,\"apiName\":\"upsertClientError\"}"; } @PostMapping("UpsertClientSettingApi") - String upsertClientSetting(@ModelAttribute Map request) { + public String upsertClientSetting(@ModelAttribute Map request) { return "{\"returnCode\":1,\"apiName\":\"upsertClientSetting\"}"; } @PostMapping("UpsertClientTestmodeApi") - String upsertClientTestmode(@ModelAttribute Map request) { + public String upsertClientTestmode(@ModelAttribute Map request) { return "{\"returnCode\":1,\"apiName\":\"upsertClientTestmode\"}"; } @PostMapping("UpsertUserGplogApi") - String upsertUserGplog(@ModelAttribute Map request) { + public String upsertUserGplog(@ModelAttribute Map request) { return "{\"returnCode\":1,\"apiName\":\"upsertUserGplog\"}"; } @PostMapping("UpsertUserAllApi") - String upsertUserAll(@ModelAttribute Map request) throws JsonProcessingException { + public String upsertUserAll(@ModelAttribute Map request) throws JsonProcessingException { return upsertUserAllHandler.handle(request); } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/gamedata/GamePresentRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/gamedata/GamePresentRepository.java index 854fab08..6f41f8fe 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/gamedata/GamePresentRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/gamedata/GamePresentRepository.java @@ -1,6 +1,5 @@ package icu.samnyan.aqua.sega.ongeki.dao.gamedata; -import icu.samnyan.aqua.sega.ongeki.model.gamedata.GamePoint; import icu.samnyan.aqua.sega.ongeki.model.gamedata.GamePresent; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/gamedata/GameRewardRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/gamedata/GameRewardRepository.java index 29ccf293..dc899c30 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/gamedata/GameRewardRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/gamedata/GameRewardRepository.java @@ -1,6 +1,5 @@ package icu.samnyan.aqua.sega.ongeki.dao.gamedata; -import icu.samnyan.aqua.sega.ongeki.model.gamedata.GamePresent; import icu.samnyan.aqua.sega.ongeki.model.gamedata.GameReward; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserActivityRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserActivityRepository.java index 30abd1b3..f3c62294 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserActivityRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserActivityRepository.java @@ -13,9 +13,11 @@ import java.util.Optional; */ @Repository("OngekiUserActivityRepository") public interface UserActivityRepository extends JpaRepository { + + List findByUser_Card_ExtId(int userId); + Optional findByUserAndKindAndActivityId(UserData userData, int kind, int activityId); List findByUser_Card_ExtIdAndKindOrderBySortNumberDesc(int userId, int kind); - List findByUser_Card_ExtId(int userId); } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserCardRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserCardRepository.java index 6601f6dc..18444d5b 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserCardRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserCardRepository.java @@ -14,9 +14,11 @@ import java.util.Optional; */ @Repository("OngekiUserCardRepository") public interface UserCardRepository extends JpaRepository { + Optional findByUserAndCardId(UserData userData, int cardId); + Optional findByUser_Card_ExtIdAndCardId(int aimeId, int cardId); + Page findByUser_Card_ExtId(int userId, Pageable page); - Optional findByUser_Card_ExtIdAndCardId(int aimeId, int cardId); } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserChapterRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserChapterRepository.java index f02d286b..9a30ede6 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserChapterRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserChapterRepository.java @@ -13,7 +13,9 @@ import java.util.Optional; */ @Repository("OngekiUserChapterRepository") public interface UserChapterRepository extends JpaRepository { - Optional findByUserAndChapterId(UserData userData, int chapterId); List findByUser_Card_ExtId(int userId); + + Optional findByUserAndChapterId(UserData userData, int chapterId); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserCharacterRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserCharacterRepository.java index 62685555..812860c6 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserCharacterRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserCharacterRepository.java @@ -14,7 +14,9 @@ import java.util.Optional; */ @Repository("OngekiUserCharacterRepository") public interface UserCharacterRepository extends JpaRepository { - Optional findByUserAndCharacterId(UserData userData, int characterId); Page findByUser_Card_ExtId(Integer userId, Pageable page); + + Optional findByUserAndCharacterId(UserData userData, int characterId); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserDataRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserDataRepository.java index 3bf28401..9605574e 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserDataRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserDataRepository.java @@ -13,4 +13,5 @@ import java.util.Optional; public interface UserDataRepository extends JpaRepository { Optional findByCard_ExtId(int aimeId); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserDeckRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserDeckRepository.java index efcd97b1..69dc67a3 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserDeckRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserDeckRepository.java @@ -13,7 +13,9 @@ import java.util.Optional; */ @Repository("OngekiUserDeckRepository") public interface UserDeckRepository extends JpaRepository { - Optional findByUserAndDeckId(UserData userData, int deckId); List findByUser_Card_ExtId(int userId); + + Optional findByUserAndDeckId(UserData userData, int deckId); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserEventPointRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserEventPointRepository.java index 9e5ff4b4..4dfb11d9 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserEventPointRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserEventPointRepository.java @@ -13,7 +13,9 @@ import java.util.Optional; */ @Repository("OngekiUserEventPointRepository") public interface UserEventPointRepository extends JpaRepository { - Optional findByUserAndEventId(UserData userData, int eventId); List findByUser_Card_ExtId(int userId); + + Optional findByUserAndEventId(UserData userData, int eventId); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserGeneralDataRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserGeneralDataRepository.java index beb6e6c5..9b9c1858 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserGeneralDataRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserGeneralDataRepository.java @@ -12,6 +12,9 @@ import java.util.Optional; */ @Repository("OngekiUserGeneralDataRepository") public interface UserGeneralDataRepository extends JpaRepository { + Optional findByUserAndPropertyKey(UserData user, String key); + Optional findByUser_Card_ExtIdAndPropertyKey(int aimeId, String key); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserItemRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserItemRepository.java index 312358c7..936dd5ae 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserItemRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserItemRepository.java @@ -14,9 +14,11 @@ import java.util.Optional; */ @Repository("OngekiUserItemRepository") public interface UserItemRepository extends JpaRepository { + + Page findByUser_Card_ExtId(Integer aimeId, Pageable page); + Optional findByUserAndItemKindAndItemId(UserData userData, int itemKind, int itemId); Page findByUser_Card_ExtIdAndItemKind(int userId, int kind, Pageable page); - Page findByUser_Card_ExtId(Integer aimeId, Pageable page); } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserLoginBonusRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserLoginBonusRepository.java index c2396b03..041d2427 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserLoginBonusRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserLoginBonusRepository.java @@ -11,7 +11,9 @@ import java.util.Optional; * @author samnyan (privateamusement@protonmail.com) */ public interface UserLoginBonusRepository extends JpaRepository { - Optional findByUserAndBonusId(UserData userData, int bonusId); List findByUser_Card_ExtId(int userId); + + Optional findByUserAndBonusId(UserData userData, int bonusId); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserMissionPointRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserMissionPointRepository.java index e8125530..46f64bd2 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserMissionPointRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserMissionPointRepository.java @@ -1,7 +1,6 @@ package icu.samnyan.aqua.sega.ongeki.dao.userdata; import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData; -import icu.samnyan.aqua.sega.ongeki.model.userdata.UserEventPoint; import icu.samnyan.aqua.sega.ongeki.model.userdata.UserMissionPoint; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @@ -14,7 +13,9 @@ import java.util.Optional; */ @Repository("OngekiUserMissionPointRepository") public interface UserMissionPointRepository extends JpaRepository { - Optional findByUserAndEventId(UserData userData, int eventId); List findByUser_Card_ExtId(int userId); + + Optional findByUserAndEventId(UserData userData, int eventId); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserMusicDetailRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserMusicDetailRepository.java index af80eadf..a73e6a0a 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserMusicDetailRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserMusicDetailRepository.java @@ -15,9 +15,11 @@ import java.util.Optional; */ @Repository("OngekiUserMusicDetailRepository") public interface UserMusicDetailRepository extends JpaRepository { - Optional findByUserAndMusicIdAndLevel(UserData userData, int musicId, int level); Page findByUser_Card_ExtId(int userId, Pageable page); List findByUser_Card_ExtIdAndMusicId(int userId, int id); + + Optional findByUserAndMusicIdAndLevel(UserData userData, int musicId, int level); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserMusicItemRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserMusicItemRepository.java index 49737ab1..3ad1b0d1 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserMusicItemRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserMusicItemRepository.java @@ -14,7 +14,9 @@ import java.util.Optional; */ @Repository("OngekiUserMusicItemRepository") public interface UserMusicItemRepository extends JpaRepository { + Optional findByUserAndMusicId(UserData userData, int musicId); Page findByUser_Card_ExtId(int userId, Pageable page); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserOptionRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserOptionRepository.java index 6a7fc208..23b9694a 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserOptionRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserOptionRepository.java @@ -12,7 +12,9 @@ import java.util.Optional; */ @Repository("OngekiUserOptionRepository") public interface UserOptionRepository extends JpaRepository { + Optional findByUser(UserData userData); Optional findByUser_Card_ExtId(int userId); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserPlaylogRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserPlaylogRepository.java index 4f14dd3a..d2d13048 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserPlaylogRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserPlaylogRepository.java @@ -13,7 +13,9 @@ import java.util.List; */ @Repository("OngekiUserPlaylogRepository") public interface UserPlaylogRepository extends JpaRepository { + Page findByUser_Card_ExtId(Integer userId, Pageable page); List findByUser_Card_ExtIdAndMusicIdAndLevel(Integer userId, int musicId, int level); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserStoryRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserStoryRepository.java index 38da5d5e..5209953c 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserStoryRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserStoryRepository.java @@ -12,5 +12,7 @@ import java.util.Optional; */ @Repository("OngekiUserStoryRepository") public interface UserStoryRepository extends JpaRepository { + Optional findByUserAndStoryId(UserData userData, int storyId); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserTrainingRoomRepository.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserTrainingRoomRepository.java index 9621bac8..eaea6083 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserTrainingRoomRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserTrainingRoomRepository.java @@ -13,7 +13,9 @@ import java.util.Optional; */ @Repository("OngekiUserTrainingRoomRepository") public interface UserTrainingRoomRepository extends JpaRepository { + Optional findByUserAndRoomId(UserData user, int roomId); List findByUser_Card_ExtId(int userId); + } diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameEventHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameEventHandler.java index b821a50b..d5a8f44c 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameEventHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameEventHandler.java @@ -40,14 +40,12 @@ public class GetGameEventHandler implements BaseHandler { List eventIdList = gameEventRepository.findAll(); List eventList = new ArrayList<>(); - eventIdList.forEach(x -> { - eventList.add(new GameEventItem( - x.getId(), - type, - "2005-01-01 00:00:00.0", - "2099-01-01 05:00:00.0" - )); - }); + eventIdList.forEach(x -> eventList.add(new GameEventItem( + x.getId(), + type, + "2005-01-01 00:00:00.0", + "2099-01-01 05:00:00.0" + ))); Map resultMap = new LinkedHashMap<>(); resultMap.put("type", type); diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameIdlistHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameIdlistHandler.java index 76d227c3..508dd688 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameIdlistHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameIdlistHandler.java @@ -5,7 +5,6 @@ import icu.samnyan.aqua.sega.general.dao.PropertyEntryRepository; import icu.samnyan.aqua.sega.general.model.PropertyEntry; import icu.samnyan.aqua.sega.ongeki.handler.BaseHandler; import icu.samnyan.aqua.sega.ongeki.model.response.data.GameIdListItem; -import icu.samnyan.aqua.sega.ongeki.model.response.data.GameRankingItem; import icu.samnyan.aqua.sega.util.jackson.BasicMapper; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGamePointHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGamePointHandler.java index 3b8ccaf5..7583b5d6 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGamePointHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGamePointHandler.java @@ -3,7 +3,6 @@ package icu.samnyan.aqua.sega.ongeki.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.ongeki.dao.gamedata.GamePointRepository; import icu.samnyan.aqua.sega.ongeki.handler.BaseHandler; -import icu.samnyan.aqua.sega.ongeki.model.common.GpProductID; import icu.samnyan.aqua.sega.ongeki.model.gamedata.GamePoint; import icu.samnyan.aqua.sega.util.jackson.BasicMapper; import org.slf4j.Logger; @@ -11,7 +10,6 @@ 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; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGamePresentHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGamePresentHandler.java index 9f1f2f6b..d3d834d0 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGamePresentHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGamePresentHandler.java @@ -10,7 +10,6 @@ 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; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameRewardHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameRewardHandler.java index 0bdd69c5..06b9275b 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameRewardHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameRewardHandler.java @@ -3,7 +3,6 @@ package icu.samnyan.aqua.sega.ongeki.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.ongeki.dao.gamedata.GameRewardRepository; import icu.samnyan.aqua.sega.ongeki.handler.BaseHandler; -import icu.samnyan.aqua.sega.ongeki.model.common.ItemType; import icu.samnyan.aqua.sega.ongeki.model.gamedata.GameReward; import icu.samnyan.aqua.sega.util.jackson.BasicMapper; import org.slf4j.Logger; @@ -11,7 +10,6 @@ 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; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserEventRankingHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserEventRankingHandler.java index eb0507c5..8602236b 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserEventRankingHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserEventRankingHandler.java @@ -46,15 +46,13 @@ public class GetUserEventRankingHandler implements BaseHandler { // TODO: query ranking from database List eventPointList = userEventPointRepository.findByUser_Card_ExtId(userId); List rankingItemList = new LinkedList<>(); - eventPointList.forEach(x -> { - rankingItemList.add(new UserEventRankingItem( - x.getEventId(), - 1, // Type 1 is latest ranking - time, - 1, - x.getPoint() - )); - }); + eventPointList.forEach(x -> rankingItemList.add(new UserEventRankingItem( + x.getEventId(), + 1, // Type 1 is latest ranking + time, + 1, + x.getPoint() + ))); Map resultMap = new LinkedHashMap<>(); resultMap.put("userId", userId); diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserPreviewHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserPreviewHandler.java index 5f549834..cf2047f7 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserPreviewHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserPreviewHandler.java @@ -50,11 +50,9 @@ public class GetUserPreviewHandler implements BaseHandler { GetUserPreviewResp resp = new GetUserPreviewResp(); resp.setUserId(userId); if (userData.isEmpty()) { - /** - * From BaseDialogController.cs - * if (string.IsNullOrEmpty(instance.userPreview.lastPlayDate)) - * so send a null value will trigger new user register - */ + // From BaseDialogController.cs + // if (string.IsNullOrEmpty(instance.userPreview.lastPlayDate)) + // so send a null value will trigger new user register resp.setLastPlayDate(null); } else { diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserRecentRatingHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserRecentRatingHandler.java index f2c05a5f..11c0060f 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserRecentRatingHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserRecentRatingHandler.java @@ -1,7 +1,7 @@ package icu.samnyan.aqua.sega.ongeki.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; -import icu.samnyan.aqua.sega.chunithm.model.response.data.UserRecentRating; +import icu.samnyan.aqua.sega.general.model.response.UserRecentRating; import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserPlaylogRepository; import icu.samnyan.aqua.sega.ongeki.handler.BaseHandler; import icu.samnyan.aqua.sega.ongeki.model.userdata.UserPlaylog; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/UpsertUserAllHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/UpsertUserAllHandler.java index a3764fd6..510a03b5 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/UpsertUserAllHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/UpsertUserAllHandler.java @@ -2,7 +2,7 @@ package icu.samnyan.aqua.sega.ongeki.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; -import icu.samnyan.aqua.sega.chunithm.model.response.data.UserRecentRating; +import icu.samnyan.aqua.sega.general.model.response.UserRecentRating; import icu.samnyan.aqua.sega.general.model.Card; import icu.samnyan.aqua.sega.general.service.CardService; import icu.samnyan.aqua.sega.ongeki.dao.userdata.*; @@ -21,10 +21,7 @@ import java.util.Map; import java.util.Optional; /** - * The handler for loading basic profile information. - *

- * return null if no profile exist - * + * The handler for saving all data of a ONGEKI profile * @author samnyan (privateamusement@protonmail.com) */ @Component("OngekiUserAllHandler") @@ -451,7 +448,7 @@ public class UpsertUserAllHandler implements BaseHandler { private void saveGeneralData(Map upsertUserAll, UserData newUserData, String jsonName, String key) { List> recordList = ((List>) upsertUserAll.get(jsonName)); - // User this recent rating class from chunithm + List itemList = mapper.convert(recordList, new TypeReference<>() { }); StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/gamedata/GameReward.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/gamedata/GameReward.java index 0105b777..953bdaec 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/gamedata/GameReward.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/gamedata/GameReward.java @@ -1,6 +1,5 @@ package icu.samnyan.aqua.sega.ongeki.model.gamedata; -import com.fasterxml.jackson.annotation.JsonIgnore; import icu.samnyan.aqua.sega.ongeki.model.common.ItemType; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/data/GameSetting.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/data/GameSetting.java index d607213f..2e4fa835 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/data/GameSetting.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/data/GameSetting.java @@ -5,7 +5,6 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import java.time.LocalDateTime; /** * @author samnyan (privateamusement@protonmail.com) diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/userdata/UserMissionPoint.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/userdata/UserMissionPoint.java index 30cb36d9..bb99bbf4 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/userdata/UserMissionPoint.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/userdata/UserMissionPoint.java @@ -1,7 +1,6 @@ package icu.samnyan.aqua.sega.ongeki.model.userdata; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/src/main/java/icu/samnyan/aqua/sega/util/jackson/BasicMapper.java b/src/main/java/icu/samnyan/aqua/sega/util/jackson/BasicMapper.java index b054119a..27481c6d 100644 --- a/src/main/java/icu/samnyan/aqua/sega/util/jackson/BasicMapper.java +++ b/src/main/java/icu/samnyan/aqua/sega/util/jackson/BasicMapper.java @@ -13,7 +13,6 @@ import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.LinkedHashMap; -import java.util.Map; /** * @author samnyan (privateamusement@protonmail.com) diff --git a/src/main/java/icu/samnyan/aqua/sega/util/jackson/StringMapper.java b/src/main/java/icu/samnyan/aqua/sega/util/jackson/StringMapper.java index 6db31c1c..e8287bef 100644 --- a/src/main/java/icu/samnyan/aqua/sega/util/jackson/StringMapper.java +++ b/src/main/java/icu/samnyan/aqua/sega/util/jackson/StringMapper.java @@ -2,10 +2,12 @@ package icu.samnyan.aqua.sega.util.jackson; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.json.JsonWriteFeature; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.databind.json.JsonMapper; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; @@ -25,16 +27,17 @@ public class StringMapper { private final ObjectMapper mapper; public StringMapper() { - mapper = new ObjectMapper().configure(JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS, true); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - mapper.configure(SerializationFeature.WRITE_ENUMS_USING_INDEX, true); SimpleModule module = new SimpleModule(); module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); module.addSerializer(Boolean.class, new BooleanStringSerializer()); module.addSerializer(boolean.class, new BooleanStringSerializer()); - - module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); - mapper.registerModule(module); + mapper = JsonMapper.builder() + .enable(JsonWriteFeature.WRITE_NUMBERS_AS_STRINGS) + .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) + .configure(SerializationFeature.WRITE_ENUMS_USING_INDEX, true) + .addModule(module) + .build(); } public String write(Object o) throws JsonProcessingException { @@ -42,7 +45,7 @@ public class StringMapper { } - public T convert(Map map, Class toClass) { + public T convert(Object map, Class toClass) { return mapper.convertValue(map, toClass); }