From 54b1174e1be988c625862bf520e5d0181e70df8e Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Sat, 16 Mar 2024 19:50:05 -0400 Subject: [PATCH] [O] Refactor maimai2 repositories --- .../ApiMaimai2PlayerDataController.java | 4 +- .../icu/samnyan/aqua/net/CardController.kt | 4 +- .../java/icu/samnyan/aqua/net/games/Chusan.kt | 8 +- .../icu/samnyan/aqua/net/games/GameHelper.kt | 5 - .../icu/samnyan/aqua/net/games/Maimai2.kt | 12 +- .../java/icu/samnyan/aqua/net/games/Models.kt | 41 ++-- .../java/icu/samnyan/aqua/net/games/Ongeki.kt | 6 +- .../dao/userdata/UserDataRepository.java | 2 +- .../dao/userdata/UserPlaylogRepository.java | 7 +- .../chusan/service/UserPlaylogService.java | 4 +- .../dao/userdata/MapEncountNpcRepository.java | 30 --- .../aqua/sega/maimai2/dao/userdata/Repos.kt | 189 ++++++++++++++++++ .../dao/userdata/UserActRepository.java | 27 --- .../dao/userdata/UserCardRepository.java | 22 -- .../dao/userdata/UserCharacterRepository.java | 30 --- .../dao/userdata/UserChargeRepository.java | 23 --- .../dao/userdata/UserCourseRepository.java | 29 --- .../dao/userdata/UserDataRepository.kt | 17 -- .../dao/userdata/UserExtendRepository.java | 23 --- .../dao/userdata/UserFavoriteRepository.java | 27 --- .../UserFriendSeasonRankingRepository.java | 29 --- .../userdata/UserGeneralDataRepository.java | 26 --- .../dao/userdata/UserItemRepository.java | 32 --- .../userdata/UserLoginBonusRepository.java | 30 --- .../dao/userdata/UserMapRepository.java | 30 --- .../userdata/UserMusicDetailRepository.java | 32 --- .../dao/userdata/UserOptionRepository.java | 23 --- .../dao/userdata/UserPlaylogRepository.java | 30 --- .../userdata/UserPrintDetailRepository.java | 13 -- .../dao/userdata/UserUdemaeRepository.java | 23 --- .../ongeki/dao/userdata/UserDataRepository.kt | 2 +- .../dao/userdata/UserPlaylogRepository.kt | 3 +- 32 files changed, 231 insertions(+), 552 deletions(-) delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/MapEncountNpcRepository.java create mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/Repos.kt delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserActRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserCardRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserCharacterRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserChargeRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserCourseRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserDataRepository.kt delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserExtendRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserFavoriteRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserFriendSeasonRankingRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserGeneralDataRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserItemRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserLoginBonusRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserMapRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserMusicDetailRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserOptionRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserPlaylogRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserPrintDetailRepository.java delete mode 100644 src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserUdemaeRepository.java diff --git a/src/main/java/icu/samnyan/aqua/api/controller/sega/game/maimai2/ApiMaimai2PlayerDataController.java b/src/main/java/icu/samnyan/aqua/api/controller/sega/game/maimai2/ApiMaimai2PlayerDataController.java index c31d9e27..4ddeeea1 100644 --- a/src/main/java/icu/samnyan/aqua/api/controller/sega/game/maimai2/ApiMaimai2PlayerDataController.java +++ b/src/main/java/icu/samnyan/aqua/api/controller/sega/game/maimai2/ApiMaimai2PlayerDataController.java @@ -232,7 +232,7 @@ public class ApiMaimai2PlayerDataController { public ReducedPageResponse getRecent(@RequestParam long aimeId, @RequestParam(required = false, defaultValue = "0") int page, @RequestParam(required = false, defaultValue = "10") int size) { - Page playlogs = userPlaylogRepository.findByUser_Card_ExtId(aimeId, PageRequest.of(page, size, Sort.Direction.DESC, "id")); + Page playlogs = userPlaylogRepository.findByUserCardExtId(aimeId, PageRequest.of(page, size, Sort.Direction.DESC, "id")); return new ReducedPageResponse<>(playlogs.getContent(), playlogs.getPageable().getPageNumber(), playlogs.getTotalPages(), playlogs.getTotalElements()); } @@ -303,7 +303,7 @@ public class ApiMaimai2PlayerDataController { data.setUserItemList(userItemRepository.findByUser_Card_ExtId(aimeId)); data.setUserLoginBonusList(userLoginBonusRepository.findByUser_Card_ExtId(aimeId)); data.setUserMusicDetailList(userMusicDetailRepository.findByUser_Card_ExtId(aimeId)); - data.setUserPlaylogList(userPlaylogRepository.findByUser_Card_ExtId(aimeId)); + data.setUserPlaylogList(userPlaylogRepository.findByUserCardExtId(aimeId)); data.setMapEncountNpcList(mapEncountNpcRepository.findByUser_Card_ExtId(aimeId)); data.setUserActList(userActRepository.findByUser_Card_ExtId(aimeId)); data.setUserChargeList(userChargeRepository.findByUser_Card_ExtId(aimeId)); diff --git a/src/main/java/icu/samnyan/aqua/net/CardController.kt b/src/main/java/icu/samnyan/aqua/net/CardController.kt index ad9396ca..b0bce8b8 100644 --- a/src/main/java/icu/samnyan/aqua/net/CardController.kt +++ b/src/main/java/icu/samnyan/aqua/net/CardController.kt @@ -113,7 +113,7 @@ class CardController( * * Assumption: The card is already linked to the user. */ -suspend fun migrateCard(repo: GenericUserDataRepo, card: Card): Bool +suspend fun migrateCard(repo: GenericUserDataRepo, card: Card): Bool { // Check if data already exists in the user's ghost card async { repo.findByCard(card.aquaUser!!.ghostCard) }?.let { @@ -130,7 +130,7 @@ suspend fun migrateCard(repo: GenericUserDataRepo, return true } -suspend fun getSummaryFor(repo: GenericUserDataRepo<*, *>, card: Card): Map? +suspend fun getSummaryFor(repo: GenericUserDataRepo<*>, card: Card): Map? { val data = async { repo.findByCard(card) } ?: return null return mapOf( diff --git a/src/main/java/icu/samnyan/aqua/net/games/Chusan.kt b/src/main/java/icu/samnyan/aqua/net/games/Chusan.kt index a7ecbc8b..b46b251d 100644 --- a/src/main/java/icu/samnyan/aqua/net/games/Chusan.kt +++ b/src/main/java/icu/samnyan/aqua/net/games/Chusan.kt @@ -13,14 +13,14 @@ import org.springframework.web.bind.annotation.RestController @RestController @API("api/v2/game/chu3") class Chusan( - val us: AquaUserServices, + override val us: AquaUserServices, override val playlogRepo: UserPlaylogRepository, override val userDataRepo: UserDataRepository, val userGeneralDataRepository: UserGeneralDataRepository ): GameApiController("chu3") { override suspend fun trend(@RP username: Str): List = us.cardByName(username) { card -> - findTrend(playlogRepo.findByUser_Card_ExtId(card.extId) + findTrend(playlogRepo.findByUserCardExtId(card.extId) .map { TrendLog(it.playDate.toString(), it.playerRating) }) } @@ -39,8 +39,4 @@ class Chusan( genericUserSummary(card, ratingComposition) } - - override suspend fun recent(@RP username: Str) = us.cardByName(username) { card -> - playlogRepo.findByUser_Card_ExtId(card.extId) - } } \ No newline at end of file diff --git a/src/main/java/icu/samnyan/aqua/net/games/GameHelper.kt b/src/main/java/icu/samnyan/aqua/net/games/GameHelper.kt index 244c6cc6..62d10103 100644 --- a/src/main/java/icu/samnyan/aqua/net/games/GameHelper.kt +++ b/src/main/java/icu/samnyan/aqua/net/games/GameHelper.kt @@ -40,11 +40,6 @@ fun findTrend(log: List): List { return trend } -interface GenericPlaylogRepo { - fun findByUserCardExtId(extId: Long): List - fun findById(id: Long): Optional -} - fun List.acc() = if (isEmpty()) 0.0 else sumOf { it.achievement }.toDouble() / size / 10000.0 fun GameApiController.genericUserSummary( diff --git a/src/main/java/icu/samnyan/aqua/net/games/Maimai2.kt b/src/main/java/icu/samnyan/aqua/net/games/Maimai2.kt index ee0f0be8..3de3acb9 100644 --- a/src/main/java/icu/samnyan/aqua/net/games/Maimai2.kt +++ b/src/main/java/icu/samnyan/aqua/net/games/Maimai2.kt @@ -5,22 +5,20 @@ import ext.RP import ext.Str import icu.samnyan.aqua.net.db.AquaUserServices import icu.samnyan.aqua.net.utils.* -import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserDataRepository -import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserGeneralDataRepository -import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserPlaylogRepository +import icu.samnyan.aqua.sega.maimai2.dao.userdata.* import org.springframework.web.bind.annotation.RestController @RestController @API("api/v2/game/mai2") class Maimai2( - val us: AquaUserServices, + override val us: AquaUserServices, override val playlogRepo: UserPlaylogRepository, override val userDataRepo: UserDataRepository, val userGeneralDataRepository: UserGeneralDataRepository ): GameApiController("mai2") { override suspend fun trend(@RP username: Str): List = us.cardByName(username) { card -> - findTrend(playlogRepo.findByUser_Card_ExtId(card.extId) + findTrend(playlogRepo.findByUserCardExtId(card.extId) .map { TrendLog(it.playDate, it.afterRating) }) } @@ -38,8 +36,4 @@ class Maimai2( genericUserSummary(card, ratingComposition) } - - override suspend fun recent(@RP username: Str) = us.cardByName(username) { card -> - playlogRepo.findByUser_Card_ExtId(card.extId) - } } \ No newline at end of file diff --git a/src/main/java/icu/samnyan/aqua/net/games/Models.kt b/src/main/java/icu/samnyan/aqua/net/games/Models.kt index 0a1c4fcb..14ea63cf 100644 --- a/src/main/java/icu/samnyan/aqua/net/games/Models.kt +++ b/src/main/java/icu/samnyan/aqua/net/games/Models.kt @@ -1,12 +1,14 @@ package icu.samnyan.aqua.net.games import ext.* +import icu.samnyan.aqua.net.db.AquaUserServices import icu.samnyan.aqua.net.utils.* import icu.samnyan.aqua.sega.general.model.Card import kotlinx.serialization.Serializable import org.springframework.data.jpa.repository.JpaRepository import org.springframework.data.jpa.repository.Query import org.springframework.data.repository.NoRepositoryBean +import java.util.* import kotlin.jvm.optionals.getOrNull data class TrendOut(val date: String, val rating: Int, val plays: Int) @@ -78,14 +80,6 @@ interface IGenericUserData { var card: Card? } -@NoRepositoryBean -interface GenericUserDataRepo : JpaRepository { - fun findByCard(card: Card): T? - - @Query("select count(*) from #{#entityName} where playerRating > :rating") - fun getRanking(rating: Int): Long -} - interface IGenericGamePlaylog { val musicId: Int val level: Int @@ -98,6 +92,19 @@ interface IGenericGamePlaylog { val isAllPerfect: Boolean } +@NoRepositoryBean +interface GenericUserDataRepo : JpaRepository { + fun findByCard(card: Card): T? + + @Query("select count(*) from #{#entityName} where playerRating > :rating") + fun getRanking(rating: Int): Long +} + +@NoRepositoryBean +interface GenericPlaylogRepo : JpaRepository { + fun findByUserCardExtId(extId: Long): List +} + abstract class GameApiController(name: String) { val musicMapping: Map = GameApiController::class.java .getResourceAsStream("/meta/$name/music.json") @@ -106,24 +113,26 @@ abstract class GameApiController(name: String) { ?.mapKeys { it.key.toInt() } ?: emptyMap() - abstract val userDataRepo: GenericUserDataRepo<*, *> - abstract val playlogRepo: GenericPlaylogRepo + abstract val us: AquaUserServices + abstract val userDataRepo: GenericUserDataRepo<*> + abstract val playlogRepo: GenericPlaylogRepo<*> abstract val shownRanks: List> @API("trend") abstract suspend fun trend(@RP username: String): List @API("user-summary") abstract suspend fun userSummary(@RP username: String): GenericGameSummary + @API("recent") - abstract suspend fun recent(@RP username: String): List + suspend fun recent(@RP username: String): List = us.cardByName(username) { card -> + playlogRepo.findByUserCardExtId(card.extId) + } - - private val rankingCache = mutableMapOf>>() + private var rankingCache: Pair>? = null @API("ranking") fun ranking(): List { // Read from cache if we just computed it less than 2 minutes ago - val cacheKey = playlogRepo::class.java.name - rankingCache[cacheKey]?.let { (t, r) -> + rankingCache?.let { (t, r) -> if (millis() - t < 120_000) return r } @@ -142,7 +151,7 @@ abstract class GameApiController(name: String) { lastSeen = user.lastPlayDate.toString(), username = user.card!!.aquaUser?.username ?: "user${user.card!!.id}" ) - }.also { rankingCache[cacheKey] = millis() to it } // Update the cache + }.also { rankingCache = millis() to it } // Update the cache } @API("playlog") diff --git a/src/main/java/icu/samnyan/aqua/net/games/Ongeki.kt b/src/main/java/icu/samnyan/aqua/net/games/Ongeki.kt index 61b13016..1b132445 100644 --- a/src/main/java/icu/samnyan/aqua/net/games/Ongeki.kt +++ b/src/main/java/icu/samnyan/aqua/net/games/Ongeki.kt @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RestController @RestController @API("api/v2/game/ongeki") class Ongeki( - val us: AquaUserServices, + override val us: AquaUserServices, override val playlogRepo: UserPlaylogRepository, override val userDataRepo: UserDataRepository, val userGeneralDataRepository: UserGeneralDataRepository @@ -31,8 +31,4 @@ class Ongeki( genericUserSummary(card, mapOf()) } - - override suspend fun recent(username: String) = us.cardByName(username) { card -> - playlogRepo.findByUser_Card_ExtId(card.extId) - } } \ No newline at end of file diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/dao/userdata/UserDataRepository.java b/src/main/java/icu/samnyan/aqua/sega/chusan/dao/userdata/UserDataRepository.java index d0258ece..64205442 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/dao/userdata/UserDataRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/chusan/dao/userdata/UserDataRepository.java @@ -11,7 +11,7 @@ import java.util.Optional; * @author samnyan (privateamusement@protonmail.com) */ @Repository("ChusanUserDataRepository") -public interface UserDataRepository extends GenericUserDataRepo { +public interface UserDataRepository extends GenericUserDataRepo { Optional findByCard_ExtId(Long extId); } diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/dao/userdata/UserPlaylogRepository.java b/src/main/java/icu/samnyan/aqua/sega/chusan/dao/userdata/UserPlaylogRepository.java index e88eea89..65fbaa9b 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/dao/userdata/UserPlaylogRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/chusan/dao/userdata/UserPlaylogRepository.java @@ -4,7 +4,6 @@ import icu.samnyan.aqua.net.games.GenericPlaylogRepo; import icu.samnyan.aqua.sega.chusan.model.userdata.UserPlaylog; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import java.util.List; @@ -13,12 +12,10 @@ import java.util.List; * @author samnyan (privateamusement@protonmail.com) */ @Repository("ChusanUserPlaylogRepository") -public interface UserPlaylogRepository extends JpaRepository, GenericPlaylogRepo { +public interface UserPlaylogRepository extends GenericPlaylogRepo { List findByUser_Card_ExtIdAndLevelNot(Long extId, int levelNot, Pageable page); - Page findByUser_Card_ExtId(Long extId, Pageable page); + Page findByUserCardExtId(Long extId, Pageable page); List findByUser_Card_ExtIdAndMusicIdAndLevel(Long extId, int musicId, int level); - - List findByUser_Card_ExtId(Long extId); } diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/service/UserPlaylogService.java b/src/main/java/icu/samnyan/aqua/sega/chusan/service/UserPlaylogService.java index d448389e..663d2528 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/service/UserPlaylogService.java +++ b/src/main/java/icu/samnyan/aqua/sega/chusan/service/UserPlaylogService.java @@ -33,7 +33,7 @@ public class UserPlaylogService { } public Page getRecentPlays(String userId, Pageable page) { - return userPlaylogRepository.findByUser_Card_ExtId(Long.parseLong(userId), page); + return userPlaylogRepository.findByUserCardExtId(Long.parseLong(userId), page); } public List getRecent30Plays(String userId) { @@ -42,7 +42,7 @@ public class UserPlaylogService { } public List getByUserId(String userId) { - return userPlaylogRepository.findByUser_Card_ExtId(Long.parseLong(userId)); + return userPlaylogRepository.findByUserCardExtId(Long.parseLong(userId)); } public List getByUserIdAndMusicIdAndLevel(String userId, int id, int level) { diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/MapEncountNpcRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/MapEncountNpcRepository.java deleted file mode 100644 index 5d7a0955..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/MapEncountNpcRepository.java +++ /dev/null @@ -1,30 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.MapEncountNpc; - -import java.util.List; -import java.util.Optional; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2MapEncountNpcRepository") -public interface MapEncountNpcRepository extends JpaRepository { - - List findByUser_Card_ExtId(long userId); - - Optional findByUserAndMusicId(UserDetail user, int musicId); - - Page findByUser_Card_ExtIdAndMusicId(long userId, int musicId, Pageable page); - - @Transactional - void deleteByUser(UserDetail user); - -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/Repos.kt b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/Repos.kt new file mode 100644 index 00000000..2fe965c0 --- /dev/null +++ b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/Repos.kt @@ -0,0 +1,189 @@ +package icu.samnyan.aqua.sega.maimai2.dao.userdata + +import icu.samnyan.aqua.net.games.GenericPlaylogRepo +import icu.samnyan.aqua.net.games.GenericUserDataRepo +import icu.samnyan.aqua.sega.general.model.Card +import icu.samnyan.aqua.sega.maimai2.model.userdata.* +import org.springframework.data.domain.Page +import org.springframework.data.domain.Pageable +import org.springframework.data.jpa.repository.JpaRepository +import org.springframework.data.repository.NoRepositoryBean +import org.springframework.stereotype.Repository +import org.springframework.transaction.annotation.Transactional +import java.util.* + +@NoRepositoryBean +interface Deletable { + @Transactional + fun deleteByUser(user: UserDetail) +} + +@Repository("Maimai2MapEncountNpcRepository") +interface MapEncountNpcRepository : JpaRepository, Deletable { + fun findByUser_Card_ExtId(userId: Long): List + + fun findByUserAndMusicId(user: UserDetail, musicId: Int): Optional + + fun findByUser_Card_ExtIdAndMusicId(userId: Long, musicId: Int, page: Pageable): Page +} + +@Repository("Maimai2UserActRepository") +interface UserActRepository : JpaRepository, Deletable { + fun findByUser_Card_ExtId(userId: Long): List + + fun findByUserAndKindAndActivityId(user: UserDetail, kind: Int, id: Int): Optional + + fun findByUser_Card_ExtIdAndKind(userId: Long, kind: Int): List +} + +@Repository("Maimai2UserCardRepository") +interface UserCardRepository : JpaRepository, Deletable { + fun findByUserAndCardId(user: UserDetail, cardId: Int): Optional + + fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page +} + +@Repository("Maimai2UserCharacterRepository") +interface UserCharacterRepository : JpaRepository, Deletable { + fun findByUser_Card_ExtId(userId: Long): List + + fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page + + fun findByUserAndCharacterId(user: UserDetail, characterId: Int): Optional + +} + +@Repository("Maimai2UserChargeRepository") +interface UserChargeRepository : JpaRepository, Deletable { + fun findByUser_Card_ExtId(extId: Long): List + + fun findByUserAndChargeId(extId: UserDetail, chargeId: Int): Optional + +} + +@Repository("Maimai2UserCourseRepository") +interface UserCourseRepository : JpaRepository, Deletable { + fun findByUser_Card_ExtId(userId: Long): List + + fun findByUserAndCourseId(user: UserDetail, courseId: Int): Optional + + fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page +} + +@Repository("Maimai2UserDataRepository") +interface UserDataRepository : GenericUserDataRepo { + fun findByCardExtId(userId: Long): Optional + + @Transactional + fun deleteByCard(card: Card) +} + +@Repository("Maimai2UserExtendRepository") +interface UserExtendRepository : JpaRepository, Deletable { + fun findByUser(user: UserDetail): Optional + + fun findByUser_Card_ExtId(extId: Long): Optional + +} + +@Repository("Maimai2UserFavoriteRepository") +interface UserFavoriteRepository : JpaRepository, Deletable { + fun findByUser_Card_ExtId(userId: Long): List + + fun findByUserAndItemKind(user: UserDetail, kind: Int): Optional + + //Optional findByUserIdAndItemKind(long userId, int kind); + fun findByUserIdAndItemKind(userId: Long, kind: Int): List + +} + +@Repository("Maimai2UserFriendSeasonRankingRepository") +interface UserFriendSeasonRankingRepository : JpaRepository, Deletable { + fun findByUser_Card_ExtId(userId: Long): List + + fun findByUserAndSeasonId(user: UserDetail, seasonId: Int): Optional + + fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page + +} + +@Repository("Maimai2UserGeneralDataRepository") +interface UserGeneralDataRepository : JpaRepository, Deletable { + fun findByUser_Card_ExtId(userId: Long): List + + fun findByUserAndPropertyKey(user: UserDetail, key: String): Optional + + fun findByUser_Card_ExtIdAndPropertyKey(userId: Long, key: String): Optional + +} + +@Repository("Maimai2UserItemRepository") +interface UserItemRepository : JpaRepository, Deletable { + fun findByUser_Card_ExtId(userId: Long): List + + fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page + + fun findByUserAndItemKindAndItemId(user: UserDetail, itemKind: Int, itemId: Int): Optional + + fun findByUser_Card_ExtIdAndItemKind(userId: Long, kind: Int, page: Pageable): Page + +} + +@Repository("Maimai2UserLoginBonusRepository") +interface UserLoginBonusRepository : JpaRepository, Deletable { + fun findByUser_Card_ExtId(userId: Long): List + + fun findByUserAndBonusId(user: UserDetail, bonusId: Int): Optional + + fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page + +} + +@Repository("Maimai2UserMapRepository") +interface UserMapRepository : JpaRepository, Deletable { + fun findByUser_Card_ExtId(userId: Long): List + + fun findByUserAndMapId(user: UserDetail, mapId: Int): Optional + + fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page + +} + +@Repository("Maimai2UserMusicDetailRepository") +interface UserMusicDetailRepository : JpaRepository, Deletable { + fun findByUser_Card_ExtId(userId: Long): List + + fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page + + fun findByUser_Card_ExtIdAndMusicId(userId: Long, id: Int): List + + fun findByUserAndMusicIdAndLevel(user: UserDetail, musicId: Int, level: Int): Optional + +} + +@Repository("Maimai2UserOptionRepository") +interface UserOptionRepository : JpaRepository, Deletable { + fun findByUser(user: UserDetail): Optional + + fun findByUser_Card_ExtId(extId: Long): Optional + +} + +@Repository("Maimai2UserPlaylogRepository") +interface UserPlaylogRepository : GenericPlaylogRepo, Deletable { + fun findByUserCardExtId(userId: Long, page: Pageable): Page + + fun findByUser_Card_ExtIdAndMusicIdAndLevel(userId: Long, musicId: Int, level: Int): List + +} + +@Repository("Maimai2UserPrintDetailRepository") +interface UserPrintDetailRepository : JpaRepository + +@Repository("Maimai2UserUdemaeRepository") +interface UserUdemaeRepository : JpaRepository, Deletable { + fun findByUser(user: UserDetail): Optional + + fun findByUser_Card_ExtId(extId: Long): Optional + +} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserActRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserActRepository.java deleted file mode 100644 index 623edb0a..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserActRepository.java +++ /dev/null @@ -1,27 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserAct; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserActRepository") -public interface UserActRepository extends JpaRepository { - - List findByUser_Card_ExtId(long userId); - - Optional findByUserAndKindAndActivityId(UserDetail user, int kind, int id); - - List findByUser_Card_ExtIdAndKind(long userId, int kind); - - @Transactional - void deleteByUser(UserDetail user); - -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserCardRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserCardRepository.java deleted file mode 100644 index 09143095..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserCardRepository.java +++ /dev/null @@ -1,22 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserCard; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserCardRepository") -public interface UserCardRepository extends JpaRepository { - - Optional findByUserAndCardId(UserDetail user, int cardId); - - Page findByUser_Card_ExtId(long userId, Pageable page); -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserCharacterRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserCharacterRepository.java deleted file mode 100644 index d7e52ef5..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserCharacterRepository.java +++ /dev/null @@ -1,30 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserCharacter; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserCharacterRepository") -public interface UserCharacterRepository extends JpaRepository { - - List findByUser_Card_ExtId(long userId); - - Page findByUser_Card_ExtId(long userId, Pageable page); - - Optional findByUserAndCharacterId(UserDetail user, int characterId); - - @Transactional - void deleteByUser(UserDetail user); - -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserChargeRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserChargeRepository.java deleted file mode 100644 index 1e8a8e8d..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserChargeRepository.java +++ /dev/null @@ -1,23 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserCharge; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserChargeRepository") -public interface UserChargeRepository extends JpaRepository { - List findByUser_Card_ExtId(Long extId); - - Optional findByUserAndChargeId(UserDetail extId, int chargeId); - - @Transactional - void deleteByUser(UserDetail user); -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserCourseRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserCourseRepository.java deleted file mode 100644 index 929c8c5e..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserCourseRepository.java +++ /dev/null @@ -1,29 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserCourse; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserCourseRepository") -public interface UserCourseRepository extends JpaRepository { - - List findByUser_Card_ExtId(long userId); - - Optional findByUserAndCourseId(UserDetail user, int courseId); - - Page findByUser_Card_ExtId(long userId, Pageable page); - - @Transactional - void deleteByUser(UserDetail user); -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserDataRepository.kt b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserDataRepository.kt deleted file mode 100644 index be5f535c..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserDataRepository.kt +++ /dev/null @@ -1,17 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata - -import icu.samnyan.aqua.net.games.GenericUserDataRepo -import icu.samnyan.aqua.sega.general.model.Card -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail -import org.springframework.stereotype.Repository -import org.springframework.transaction.annotation.Transactional -import java.util.* - - -@Repository("Maimai2UserDataRepository") -interface UserDataRepository : GenericUserDataRepo { - fun findByCardExtId(userId: Long): Optional - - @Transactional - fun deleteByCard(card: Card) -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserExtendRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserExtendRepository.java deleted file mode 100644 index bb842501..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserExtendRepository.java +++ /dev/null @@ -1,23 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserExtend; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserExtendRepository") -public interface UserExtendRepository extends JpaRepository { - - Optional findByUser(UserDetail user); - - Optional findByUser_Card_ExtId(Long extId); - - @Transactional - void deleteByUser(UserDetail user); -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserFavoriteRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserFavoriteRepository.java deleted file mode 100644 index c6625c5b..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserFavoriteRepository.java +++ /dev/null @@ -1,27 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserFavorite; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserFavoriteRepository") -public interface UserFavoriteRepository extends JpaRepository { - - List findByUser_Card_ExtId(long userId); - - Optional findByUserAndItemKind(UserDetail user, int kind); - //Optional findByUserIdAndItemKind(long userId, int kind); - - List findByUserIdAndItemKind(long userId, int kind); - - @Transactional - void deleteByUser(UserDetail user); -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserFriendSeasonRankingRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserFriendSeasonRankingRepository.java deleted file mode 100644 index dddbbb70..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserFriendSeasonRankingRepository.java +++ /dev/null @@ -1,29 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserFriendSeasonRanking; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserFriendSeasonRankingRepository") -public interface UserFriendSeasonRankingRepository extends JpaRepository { - - List findByUser_Card_ExtId(long userId); - - Optional findByUserAndSeasonId(UserDetail user, int seasonId); - - Page findByUser_Card_ExtId(long userId, Pageable page); - - @Transactional - void deleteByUser(UserDetail user); -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserGeneralDataRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserGeneralDataRepository.java deleted file mode 100644 index c6040317..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserGeneralDataRepository.java +++ /dev/null @@ -1,26 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserGeneralData; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserGeneralDataRepository") -public interface UserGeneralDataRepository extends JpaRepository { - - List findByUser_Card_ExtId(long userId); - - Optional findByUserAndPropertyKey(UserDetail user, String key); - - Optional findByUser_Card_ExtIdAndPropertyKey(long userId, String key); - - @Transactional - void deleteByUser(UserDetail user); -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserItemRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserItemRepository.java deleted file mode 100644 index 2126f8d9..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserItemRepository.java +++ /dev/null @@ -1,32 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserItem; - -import java.util.List; -import java.util.Optional; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserItemRepository") -public interface UserItemRepository extends JpaRepository { - - List findByUser_Card_ExtId(long userId); - - Page findByUser_Card_ExtId(long userId, Pageable page); - - Optional findByUserAndItemKindAndItemId(UserDetail user, int itemKind, int itemId); - - Page findByUser_Card_ExtIdAndItemKind(long userId, int kind, Pageable page); - - @Transactional - void deleteByUser(UserDetail user); - -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserLoginBonusRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserLoginBonusRepository.java deleted file mode 100644 index 32c1a797..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserLoginBonusRepository.java +++ /dev/null @@ -1,30 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserLoginBonus; - -import java.util.List; -import java.util.Optional; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserLoginBonusRepository") -public interface UserLoginBonusRepository extends JpaRepository { - - List findByUser_Card_ExtId(long userId); - - Optional findByUserAndBonusId(UserDetail user, int bonusId); - - Page findByUser_Card_ExtId(long userId, Pageable page); - - @Transactional - void deleteByUser(UserDetail user); - -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserMapRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserMapRepository.java deleted file mode 100644 index 309ee99c..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserMapRepository.java +++ /dev/null @@ -1,30 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserMap; - -import java.util.List; -import java.util.Optional; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserMapRepository") -public interface UserMapRepository extends JpaRepository { - - List findByUser_Card_ExtId(long userId); - - Optional findByUserAndMapId(UserDetail user, int mapId); - - Page findByUser_Card_ExtId(long userId, Pageable page); - - @Transactional - void deleteByUser(UserDetail user); - -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserMusicDetailRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserMusicDetailRepository.java deleted file mode 100644 index bf2a14d5..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserMusicDetailRepository.java +++ /dev/null @@ -1,32 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserMusicDetail; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserMusicDetailRepository") -public interface UserMusicDetailRepository extends JpaRepository { - - List findByUser_Card_ExtId(long userId); - - Page findByUser_Card_ExtId(long userId, Pageable page); - - List findByUser_Card_ExtIdAndMusicId(long userId, int id); - - Optional findByUserAndMusicIdAndLevel(UserDetail user, int musicId, int level); - - @Transactional - void deleteByUser(UserDetail user); - -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserOptionRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserOptionRepository.java deleted file mode 100644 index 22938607..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserOptionRepository.java +++ /dev/null @@ -1,23 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserOption; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserOptionRepository") -public interface UserOptionRepository extends JpaRepository { - - Optional findByUser(UserDetail user); - - Optional findByUser_Card_ExtId(Long extId); - - @Transactional - void deleteByUser(UserDetail user); -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserPlaylogRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserPlaylogRepository.java deleted file mode 100644 index 42348654..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserPlaylogRepository.java +++ /dev/null @@ -1,30 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.net.games.GenericPlaylogRepo; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserPlaylog; - -import java.util.List; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserPlaylogRepository") -public interface UserPlaylogRepository extends JpaRepository, GenericPlaylogRepo { - - List findByUser_Card_ExtId(long userId); - - Page findByUser_Card_ExtId(long userId, Pageable page); - - List findByUser_Card_ExtIdAndMusicIdAndLevel(long userId, int musicId, int level); - - @Transactional - void deleteByUser(UserDetail user); - -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserPrintDetailRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserPrintDetailRepository.java deleted file mode 100644 index 94323921..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserPrintDetailRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserPrintDetail; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserPrintDetailRepository") -public interface UserPrintDetailRepository extends JpaRepository { -} diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserUdemaeRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserUdemaeRepository.java deleted file mode 100644 index 923f5b9d..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserUdemaeRepository.java +++ /dev/null @@ -1,23 +0,0 @@ -package icu.samnyan.aqua.sega.maimai2.dao.userdata; - -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail; -import icu.samnyan.aqua.sega.maimai2.model.userdata.UserUdemae; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Repository("Maimai2UserUdemaeRepository") -public interface UserUdemaeRepository extends JpaRepository { - - Optional findByUser(UserDetail user); - - Optional findByUser_Card_ExtId(Long extId); - - @Transactional - void deleteByUser(UserDetail user); -} diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserDataRepository.kt b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserDataRepository.kt index a35f0236..7736d4cd 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserDataRepository.kt +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserDataRepository.kt @@ -11,7 +11,7 @@ import java.util.* * @author samnyan (privateamusement@protonmail.com) */ @Repository("OngekiUserDataRepository") -interface UserDataRepository : GenericUserDataRepo { +interface UserDataRepository : GenericUserDataRepo { fun findByCard_ExtIdIn(userIds: Collection): List fun findByCard_ExtId(aimeId: Long): Optional diff --git a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserPlaylogRepository.kt b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserPlaylogRepository.kt index 757153dd..f3579a99 100644 --- a/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserPlaylogRepository.kt +++ b/src/main/java/icu/samnyan/aqua/sega/ongeki/dao/userdata/UserPlaylogRepository.kt @@ -5,7 +5,6 @@ import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData import icu.samnyan.aqua.sega.ongeki.model.userdata.UserPlaylog import org.springframework.data.domain.Page import org.springframework.data.domain.Pageable -import org.springframework.data.jpa.repository.JpaRepository import org.springframework.stereotype.Repository import org.springframework.transaction.annotation.Transactional @@ -13,7 +12,7 @@ import org.springframework.transaction.annotation.Transactional * @author samnyan (privateamusement@protonmail.com) */ @Repository("OngekiUserPlaylogRepository") -interface UserPlaylogRepository : JpaRepository, GenericPlaylogRepo { +interface UserPlaylogRepository : GenericPlaylogRepo { fun findByUser_Card_ExtId(userId: Long): List fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page