[O] Ongeki: Refactor User repos

This commit is contained in:
Azalea
2025-03-26 17:28:59 -04:00
parent d34b34b5bd
commit fb75cd1add
27 changed files with 314 additions and 656 deletions

View File

@@ -0,0 +1,314 @@
@file:Suppress("FunctionName")
import icu.samnyan.aqua.net.games.GenericPlaylogRepo
import icu.samnyan.aqua.net.games.GenericUserDataRepo
import icu.samnyan.aqua.net.games.GenericUserMusicRepo
import icu.samnyan.aqua.sega.general.model.Card
import icu.samnyan.aqua.sega.ongeki.model.userdata.*
import jakarta.transaction.Transactional
import org.springframework.data.domain.Page
import org.springframework.data.domain.Pageable
import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.data.jpa.repository.Query
import org.springframework.stereotype.Repository
import java.util.*
@Repository("OngekiUserActivityRepository")
interface UserActivityRepository : JpaRepository<UserActivity, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserActivity>
fun findByUserAndKindAndActivityId(userData: UserData, kind: Int, activityId: Int): Optional<UserActivity>
fun findByUser_Card_ExtIdAndKindOrderBySortNumberDesc(userId: Long, kind: Int): List<UserActivity>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserBossRepository")
interface UserBossRepository : JpaRepository<UserBoss, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserBoss>
fun findByUserAndMusicId(user: UserData, musicId: Int): Optional<UserBoss>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserCardRepository")
interface UserCardRepository : JpaRepository<UserCard, Long> {
fun findByUserAndCardId(userData: UserData, cardId: Int): Optional<UserCard>
fun findByUser_Card_ExtIdAndCardId(userId: Long, cardId: Int): Optional<UserCard>
fun findByUser_Card_ExtId(userId: Long): List<UserCard>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserCard>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserChapterRepository")
interface UserChapterRepository : JpaRepository<UserChapter, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserChapter>
fun findByUserAndChapterId(userData: UserData, chapterId: Int): Optional<UserChapter>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserCharacterRepository")
interface UserCharacterRepository : JpaRepository<UserCharacter, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserCharacter>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserCharacter>
fun findByUserAndCharacterId(userData: UserData, characterId: Int): Optional<UserCharacter>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserDataRepository")
interface UserDataRepository : GenericUserDataRepo<UserData> {
fun findByCard_ExtIdIn(userIds: Collection<Long>): List<UserData>
@Transactional
fun deleteByCard(card: Card)
}
@Repository("OngekiUserDeckRepository")
interface UserDeckRepository : JpaRepository<UserDeck, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserDeck>
fun findByUserAndDeckId(userData: UserData, deckId: Int): Optional<UserDeck>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserEventMusicRepository")
interface UserEventMusicRepository : JpaRepository<UserEventMusic, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserEventMusic>
fun findByUserAndEventIdAndTypeAndMusicId(
userData: UserData,
eventId: Int,
type: Int,
musicId: Int
): Optional<UserEventMusic>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserEventPointRepository")
interface UserEventPointRepository : JpaRepository<UserEventPoint, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserEventPoint>
fun findByUserAndEventId(userData: UserData, eventId: Int): Optional<UserEventPoint>
@Transactional
fun deleteByUser(user: UserData)
//@Query(value = "SELECT rank from (SELECT user_id , DENSE_RANK() OVER (ORDER BY point DESC) as rank from ongeki_user_event_point where event_id = :eventId) where user_id == :userId limit 1", nativeQuery = true)
@Query("SELECT COUNT(u)+1 FROM OngekiUserEventPoint u WHERE u.eventId = :eventId AND u.point > (SELECT u2.point FROM OngekiUserEventPoint u2 WHERE u2.user.id = :userId AND u2.eventId = :eventId)")
fun calculateRankByUserAndEventId(userId: Long, eventId: Int): Int
}
@Repository("OngekiUserGeneralDataRepository")
interface UserGeneralDataRepository : JpaRepository<UserGeneralData, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserGeneralData>
fun findByUserAndPropertyKey(user: UserData, key: String): Optional<UserGeneralData>
fun findByUser_Card_ExtIdAndPropertyKey(userId: Long, key: String): Optional<UserGeneralData>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserItemRepository")
interface UserItemRepository : JpaRepository<UserItem, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserItem>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserItem>
fun findByUserAndItemKindAndItemId(userData: UserData, itemKind: Int, itemId: Int): Optional<UserItem>
fun findByUser_Card_ExtIdAndItemKind(userId: Long, kind: Int, page: Pageable): Page<UserItem>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserKopRepository")
interface UserKopRepository : JpaRepository<UserKop, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserKop>
fun findByUserAndKopIdAndAreaId(userData: UserData, kopId: Int, areaId: Int): Optional<UserKop>
@Transactional
fun deleteByUser(user: UserData)
}
interface UserLoginBonusRepository : JpaRepository<UserLoginBonus, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserLoginBonus>
fun findByUserAndBonusId(userData: UserData, bonusId: Int): Optional<UserLoginBonus>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserMemoryChapterRepository")
interface UserMemoryChapterRepository : JpaRepository<UserMemoryChapter, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserMemoryChapter>
fun findByUserAndChapterId(userData: UserData, chapterId: Int): Optional<UserMemoryChapter>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserMissionPointRepository")
interface UserMissionPointRepository : JpaRepository<UserMissionPoint, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserMissionPoint>
fun findByUserAndEventId(userData: UserData, eventId: Int): Optional<UserMissionPoint>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserMusicDetailRepository")
interface UserMusicDetailRepository : JpaRepository<UserMusicDetail, Long>,
GenericUserMusicRepo<UserMusicDetail> {
fun findByUser_Card_ExtId(userId: Long): List<UserMusicDetail>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserMusicDetail>
fun findByUser_Card_ExtIdAndMusicId(userId: Long, id: Int): List<UserMusicDetail>
fun findByUserAndMusicIdAndLevel(userData: UserData, musicId: Int, level: Int): Optional<UserMusicDetail>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserMusicItemRepository")
interface UserMusicItemRepository : JpaRepository<UserMusicItem, Long> {
fun findByUser_Card_ExtId(aimeId: Long): List<UserMusicItem>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserMusicItem>
fun findByUserAndMusicId(userData: UserData, musicId: Int): Optional<UserMusicItem>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserOptionRepository")
interface UserOptionRepository : JpaRepository<UserOption, Long> {
fun findByUser(userData: UserData): Optional<UserOption>
fun findByUser_Card_ExtId(userId: Long): Optional<UserOption>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserPlaylogRepository")
interface UserPlaylogRepository : GenericPlaylogRepo<UserPlaylog> {
fun findByUser_Card_ExtId(userId: Long): List<UserPlaylog>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserPlaylog>
fun findByUser_Card_ExtIdAndMusicIdAndLevel(userId: Long, musicId: Int, level: Int): List<UserPlaylog>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserRivalDataRepository")
interface UserRivalDataRepository : JpaRepository<UserRival, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserRival>
@Transactional
fun removeByUser_Card_ExtIdAndRivalUserExtId(userId: Long, rivalUserId: Long)
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserScenarioRepository")
interface UserScenarioRepository : JpaRepository<UserScenario, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserScenario>
fun findByUserAndScenarioId(user: UserData, scenarioId: Int): Optional<UserScenario>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserStoryRepository")
interface UserStoryRepository : JpaRepository<UserStory, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserStory>
fun findByUserAndStoryId(userData: UserData, storyId: Int): Optional<UserStory>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserTechCountRepository")
interface UserTechCountRepository : JpaRepository<UserTechCount, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserTechCount>
fun findByUserAndLevelId(user: UserData, levelId: Int): Optional<UserTechCount>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserTechEventRepository")
interface UserTechEventRepository : JpaRepository<UserTechEvent, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserTechEvent>
fun findByUserAndEventId(userData: UserData, eventId: Int): Optional<UserTechEvent>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserTradeItemRepository")
interface UserTradeItemRepository : JpaRepository<UserTradeItem, Long> {
fun findByUser_Card_ExtId(userId: Long): List<UserTradeItem>
fun findByUser_Card_ExtIdAndChapterIdGreaterThanEqualAndChapterIdLessThanEqual(
userId: Long,
startChapterId: Int,
endChapterId: Int
): List<UserTradeItem>
fun findByUserAndChapterIdAndTradeItemId(
userData: UserData,
chapterId: Int,
tradeItemId: Int
): Optional<UserTradeItem>
@Transactional
fun deleteByUser(user: UserData)
}
@Repository("OngekiUserTrainingRoomRepository")
interface UserTrainingRoomRepository : JpaRepository<UserTrainingRoom, Long> {
fun findByUserAndRoomId(user: UserData, roomId: Int): Optional<UserTrainingRoom>
fun findByUser_Card_ExtId(userId: Long): List<UserTrainingRoom>
@Transactional
fun deleteByUser(user: UserData)
}

View File

@@ -1,26 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserActivity;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData;
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("OngekiUserActivityRepository")
public interface UserActivityRepository extends JpaRepository<UserActivity, Long> {
List<UserActivity> findByUser_Card_ExtId(long userId);
Optional<UserActivity> findByUserAndKindAndActivityId(UserData userData, int kind, int activityId);
List<UserActivity> findByUser_Card_ExtIdAndKindOrderBySortNumberDesc(long userId, int kind);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,25 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserBoss;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData;
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("OngekiUserBossRepository")
public interface UserBossRepository extends JpaRepository<UserBoss, Long> {
List<UserBoss> findByUser_Card_ExtId(long userId);
Optional<UserBoss> findByUserAndMusicId(UserData user, int musicId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,30 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserCard;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData;
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("OngekiUserCardRepository")
public interface UserCardRepository extends JpaRepository<UserCard, Long> {
Optional<UserCard> findByUserAndCardId(UserData userData, int cardId);
Optional<UserCard> findByUser_Card_ExtIdAndCardId(long userId, int cardId);
List<UserCard> findByUser_Card_ExtId(long userId);
Page<UserCard> findByUser_Card_ExtId(long userId, Pageable page);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,24 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserChapter;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData;
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("OngekiUserChapterRepository")
public interface UserChapterRepository extends JpaRepository<UserChapter, Long> {
List<UserChapter> findByUser_Card_ExtId(long userId);
Optional<UserChapter> findByUserAndChapterId(UserData userData, int chapterId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,28 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserCharacter;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData;
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("OngekiUserCharacterRepository")
public interface UserCharacterRepository extends JpaRepository<UserCharacter, Long> {
List<UserCharacter> findByUser_Card_ExtId(long userId);
Page<UserCharacter> findByUser_Card_ExtId(long userId, Pageable page);
Optional<UserCharacter> findByUserAndCharacterId(UserData userData, int characterId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,18 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata
import icu.samnyan.aqua.net.games.GenericUserDataRepo
import icu.samnyan.aqua.sega.general.model.Card
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData
import org.springframework.stereotype.Repository
import org.springframework.transaction.annotation.Transactional
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Repository("OngekiUserDataRepository")
interface UserDataRepository : GenericUserDataRepo<UserData> {
fun findByCard_ExtIdIn(userIds: Collection<Long>): List<UserData>
@Transactional
fun deleteByCard(card: Card)
}

View File

@@ -1,24 +0,0 @@
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.UserDeck;
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("OngekiUserDeckRepository")
public interface UserDeckRepository extends JpaRepository<UserDeck, Long> {
List<UserDeck> findByUser_Card_ExtId(long userId);
Optional<UserDeck> findByUserAndDeckId(UserData userData, int deckId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,24 +0,0 @@
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.UserEventMusic;
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("OngekiUserEventMusicRepository")
public interface UserEventMusicRepository extends JpaRepository<UserEventMusic, Long> {
List<UserEventMusic> findByUser_Card_ExtId(long userId);
Optional<UserEventMusic> findByUserAndEventIdAndTypeAndMusicId(UserData userData, int eventId, int type, int musicId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,29 +0,0 @@
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 org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
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("OngekiUserEventPointRepository")
public interface UserEventPointRepository extends JpaRepository<UserEventPoint, Long> {
List<UserEventPoint> findByUser_Card_ExtId(long userId);
Optional<UserEventPoint> findByUserAndEventId(UserData userData, int eventId);
@Transactional
void deleteByUser(UserData user);
//@Query(value = "SELECT rank from (SELECT user_id , DENSE_RANK() OVER (ORDER BY point DESC) as rank from ongeki_user_event_point where event_id = :eventId) where user_id == :userId limit 1", nativeQuery = true)
@Query("SELECT COUNT(u)+1 FROM OngekiUserEventPoint u WHERE u.eventId = :eventId AND u.point > (SELECT u2.point FROM OngekiUserEventPoint u2 WHERE u2.user.id = :userId AND u2.eventId = :eventId)")
int calculateRankByUserAndEventId(long userId, int eventId);
}

View File

@@ -1,26 +0,0 @@
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.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("OngekiUserGeneralDataRepository")
public interface UserGeneralDataRepository extends JpaRepository<UserGeneralData, Long> {
List<UserGeneralData> findByUser_Card_ExtId(long userId);
Optional<UserGeneralData> findByUserAndPropertyKey(UserData user, String key);
Optional<UserGeneralData> findByUser_Card_ExtIdAndPropertyKey(long userId, String key);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,30 +0,0 @@
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.UserItem;
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("OngekiUserItemRepository")
public interface UserItemRepository extends JpaRepository<UserItem, Long> {
List<UserItem> findByUser_Card_ExtId(long userId);
Page<UserItem> findByUser_Card_ExtId(long userId, Pageable page);
Optional<UserItem> findByUserAndItemKindAndItemId(UserData userData, int itemKind, int itemId);
Page<UserItem> findByUser_Card_ExtIdAndItemKind(long userId, int kind, Pageable page);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,24 +0,0 @@
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.UserKop;
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("OngekiUserKopRepository")
public interface UserKopRepository extends JpaRepository<UserKop, Long> {
List<UserKop> findByUser_Card_ExtId(long userId);
Optional<UserKop> findByUserAndKopIdAndAreaId(UserData userData, int kopId, int areaId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,22 +0,0 @@
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.UserLoginBonus;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Optional;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
public interface UserLoginBonusRepository extends JpaRepository<UserLoginBonus, Long> {
List<UserLoginBonus> findByUser_Card_ExtId(long userId);
Optional<UserLoginBonus> findByUserAndBonusId(UserData userData, int bonusId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,24 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserMemoryChapter;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData;
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("OngekiUserMemoryChapterRepository")
public interface UserMemoryChapterRepository extends JpaRepository<UserMemoryChapter, Long> {
List<UserMemoryChapter> findByUser_Card_ExtId(long userId);
Optional<UserMemoryChapter> findByUserAndChapterId(UserData userData, int chapterId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,24 +0,0 @@
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.UserMissionPoint;
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("OngekiUserMissionPointRepository")
public interface UserMissionPointRepository extends JpaRepository<UserMissionPoint, Long> {
List<UserMissionPoint> findByUser_Card_ExtId(long userId);
Optional<UserMissionPoint> findByUserAndEventId(UserData userData, int eventId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,31 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata;
import icu.samnyan.aqua.net.games.GenericUserMusicRepo;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData;
import icu.samnyan.aqua.sega.ongeki.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("OngekiUserMusicDetailRepository")
public interface UserMusicDetailRepository extends JpaRepository<UserMusicDetail, Long>, GenericUserMusicRepo<UserMusicDetail> {
List<UserMusicDetail> findByUser_Card_ExtId(long userId);
Page<UserMusicDetail> findByUser_Card_ExtId(long userId, Pageable page);
List<UserMusicDetail> findByUser_Card_ExtIdAndMusicId(long userId, int id);
Optional<UserMusicDetail> findByUserAndMusicIdAndLevel(UserData userData, int musicId, int level);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,28 +0,0 @@
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.UserMusicItem;
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("OngekiUserMusicItemRepository")
public interface UserMusicItemRepository extends JpaRepository<UserMusicItem, Long> {
List<UserMusicItem> findByUser_Card_ExtId(long aimeId);
Page<UserMusicItem> findByUser_Card_ExtId(long userId, Pageable page);
Optional<UserMusicItem> findByUserAndMusicId(UserData userData, int musicId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,23 +0,0 @@
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.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("OngekiUserOptionRepository")
public interface UserOptionRepository extends JpaRepository<UserOption, Long> {
Optional<UserOption> findByUser(UserData userData);
Optional<UserOption> findByUser_Card_ExtId(long userId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,24 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata
import icu.samnyan.aqua.net.games.GenericPlaylogRepo
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.stereotype.Repository
import org.springframework.transaction.annotation.Transactional
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Repository("OngekiUserPlaylogRepository")
interface UserPlaylogRepository : GenericPlaylogRepo<UserPlaylog> {
fun findByUser_Card_ExtId(userId: Long): List<UserPlaylog>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserPlaylog>
fun findByUser_Card_ExtIdAndMusicIdAndLevel(userId: Long, musicId: Int, level: Int): List<UserPlaylog>
@Transactional
fun deleteByUser(user: UserData)
}

View File

@@ -1,24 +0,0 @@
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.UserRival;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @author dp (privateamusement@protonmail.com)
*/
@Repository("OngekiUserRivalDataRepository")
public interface UserRivalDataRepository extends JpaRepository<UserRival, Long> {
List<UserRival> findByUser_Card_ExtId(long userId);
@Transactional
void removeByUser_Card_ExtIdAndRivalUserExtId(long userId,long rivalUserId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,25 +0,0 @@
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.UserScenario;
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("OngekiUserScenarioRepository")
public interface UserScenarioRepository extends JpaRepository<UserScenario, Long> {
List<UserScenario> findByUser_Card_ExtId(long userId);
Optional<UserScenario> findByUserAndScenarioId(UserData user, int scenarioId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,24 +0,0 @@
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.UserStory;
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("OngekiUserStoryRepository")
public interface UserStoryRepository extends JpaRepository<UserStory, Long> {
List<UserStory> findByUser_Card_ExtId(long userId);
Optional<UserStory> findByUserAndStoryId(UserData userData, int storyId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,25 +0,0 @@
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.UserTechCount;
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("OngekiUserTechCountRepository")
public interface UserTechCountRepository extends JpaRepository<UserTechCount, Long> {
List<UserTechCount> findByUser_Card_ExtId(long userId);
Optional<UserTechCount> findByUserAndLevelId(UserData user, int levelId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,24 +0,0 @@
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.UserTechEvent;
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("OngekiUserTechEventRepository")
public interface UserTechEventRepository extends JpaRepository<UserTechEvent, Long> {
List<UserTechEvent> findByUser_Card_ExtId(long userId);
Optional<UserTechEvent> findByUserAndEventId(UserData userData, int eventId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,26 +0,0 @@
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.UserTradeItem;
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("OngekiUserTradeItemRepository")
public interface UserTradeItemRepository extends JpaRepository<UserTradeItem, Long> {
List<UserTradeItem> findByUser_Card_ExtId(long userId);
List<UserTradeItem> findByUser_Card_ExtIdAndChapterIdGreaterThanEqualAndChapterIdLessThanEqual(long userId, int startChapterId, int endChapterId);
Optional<UserTradeItem> findByUserAndChapterIdAndTradeItemId(UserData userData, int chapterId, int tradeItemId);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -1,24 +0,0 @@
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.UserTrainingRoom;
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("OngekiUserTrainingRoomRepository")
public interface UserTrainingRoomRepository extends JpaRepository<UserTrainingRoom, Long> {
Optional<UserTrainingRoom> findByUserAndRoomId(UserData user, int roomId);
List<UserTrainingRoom> findByUser_Card_ExtId(long userId);
@Transactional
void deleteByUser(UserData user);
}