diff --git a/docs/dev/kt.md b/docs/dev/kt.md new file mode 100644 index 00000000..0ce99b24 --- /dev/null +++ b/docs/dev/kt.md @@ -0,0 +1,13 @@ +```regexp +(var \w+) = 0 +$1: Int = 0 + + \= false +: Bool = false + +(var [\w: =?"]+[^,])\n +$1,\n + +(var \w+) \= \"\" +$1: String = "" +``` \ No newline at end of file diff --git a/src/main/java/icu/samnyan/aqua/net/transfer/DataBroker.kt b/src/main/java/icu/samnyan/aqua/net/transfer/DataBroker.kt index d3537da1..dbd7228f 100644 --- a/src/main/java/icu/samnyan/aqua/net/transfer/DataBroker.kt +++ b/src/main/java/icu/samnyan/aqua/net/transfer/DataBroker.kt @@ -9,7 +9,7 @@ import icu.samnyan.aqua.sega.maimai2.model.request.Mai2UserAll import icu.samnyan.aqua.sega.maimai2.model.userdata.Mai2UserFavorite import icu.samnyan.aqua.sega.maimai2.model.userdata.Mai2UserItem import icu.samnyan.aqua.sega.maimai2.model.userdata.Mai2UserMusicDetail -import icu.samnyan.aqua.sega.ongeki.model.request.UpsertUserAll +import icu.samnyan.aqua.sega.ongeki.model.UpsertUserAll import icu.samnyan.aqua.sega.ongeki.model.UserItem import icu.samnyan.aqua.sega.util.jackson.BasicMapper import icu.samnyan.aqua.sega.util.jackson.IMapper 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 882a8c88..abce2726 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 @@ -4,7 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.ongeki.OgkGameEventRepo; import icu.samnyan.aqua.sega.general.BaseHandler; import icu.samnyan.aqua.sega.ongeki.model.GameEvent; -import icu.samnyan.aqua.sega.ongeki.model.response.data.GameEventItem; +import icu.samnyan.aqua.sega.ongeki.model.GameEventItem; import icu.samnyan.aqua.sega.util.jackson.BasicMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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 d109dace..55d96652 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 @@ -4,7 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.general.dao.PropertyEntryRepository; import icu.samnyan.aqua.sega.general.model.PropertyEntry; import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.ongeki.model.response.data.GameIdListItem; +import icu.samnyan.aqua.sega.ongeki.model.GameIdListItem; 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/GetGameRankingHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameRankingHandler.java index f30c1e84..862e28f8 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameRankingHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameRankingHandler.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.general.dao.PropertyEntryRepository; import icu.samnyan.aqua.sega.general.model.PropertyEntry; import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.ongeki.model.response.data.GameRankingItem; +import icu.samnyan.aqua.sega.ongeki.model.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/GetGameSettingHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameSettingHandler.java index 6e2a8e22..a5f1eb63 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameSettingHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetGameSettingHandler.java @@ -4,8 +4,8 @@ import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.general.dao.PropertyEntryRepository; import icu.samnyan.aqua.sega.general.model.PropertyEntry; import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.ongeki.model.response.GetGameSettingResp; -import icu.samnyan.aqua.sega.ongeki.model.response.data.GameSetting; +import icu.samnyan.aqua.sega.ongeki.model.GetGameSettingResp; +import icu.samnyan.aqua.sega.ongeki.model.GameSetting; import icu.samnyan.aqua.sega.util.jackson.BasicMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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 43841b08..17d92136 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 @@ -3,7 +3,7 @@ package icu.samnyan.aqua.sega.ongeki.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.ongeki.OgkUserEventPointRepo; import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.ongeki.model.response.data.UserEventRankingItem; +import icu.samnyan.aqua.sega.ongeki.model.UserEventRankingItem; import icu.samnyan.aqua.sega.ongeki.model.UserEventPoint; import icu.samnyan.aqua.sega.util.jackson.BasicMapper; import org.slf4j.Logger; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserMusicHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserMusicHandler.java index a59a3a3b..455d0d71 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserMusicHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserMusicHandler.java @@ -3,7 +3,7 @@ package icu.samnyan.aqua.sega.ongeki.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.ongeki.OgkUserMusicDetailRepo; import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.ongeki.model.response.data.UserMusicListItem; +import icu.samnyan.aqua.sega.ongeki.model.UserMusicListItem; import icu.samnyan.aqua.sega.ongeki.model.UserMusicDetail; import icu.samnyan.aqua.sega.util.jackson.BasicMapper; import icu.samnyan.aqua.spring.data.OffsetPageRequest; 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 68ca2ae8..1794bb64 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 @@ -4,7 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.ongeki.OgkUserDataRepo; import icu.samnyan.aqua.sega.ongeki.OgkUserOptionRepo; import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.ongeki.model.response.GetUserPreviewResp; +import icu.samnyan.aqua.sega.ongeki.model.GetUserPreviewResp; import icu.samnyan.aqua.sega.ongeki.model.UserData; import icu.samnyan.aqua.sega.util.jackson.BasicMapper; import org.slf4j.Logger; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserRivalDataHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserRivalDataHandler.java index 84c8f974..c6b3b51c 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserRivalDataHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserRivalDataHandler.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.ongeki.OgkUserDataRepo; import icu.samnyan.aqua.sega.ongeki.OgkUserRivalDataRepo; import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.ongeki.model.response.data.UserRivalData; +import icu.samnyan.aqua.sega.ongeki.model.UserRivalData; import icu.samnyan.aqua.sega.util.jackson.BasicMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserRivalMusicHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserRivalMusicHandler.java index d088ceff..9a5876b4 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserRivalMusicHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserRivalMusicHandler.java @@ -3,7 +3,7 @@ package icu.samnyan.aqua.sega.ongeki.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.ongeki.OgkUserMusicDetailRepo; import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.ongeki.model.response.data.UserRivalMusic; +import icu.samnyan.aqua.sega.ongeki.model.UserRivalMusic; import icu.samnyan.aqua.sega.util.jackson.BasicMapper; import icu.samnyan.aqua.spring.data.OffsetPageRequest; import org.slf4j.Logger; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserTechEventRankingHandler.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserTechEventRankingHandler.java index 65262915..93914bf8 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserTechEventRankingHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/GetUserTechEventRankingHandler.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import icu.samnyan.aqua.sega.ongeki.OgkUserTechEventRepo; import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.ongeki.model.response.data.UserTechEventRankingItem; +import icu.samnyan.aqua.sega.ongeki.model.UserTechEventRankingItem; import icu.samnyan.aqua.sega.ongeki.model.UserTechEvent; import icu.samnyan.aqua.sega.util.jackson.BasicMapper; import org.slf4j.Logger; diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/UpsertUserAllHandler.kt b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/UpsertUserAllHandler.kt index 51bf9aad..aeedcfe8 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/UpsertUserAllHandler.kt +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/handler/impl/UpsertUserAllHandler.kt @@ -6,8 +6,6 @@ import icu.samnyan.aqua.sega.general.model.response.UserRecentRating import icu.samnyan.aqua.sega.general.service.CardService import icu.samnyan.aqua.sega.ongeki.* import icu.samnyan.aqua.sega.ongeki.model.* -import icu.samnyan.aqua.sega.ongeki.model.request.UpsertUserAll -import icu.samnyan.aqua.sega.ongeki.model.response.CodeResp import icu.samnyan.aqua.sega.util.jackson.BasicMapper import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Component @@ -61,7 +59,7 @@ class UpsertUserAllHandler @Autowired constructor( val userOptional = userDataRepository.findByCard_ExtId(userId) // UserData might be empty on later runs - if (userOptional.isEmpty && upsertUserAll.userData.isEmpty()) { + if (userOptional.isEmpty && upsertUserAll.userData.isNullOrEmpty()) { return null } @@ -74,7 +72,7 @@ class UpsertUserAllHandler @Autowired constructor( } // If new data exists, use new data. Otherwise, use old data - u = if (!upsertUserAll.userData.isEmpty()) upsertUserAll.userData[0] else userData + u = if (!upsertUserAll.userData.isNullOrEmpty()) upsertUserAll.userData!![0] else userData u.id = userData.id u.card = userData.card @@ -82,12 +80,12 @@ class UpsertUserAllHandler @Autowired constructor( // Set eventWatchedDate with lastPlayDate, because client doesn't update it u.eventWatchedDate = userData.lastPlayDate u.cmEventWatchedDate = userData.lastPlayDate - userDataRepository.save(u) + userDataRepository.save(u) } // UserOption - val newUserOption = upsertUserAll.userOption[0] + val newUserOption = upsertUserAll.userOption!![0] val userOptionOptional = userOptionRepository.findSingleByUser(u) val userOption = userOptionOptional.orElseGet { UserOption().apply { user = u } } @@ -102,9 +100,11 @@ class UpsertUserAllHandler @Autowired constructor( val userPlaylogList = upsertUserAll.userPlaylogList val newUserPlaylogList: MutableList = ArrayList() - for (newUserPlaylog in userPlaylogList) { - newUserPlaylog.user = u - newUserPlaylogList.add(newUserPlaylog) + if (userPlaylogList != null) { + for (newUserPlaylog in userPlaylogList) { + newUserPlaylog.user = u + newUserPlaylogList.add(newUserPlaylog) + } } userPlaylogRepository.saveAll(newUserPlaylogList) @@ -117,19 +117,21 @@ class UpsertUserAllHandler @Autowired constructor( val userActivityList = upsertUserAll.userActivityList val newUserActivityList: MutableList = ArrayList() - for (newUserActivity in userActivityList) { - val kind = newUserActivity.kind - val id = newUserActivity.activityId + if (userActivityList != null) { + for (newUserActivity in userActivityList) { + val kind = newUserActivity.kind + val id = newUserActivity.activityId - if (kind != 0 && id != 0) { - val activityOptional = userActivityRepository.findByUserAndKindAndActivityId(u, kind, id) - val userActivity = activityOptional.orElseGet { - UserActivity().apply { user = u } + if (kind != 0 && id != 0) { + val activityOptional = userActivityRepository.findByUserAndKindAndActivityId(u, kind, id) + val userActivity = activityOptional.orElseGet { + UserActivity().apply { user = u } + } + + newUserActivity.id = userActivity.id + newUserActivity.user = u + newUserActivityList.add(newUserActivity) } - - newUserActivity.id = userActivity.id - newUserActivity.user = u - newUserActivityList.add(newUserActivity) } } newUserActivityList.sortWith { a, b -> b.sortNumber.compareTo(a.sortNumber) } @@ -138,8 +140,7 @@ class UpsertUserAllHandler @Autowired constructor( // UserRecentRatingList // This thing still need to save to solve the rating drop - this.saveGeneralData(upsertUserAll.userRecentRatingList, u, "recent_rating_list") - + upsertUserAll.userRecentRatingList?.let { this.saveGeneralData(it, u, "recent_rating_list") } /* * The rating and battle point calculation is little bit complex. @@ -147,51 +148,52 @@ class UpsertUserAllHandler @Autowired constructor( * into a csv format for convenience */ // UserBpBaseList (For calculating Battle point) - this.saveGeneralData(upsertUserAll.userBpBaseList, u, "battle_point_base") + upsertUserAll.userBpBaseList?.let { this.saveGeneralData(it, u, "battle_point_base") } // This is the best rating of all charts. Best 30 + 10 after that. // userRatingBaseBestList - this.saveGeneralData(upsertUserAll.userRatingBaseBestList, u, "rating_base_best") + upsertUserAll.userRatingBaseBestList?.let { this.saveGeneralData(it, u, "rating_base_best") } // userRatingBaseNextList - this.saveGeneralData(upsertUserAll.userRatingBaseNextList, u, "rating_base_next") - + upsertUserAll.userRatingBaseNextList?.let { this.saveGeneralData(it, u, "rating_base_next") } // This is the best rating of new charts. Best 15 + 10 after that. // New chart means same version // userRatingBaseBestNewList - this.saveGeneralData(upsertUserAll.userRatingBaseBestNewList, u, "rating_base_new_best") + upsertUserAll.userRatingBaseBestNewList?.let { this.saveGeneralData(it, u, "rating_base_new_best") } // userRatingBaseNextNewList - this.saveGeneralData(upsertUserAll.userRatingBaseNextNewList, u, "rating_base_new_next") + upsertUserAll.userRatingBaseNextNewList?.let { this.saveGeneralData(it, u, "rating_base_new_next") } // This is the recent best // userRatingBaseHotList - this.saveGeneralData(upsertUserAll.userRatingBaseHotList, u, "rating_base_hot_best") + upsertUserAll.userRatingBaseHotList?.let { this.saveGeneralData(it, u, "rating_base_hot_best") } // userRatingBaseHotNextList - this.saveGeneralData(upsertUserAll.userRatingBaseHotNextList, u, "rating_base_hot_next") + upsertUserAll.userRatingBaseHotNextList?.let { this.saveGeneralData(it, u, "rating_base_hot_next") } // UserMusicDetailList val userMusicDetailList = upsertUserAll.userMusicDetailList val newUserMusicDetailList: MutableList = ArrayList() - for (newUserMusicDetail in userMusicDetailList) { - val musicId = newUserMusicDetail.musicId - val level = newUserMusicDetail.level + if (userMusicDetailList != null) { + for (newUserMusicDetail in userMusicDetailList) { + val musicId = newUserMusicDetail.musicId + val level = newUserMusicDetail.level - val musicDetailOptional = - userMusicDetailRepository.findByUserAndMusicIdAndLevel(u, musicId, level) - val userMusicDetail = musicDetailOptional.orElseGet { - UserMusicDetail().apply { user = u } + val musicDetailOptional = + userMusicDetailRepository.findByUserAndMusicIdAndLevel(u, musicId, level) + val userMusicDetail = musicDetailOptional.orElseGet { + UserMusicDetail().apply { user = u } + } + + newUserMusicDetail.id = userMusicDetail.id + newUserMusicDetail.user = u + newUserMusicDetailList.add(newUserMusicDetail) } - - newUserMusicDetail.id = userMusicDetail.id - newUserMusicDetail.user = u - newUserMusicDetailList.add(newUserMusicDetail) } userMusicDetailRepository.saveAll(newUserMusicDetailList) @@ -200,17 +202,19 @@ class UpsertUserAllHandler @Autowired constructor( val userCharacterList = upsertUserAll.userCharacterList val newUserCharacterList: MutableList = ArrayList() - for (newUserCharacter in userCharacterList) { - val characterId = newUserCharacter.characterId + if (userCharacterList != null) { + for (newUserCharacter in userCharacterList) { + val characterId = newUserCharacter.characterId - val characterOptional = userCharacterRepository.findByUserAndCharacterId(u, characterId) - val userCharacter = characterOptional.orElseGet { - UserCharacter().apply { user = u } + val characterOptional = userCharacterRepository.findByUserAndCharacterId(u, characterId) + val userCharacter = characterOptional.orElseGet { + UserCharacter().apply { user = u } + } + + newUserCharacter.id = userCharacter.id + newUserCharacter.user = u + newUserCharacterList.add(newUserCharacter) } - - newUserCharacter.id = userCharacter.id - newUserCharacter.user = u - newUserCharacterList.add(newUserCharacter) } userCharacterRepository.saveAll(newUserCharacterList) @@ -218,15 +222,17 @@ class UpsertUserAllHandler @Autowired constructor( val userCardList = upsertUserAll.userCardList val newUserCardList: MutableList = ArrayList() - for (newUserCard in userCardList) { - val cardId = newUserCard.cardId + if (userCardList != null) { + for (newUserCard in userCardList) { + val cardId = newUserCard.cardId - val cardOptional = userCardRepository.findByUserAndCardId(u, cardId) - val userCard = cardOptional.orElseGet { UserCard().apply { user = u } } + val cardOptional = userCardRepository.findByUserAndCardId(u, cardId) + val userCard = cardOptional.orElseGet { UserCard().apply { user = u } } - newUserCard.id = userCard.id - newUserCard.user = u - newUserCardList.add(newUserCard) + newUserCard.id = userCard.id + newUserCard.user = u + newUserCardList.add(newUserCard) + } } userCardRepository.saveAll(newUserCardList) @@ -235,15 +241,17 @@ class UpsertUserAllHandler @Autowired constructor( val userDeckList = upsertUserAll.userDeckList val newUserDeckList: MutableList = ArrayList() - for (newUserDeck in userDeckList) { - val deckId = newUserDeck.deckId + if (userDeckList != null) { + for (newUserDeck in userDeckList) { + val deckId = newUserDeck.deckId - val deckOptional = userDeckRepository.findByUserAndDeckId(u, deckId) - val userDeck = deckOptional.orElseGet { UserDeck().apply { user = u } } + val deckOptional = userDeckRepository.findByUserAndDeckId(u, deckId) + val userDeck = deckOptional.orElseGet { UserDeck().apply { user = u } } - newUserDeck.id = userDeck.id - newUserDeck.user = u - newUserDeckList.add(newUserDeck) + newUserDeck.id = userDeck.id + newUserDeck.user = u + newUserDeckList.add(newUserDeck) + } } userDeckRepository.saveAll(newUserDeckList) @@ -252,15 +260,17 @@ class UpsertUserAllHandler @Autowired constructor( val userTrainingRoomList = upsertUserAll.userTrainingRoomList val newUserTrainingRoomList: MutableList = ArrayList() - for (newUserTrainingRoom in userTrainingRoomList) { - val roomId = newUserTrainingRoom.roomId + if (userTrainingRoomList != null) { + for (newUserTrainingRoom in userTrainingRoomList) { + val roomId = newUserTrainingRoom.roomId - val trainingRoomOptional = userTrainingRoomRepository.findByUserAndRoomId(u, roomId) - val trainingRoom = trainingRoomOptional.orElseGet { UserTrainingRoom().apply { user = u } } + val trainingRoomOptional = userTrainingRoomRepository.findByUserAndRoomId(u, roomId) + val trainingRoom = trainingRoomOptional.orElseGet { UserTrainingRoom().apply { user = u } } - newUserTrainingRoom.id = trainingRoom.id - newUserTrainingRoom.user = u - newUserTrainingRoomList.add(newUserTrainingRoom) + newUserTrainingRoom.id = trainingRoom.id + newUserTrainingRoom.user = u + newUserTrainingRoomList.add(newUserTrainingRoom) + } } userTrainingRoomRepository.saveAll(newUserTrainingRoomList) @@ -269,15 +279,17 @@ class UpsertUserAllHandler @Autowired constructor( val userStoryList = upsertUserAll.userStoryList val newUserStoryList: MutableList = ArrayList() - for (newUserStory in userStoryList) { - val storyId = newUserStory.storyId + if (userStoryList != null) { + for (newUserStory in userStoryList) { + val storyId = newUserStory.storyId - val storyOptional = userStoryRepository.findByUserAndStoryId(u, storyId) - val userStory = storyOptional.orElseGet { UserStory().apply { user = u } } + val storyOptional = userStoryRepository.findByUserAndStoryId(u, storyId) + val userStory = storyOptional.orElseGet { UserStory().apply { user = u } } - newUserStory.id = userStory.id - newUserStory.user = u - newUserStoryList.add(newUserStory) + newUserStory.id = userStory.id + newUserStory.user = u + newUserStoryList.add(newUserStory) + } } userStoryRepository.saveAll(newUserStoryList) @@ -286,15 +298,17 @@ class UpsertUserAllHandler @Autowired constructor( val userChapterList = upsertUserAll.userChapterList val newUserChapterList: MutableList = ArrayList() - for (newUserChapter in userChapterList) { - val chapterId = newUserChapter.chapterId + if (userChapterList != null) { + for (newUserChapter in userChapterList) { + val chapterId = newUserChapter.chapterId - val chapterOptional = userChapterRepository.findByUserAndChapterId(u, chapterId) - val userChapter = chapterOptional.orElseGet { UserChapter().apply { user = u } } + val chapterOptional = userChapterRepository.findByUserAndChapterId(u, chapterId) + val userChapter = chapterOptional.orElseGet { UserChapter().apply { user = u } } - newUserChapter.id = userChapter.id - newUserChapter.user = u - newUserChapterList.add(newUserChapter) + newUserChapter.id = userChapter.id + newUserChapter.user = u + newUserChapterList.add(newUserChapter) + } } userChapterRepository.saveAll(newUserChapterList) @@ -322,16 +336,18 @@ class UpsertUserAllHandler @Autowired constructor( val userItemList = upsertUserAll.userItemList val newUserItemList: MutableList = ArrayList() - for (newUserItem in userItemList) { - val itemKind = newUserItem.itemKind - val itemId = newUserItem.itemId + if (userItemList != null) { + for (newUserItem in userItemList) { + val itemKind = newUserItem.itemKind + val itemId = newUserItem.itemId - val itemOptional = userItemRepository.findByUserAndItemKindAndItemId(u, itemKind, itemId) - val userItem = itemOptional.orElseGet { UserItem().apply { user = u } } + val itemOptional = userItemRepository.findByUserAndItemKindAndItemId(u, itemKind, itemId) + val userItem = itemOptional.orElseGet { UserItem().apply { user = u } } - newUserItem.id = userItem.id - newUserItem.user = u - newUserItemList.add(newUserItem) + newUserItem.id = userItem.id + newUserItem.user = u + newUserItemList.add(newUserItem) + } } userItemRepository.saveAll(newUserItemList) @@ -339,15 +355,17 @@ class UpsertUserAllHandler @Autowired constructor( val userMusicItemList = upsertUserAll.userMusicItemList val newUserMusicItemList: MutableList = ArrayList() - for (newUserMusicItem in userMusicItemList) { - val musicId = newUserMusicItem.musicId + if (userMusicItemList != null) { + for (newUserMusicItem in userMusicItemList) { + val musicId = newUserMusicItem.musicId - val musicItemOptional = userMusicItemRepository.findByUserAndMusicId(u, musicId) - val userMusicItem = musicItemOptional.orElseGet { UserMusicItem().apply { user = u } } + val musicItemOptional = userMusicItemRepository.findByUserAndMusicId(u, musicId) + val userMusicItem = musicItemOptional.orElseGet { UserMusicItem().apply { user = u } } - newUserMusicItem.id = userMusicItem.id - newUserMusicItem.user = u - newUserMusicItemList.add(newUserMusicItem) + newUserMusicItem.id = userMusicItem.id + newUserMusicItem.user = u + newUserMusicItemList.add(newUserMusicItem) + } } userMusicItemRepository.saveAll(newUserMusicItemList) @@ -356,17 +374,19 @@ class UpsertUserAllHandler @Autowired constructor( val userLoginBonusList = upsertUserAll.userLoginBonusList val newUserLoginBonusList: MutableList = ArrayList() - for (newUserLoginBonus in userLoginBonusList) { - val bonusId = newUserLoginBonus.bonusId + if (userLoginBonusList != null) { + for (newUserLoginBonus in userLoginBonusList) { + val bonusId = newUserLoginBonus.bonusId - val loginBonusOptional = userLoginBonusRepository.findByUserAndBonusId(u, bonusId) - val userLoginBonus = loginBonusOptional.orElseGet { - UserLoginBonus().apply { user = u } + val loginBonusOptional = userLoginBonusRepository.findByUserAndBonusId(u, bonusId) + val userLoginBonus = loginBonusOptional.orElseGet { + UserLoginBonus().apply { user = u } + } + + newUserLoginBonus.id = userLoginBonus.id + newUserLoginBonus.user = u + newUserLoginBonusList.add(newUserLoginBonus) } - - newUserLoginBonus.id = userLoginBonus.id - newUserLoginBonus.user = u - newUserLoginBonusList.add(newUserLoginBonus) } userLoginBonusRepository.saveAll(newUserLoginBonusList) @@ -375,15 +395,17 @@ class UpsertUserAllHandler @Autowired constructor( val userEventPointList = upsertUserAll.userEventPointList val newUserEventPointList: MutableList = ArrayList() - for (newUserEventPoint in userEventPointList) { - val eventId = newUserEventPoint.eventId + if (userEventPointList != null) { + for (newUserEventPoint in userEventPointList) { + val eventId = newUserEventPoint.eventId - val eventPointOptional = userEventPointRepository.findByUserAndEventId(u, eventId) - val userEventPoint = eventPointOptional.orElseGet { UserEventPoint().apply { user = u } } + val eventPointOptional = userEventPointRepository.findByUserAndEventId(u, eventId) + val userEventPoint = eventPointOptional.orElseGet { UserEventPoint().apply { user = u } } - newUserEventPoint.id = userEventPoint.id - newUserEventPoint.user = u - newUserEventPointList.add(newUserEventPoint) + newUserEventPoint.id = userEventPoint.id + newUserEventPoint.user = u + newUserEventPointList.add(newUserEventPoint) + } } userEventPointRepository.saveAll(newUserEventPointList) @@ -392,15 +414,17 @@ class UpsertUserAllHandler @Autowired constructor( val userMissionPointList = upsertUserAll.userMissionPointList val newUserMissionPointList: MutableList = ArrayList() - for (newUserMissionPoint in userMissionPointList) { - val eventId = newUserMissionPoint.eventId + if (userMissionPointList != null) { + for (newUserMissionPoint in userMissionPointList) { + val eventId = newUserMissionPoint.eventId - val userMissionPointOptional = userMissionPointRepository.findByUserAndEventId(u, eventId) - val userMissionPoint = userMissionPointOptional.orElseGet { UserMissionPoint().apply { user = u } } + val userMissionPointOptional = userMissionPointRepository.findByUserAndEventId(u, eventId) + val userMissionPoint = userMissionPointOptional.orElseGet { UserMissionPoint().apply { user = u } } - newUserMissionPoint.id = userMissionPoint.id - newUserMissionPoint.user = u - newUserMissionPointList.add(newUserMissionPoint) + newUserMissionPoint.id = userMissionPoint.id + newUserMissionPoint.user = u + newUserMissionPointList.add(newUserMissionPoint) + } } userMissionPointRepository.saveAll(newUserMissionPointList) @@ -463,17 +487,19 @@ class UpsertUserAllHandler @Autowired constructor( val userTradeItemList = upsertUserAll.userTradeItemList val newUserTradeItemList: MutableList = ArrayList() - for (newUserTradeItem in userTradeItemList) { - val chapterId = newUserTradeItem.chapterId - val tradeItemId = newUserTradeItem.tradeItemId + if (userTradeItemList != null) { + for (newUserTradeItem in userTradeItemList) { + val chapterId = newUserTradeItem.chapterId + val tradeItemId = newUserTradeItem.tradeItemId - val tradeItemOptional = - userTradeItemRepository.findByUserAndChapterIdAndTradeItemId(u, chapterId, tradeItemId) - val userTradeItem = tradeItemOptional.orElseGet { UserTradeItem().apply { user = u } } + val tradeItemOptional = + userTradeItemRepository.findByUserAndChapterIdAndTradeItemId(u, chapterId, tradeItemId) + val userTradeItem = tradeItemOptional.orElseGet { UserTradeItem().apply { user = u } } - newUserTradeItem.id = userTradeItem.id - newUserTradeItem.user = u - newUserTradeItemList.add(newUserTradeItem) + newUserTradeItem.id = userTradeItem.id + newUserTradeItem.user = u + newUserTradeItemList.add(newUserTradeItem) + } } userTradeItemRepository.saveAll(newUserTradeItemList) @@ -481,18 +507,20 @@ class UpsertUserAllHandler @Autowired constructor( val userEventMusicList = upsertUserAll.userEventMusicList val newUserEventMusicList: MutableList = ArrayList() - for (newUserEventMusic in userEventMusicList) { - val eventId = newUserEventMusic.eventId - val type = newUserEventMusic.type - val musicId = newUserEventMusic.musicId + if (userEventMusicList != null) { + for (newUserEventMusic in userEventMusicList) { + val eventId = newUserEventMusic.eventId + val type = newUserEventMusic.type + val musicId = newUserEventMusic.musicId - val eventMusicOptional = - userEventMusicRepository.findByUserAndEventIdAndTypeAndMusicId(u, eventId, type, musicId) - val userEventMusic = eventMusicOptional.orElseGet { UserEventMusic().apply { user = u } } + val eventMusicOptional = + userEventMusicRepository.findByUserAndEventIdAndTypeAndMusicId(u, eventId, type, musicId) + val userEventMusic = eventMusicOptional.orElseGet { UserEventMusic().apply { user = u } } - newUserEventMusic.id = userEventMusic.id - newUserEventMusic.user = u - newUserEventMusicList.add(newUserEventMusic) + newUserEventMusic.id = userEventMusic.id + newUserEventMusic.user = u + newUserEventMusicList.add(newUserEventMusic) + } } userEventMusicRepository.saveAll(newUserEventMusicList) @@ -500,15 +528,17 @@ class UpsertUserAllHandler @Autowired constructor( val userTechEventList = upsertUserAll.userTechEventList val newUserTechEventList: MutableList = ArrayList() - for (newUserTechEvent in userTechEventList) { - val eventId = newUserTechEvent.eventId + if (userTechEventList != null) { + for (newUserTechEvent in userTechEventList) { + val eventId = newUserTechEvent.eventId - val techEventOptional = userTechEventRepository.findByUserAndEventId(u, eventId) - val userTechEvent = techEventOptional.orElseGet { UserTechEvent().apply { user = u } } + val techEventOptional = userTechEventRepository.findByUserAndEventId(u, eventId) + val userTechEvent = techEventOptional.orElseGet { UserTechEvent().apply { user = u } } - newUserTechEvent.id = userTechEvent.id - newUserTechEvent.user = u - newUserTechEventList.add(newUserTechEvent) + newUserTechEvent.id = userTechEvent.id + newUserTechEvent.user = u + newUserTechEventList.add(newUserTechEvent) + } } userTechEventRepository.saveAll(newUserTechEventList) @@ -516,16 +546,18 @@ class UpsertUserAllHandler @Autowired constructor( val userKopList = upsertUserAll.userKopList val newUserKopList: MutableList = ArrayList() - for (newUserKop in userKopList) { - val kopId = newUserKop.kopId - val areaId = newUserKop.areaId + if (userKopList != null) { + for (newUserKop in userKopList) { + val kopId = newUserKop.kopId + val areaId = newUserKop.areaId - val kopOptional = userKopRepository.findByUserAndKopIdAndAreaId(u, kopId, areaId) - val userKop = kopOptional.orElseGet { UserKop().apply { user = u } } + val kopOptional = userKopRepository.findByUserAndKopIdAndAreaId(u, kopId, areaId) + val userKop = kopOptional.orElseGet { UserKop().apply { user = u } } - newUserKop.id = userKop.id - newUserKop.user = u - newUserKopList.add(newUserKop) + newUserKop.id = userKop.id + newUserKop.user = u + newUserKopList.add(newUserKop) + } } userKopRepository.saveAll(newUserKopList) diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/data/All.kt b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/OngekiResponse.kt similarity index 60% rename from src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/data/All.kt rename to src/main/java/icu/samnyan/aqua/sega/ongeki/model/OngekiResponse.kt index aa802abf..fe889e7e 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/data/All.kt +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/OngekiResponse.kt @@ -1,7 +1,43 @@ -package icu.samnyan.aqua.sega.ongeki.model.response.data +package icu.samnyan.aqua.sega.ongeki.model import ext.Bool -import icu.samnyan.aqua.sega.ongeki.model.UserMusicDetail + +class CodeResp( + var returnCode: Int = 0, + var apiName: String? = null, +) + +class GetGameSettingResp( + var gameSetting: GameSetting? = null, + var isDumpUpload: Bool = false, + var isAou: Bool = false, +) + +class GetUserPreviewResp( + var userId: Long = 0, + var isLogin: Bool = false, + var lastLoginDate: String? = null, + var userName: String = "", + var reincarnationNum: Int = 0, + var level: Int = 0, + var exp: Long = 0, + var playerRating: Long = 0, + var lastGameId: String = "", + var lastRomVersion: String = "", + var lastDataVersion: String = "", + var lastPlayDate: String? = null, + var nameplateId: Int = 0, + var trophyId: Int = 0, + var cardId: Int = 0, + var dispPlayerLv: Int = 0, + var dispRating: Int = 0, + var dispBP: Int = 0, + var headphone: Int = 0, + var banStatus: Int = 0, + var isWarningConfirmed: Bool = false, + var lastEmoneyBrand: Int = 0, + var lastEmoneyCredit: Int = 0, +) class GameEventItem( var id: Long = 0, diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/UpsertUserAll.kt b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/UpsertUserAll.kt new file mode 100644 index 00000000..c942adb0 --- /dev/null +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/UpsertUserAll.kt @@ -0,0 +1,62 @@ +package icu.samnyan.aqua.sega.ongeki.model +import icu.samnyan.aqua.sega.general.model.response.UserRecentRating + +class UpsertUserAll { + var userData: List? = null + var userOption: List? = null + var userPlaylogList: List? = null + var userJewelboostlogList: List>? = null + var userSessionlogList: List>? = null + var userActivityList: List? = null + var userRecentRatingList: List? = null + var userBpBaseList: List? = null + var userRatingBaseBestNewList: List? = null + var userRatingBaseBestList: List? = null + var userRatingBaseHotList: List? = null + var userRatingBaseNextNewList: List? = null + var userRatingBaseNextList: List? = null + var userRatingBaseHotNextList: List? = null + var userMusicDetailList: List? = null + var userCharacterList: List? = null + var userCardList: List? = null + var userDeckList: List? = null + var userTrainingRoomList: List? = null + var userStoryList: List? = null + var userChapterList: List? = null + var userMemoryChapterList: List? = null + var userItemList: List? = null + var userMusicItemList: List? = null + var userLoginBonusList: List? = null + var userEventPointList: List? = null + var userMissionPointList: List? = null + var userRatinglogList: List>? = null + var userBossList: List? = null + var userTechCountList: List? = null + var userScenarioList: List? = null + var userTradeItemList: List? = null + var userEventMusicList: List? = null + var userTechEventList: List? = null + var userKopList: List? = null + var clientSystemInfo: Map? = null + var isNewMusicDetailList: String? = null + var isNewCharacterList: String? = null + var isNewCardList: String? = null + var isNewDeckList: String? = null + var isNewTrainingRoomList: String? = null + var isNewStoryList: String? = null + var isNewChapterList: String? = null + var isNewMemoryChapterList: String? = null + var isNewItemList: String? = null + var isNewMusicItemList: String? = null + var isNewLoginBonusList: String? = null + var isNewEventPointList: String? = null + var isNewMissionPointList: String? = null + var isNewRatinglogList: String? = null + var isNewBossList: String? = null + var isNewTechCountList: String? = null + var isNewScenarioList: String? = null + var isNewTradeItemList: String? = null + var isNewEventMusicList: String? = null + var isNewTechEventList: String? = null + var isNewKopList: String? = null +} diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/request/UpsertUserAll.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/request/UpsertUserAll.java deleted file mode 100644 index b56975f3..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/request/UpsertUserAll.java +++ /dev/null @@ -1,157 +0,0 @@ -package icu.samnyan.aqua.sega.ongeki.model.request; - -import com.fasterxml.jackson.annotation.JsonProperty; -import icu.samnyan.aqua.sega.general.model.response.UserRecentRating; -import icu.samnyan.aqua.sega.ongeki.model.*; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; -import java.util.Map; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class UpsertUserAll implements Serializable { - - private List userData; - - private List userOption; - - private List userPlaylogList; - - private List> userJewelboostlogList; - - private List> userSessionlogList; - - private List userActivityList; - - private List userRecentRatingList; - - private List userBpBaseList; - - private List userRatingBaseBestNewList; - - private List userRatingBaseBestList; - - private List userRatingBaseHotList; - - private List userRatingBaseNextNewList; - - private List userRatingBaseNextList; - - private List userRatingBaseHotNextList; - - private List userMusicDetailList; - - private List userCharacterList; - - private List userCardList; - - private List userDeckList; - - private List userTrainingRoomList; - - private List userStoryList; - - private List userChapterList; - - private List userMemoryChapterList; - - private List userItemList; - - private List userMusicItemList; - - private List userLoginBonusList; - - private List userEventPointList; - - private List userMissionPointList; - - private List> userRatinglogList; - - private List userBossList; - - private List userTechCountList; - - private List userScenarioList; - - private List userTradeItemList; - - private List userEventMusicList; - - private List userTechEventList; - - private List userKopList; - - private Map clientSystemInfo; - - @JsonProperty("isNewMusicDetailList") - private String isNewMusicDetailList; - - @JsonProperty("isNewCharacterList") - private String isNewCharacterList; - - @JsonProperty("isNewCardList") - private String isNewCardList; - - @JsonProperty("isNewDeckList") - private String isNewDeckList; - - @JsonProperty("isNewTrainingRoomList") - private String isNewTrainingRoomList; - - @JsonProperty("isNewStoryList") - private String isNewStoryList; - - @JsonProperty("isNewChapterList") - private String isNewChapterList; - - @JsonProperty("isNewMemoryChapterList") - private String isNewMemoryChapterList; - - @JsonProperty("isNewItemList") - private String isNewItemList; - - @JsonProperty("isNewMusicItemList") - private String isNewMusicItemList; - - @JsonProperty("isNewLoginBonusList") - private String isNewLoginBonusList; - - @JsonProperty("isNewEventPointList") - private String isNewEventPointList; - - @JsonProperty("isNewMissionPointList") - private String isNewMissionPointList; - - @JsonProperty("isNewRatinglogList") - private String isNewRatinglogList; - - @JsonProperty("isNewBossList") - private String isNewBossList; - - @JsonProperty("isNewTechCountList") - private String isNewTechCountList; - - @JsonProperty("isNewScenarioList") - private String isNewScenarioList; - - @JsonProperty("isNewTradeItemList") - private String isNewTradeItemList; - - @JsonProperty("isNewEventMusicList") - private String isNewEventMusicList; - - @JsonProperty("isNewTechEventList") - private String isNewTechEventList; - - @JsonProperty("isNewKopList") - private String isNewKopList; - -} diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/CodeResp.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/CodeResp.java deleted file mode 100644 index 50a60cd8..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/CodeResp.java +++ /dev/null @@ -1,16 +0,0 @@ -package icu.samnyan.aqua.sega.ongeki.model.response; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class CodeResp { - private int returnCode; - private String apiName; -} diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/GetGameSettingResp.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/GetGameSettingResp.java deleted file mode 100644 index 650e7d00..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/GetGameSettingResp.java +++ /dev/null @@ -1,21 +0,0 @@ -package icu.samnyan.aqua.sega.ongeki.model.response; - -import com.fasterxml.jackson.annotation.JsonProperty; -import icu.samnyan.aqua.sega.ongeki.model.response.data.GameSetting; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class GetGameSettingResp { - private GameSetting gameSetting; - @JsonProperty("isDumpUpload") - private boolean isDumpUpload; - @JsonProperty("isAou") - private boolean isAou; -} diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/GetUserPreviewResp.java b/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/GetUserPreviewResp.java deleted file mode 100644 index 85d56d38..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/model/response/GetUserPreviewResp.java +++ /dev/null @@ -1,41 +0,0 @@ -package icu.samnyan.aqua.sega.ongeki.model.response; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class GetUserPreviewResp { - - private long userId = 0; - @JsonProperty("isLogin") - private boolean isLogin = false; - private String lastLoginDate = null; - private String userName = ""; - private int reincarnationNum = 0; - private int level = 0; - private long exp = 0; - private long playerRating = 0; - private String lastGameId = ""; - private String lastRomVersion = ""; - private String lastDataVersion = ""; - private String lastPlayDate = null; - private int nameplateId = 0; - private int trophyId = 0; - private int cardId = 0; - private int dispPlayerLv = 0; - private int dispRating = 0; - private int dispBP = 0; - private int headphone = 0; - private int banStatus = 0; - @JsonProperty("isWarningConfirmed") - private boolean isWarningConfirmed = false; - private int lastEmoneyBrand = 0; - private int lastEmoneyCredit = 0; -}