[api] Add maimai2 API

This commit is contained in:
Dom Eori
2022-11-18 18:36:56 +09:00
parent 8cb5211ed0
commit 8ab972c5b3
21 changed files with 686 additions and 1 deletions

View File

@@ -3,21 +3,28 @@ 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<MapEncountNpc, Long> {
List<MapEncountNpc> findByUser_Card_ExtId(long userId);
Optional<MapEncountNpc> findByUserAndMusicId(UserDetail user, int musicId);
Page<MapEncountNpc> findByUser_Card_ExtIdAndMusicId(long userId, int musicId, Pageable page);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -4,6 +4,7 @@ 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;
@@ -14,7 +15,13 @@ import java.util.Optional;
@Repository("Maimai2UserActRepository")
public interface UserActRepository extends JpaRepository<UserAct, Long> {
List<UserAct> findByUser_Card_ExtId(long userId);
Optional<UserAct> findByUserAndKindAndActivityId(UserDetail user, int kind, int id);
List<UserAct> findByUser_Card_ExtIdAndKind(long userId, int kind);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -2,8 +2,12 @@ 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;
@@ -16,6 +20,11 @@ public interface UserCharacterRepository extends JpaRepository<UserCharacter, Lo
List<UserCharacter> findByUser_Card_ExtId(long userId);
Page<UserCharacter> findByUser_Card_ExtId(long userId, Pageable page);
Optional<UserCharacter> findByUserAndCharacterId(UserDetail user, int characterId);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -4,6 +4,7 @@ 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;
@@ -16,4 +17,7 @@ public interface UserChargeRepository extends JpaRepository<UserCharge, Long> {
List<UserCharge> findByUser_Card_ExtId(Long extId);
Optional<UserCharge> findByUserAndChargeId(UserDetail extId, int chargeId);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -7,7 +7,9 @@ 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;
/**
@@ -16,7 +18,12 @@ import java.util.Optional;
@Repository("Maimai2UserCourseRepository")
public interface UserCourseRepository extends JpaRepository<UserCourse, Long> {
List<UserCourse> findByUser_Card_ExtId(long userId);
Optional<UserCourse> findByUserAndCourseId(UserDetail user, int courseId);
Page<UserCourse> findByUser_Card_ExtId(long userId, Pageable page);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -1,8 +1,10 @@
package icu.samnyan.aqua.sega.maimai2.dao.userdata;
import icu.samnyan.aqua.sega.general.model.Card;
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.Optional;
@@ -11,5 +13,11 @@ import java.util.Optional;
*/
@Repository("Maimai2UserDataRepository")
public interface UserDataRepository extends JpaRepository<UserDetail, Long> {
Optional<UserDetail> findByCard(Card card);
Optional<UserDetail> findByCard_ExtId(long userId);
@Transactional
void deleteByCard(Card card);
}

View File

@@ -4,6 +4,7 @@ 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;
@@ -16,4 +17,7 @@ public interface UserExtendRepository extends JpaRepository<UserExtend, Long> {
Optional<UserExtend> findByUser(UserDetail user);
Optional<UserExtend> findByUser_Card_ExtId(Long extId);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -4,6 +4,7 @@ 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;
@@ -14,8 +15,13 @@ import java.util.Optional;
@Repository("Maimai2UserFavoriteRepository")
public interface UserFavoriteRepository extends JpaRepository<UserFavorite, Long> {
List<UserFavorite> findByUser_Card_ExtId(long userId);
Optional<UserFavorite> findByUserAndItemKind(UserDetail user, int kind);
//Optional<UserFavorite> findByUserIdAndItemKind(long userId, int kind);
List<UserFavorite> findByUserIdAndItemKind(long userId, int kind);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -7,7 +7,9 @@ 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;
/**
@@ -16,7 +18,12 @@ import java.util.Optional;
@Repository("Maimai2UserFriendSeasonRankingRepository")
public interface UserFriendSeasonRankingRepository extends JpaRepository<UserFriendSeasonRanking, Long> {
List<UserFriendSeasonRanking> findByUser_Card_ExtId(long userId);
Optional<UserFriendSeasonRanking> findByUserAndSeasonId(UserDetail user, int seasonId);
Page<UserFriendSeasonRanking> findByUser_Card_ExtId(long userId, Pageable page);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -3,12 +3,14 @@ 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)
@@ -16,8 +18,15 @@ import org.springframework.stereotype.Repository;
@Repository("Maimai2UserItemRepository")
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(UserDetail user, int itemKind, int itemId);
Page<UserItem> findByUser_Card_ExtIdAndItemKind(long userId, int kind, Pageable page);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -3,12 +3,14 @@ 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)
@@ -16,8 +18,13 @@ import org.springframework.stereotype.Repository;
@Repository("Maimai2UserLoginBonusRepository")
public interface UserLoginBonusRepository extends JpaRepository<UserLoginBonus, Long> {
List<UserLoginBonus> findByUser_Card_ExtId(long userId);
Optional<UserLoginBonus> findByUserAndBonusId(UserDetail user, int bonusId);
Page<UserLoginBonus> findByUser_Card_ExtId(long userId, Pageable page);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -3,12 +3,14 @@ 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)
@@ -16,8 +18,13 @@ import org.springframework.stereotype.Repository;
@Repository("Maimai2UserMapRepository")
public interface UserMapRepository extends JpaRepository<UserMap, Long> {
List<UserMap> findByUser_Card_ExtId(long userId);
Optional<UserMap> findByUserAndMapId(UserDetail user, int mapId);
Page<UserMap> findByUser_Card_ExtId(long userId, Pageable page);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -7,7 +7,9 @@ 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;
/**
@@ -16,7 +18,15 @@ import java.util.Optional;
@Repository("Maimai2UserMusicDetailRepository")
public interface UserMusicDetailRepository extends JpaRepository<UserMusicDetail, Long> {
Optional<UserMusicDetail> findByUserAndMusicIdAndLevel(UserDetail user, int musicId, int level);
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(UserDetail user, int musicId, int level);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -4,6 +4,7 @@ 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;
@@ -16,4 +17,7 @@ public interface UserOptionRepository extends JpaRepository<UserOption, Long> {
Optional<UserOption> findByUser(UserDetail user);
Optional<UserOption> findByUser_Card_ExtId(Long extId);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -1,8 +1,15 @@
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.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)
@@ -10,4 +17,13 @@ import org.springframework.stereotype.Repository;
@Repository("Maimai2UserPlaylogRepository")
public interface UserPlaylogRepository extends JpaRepository<UserPlaylog, Long> {
List<UserPlaylog> findByUser_Card_ExtId(long userId);
Page<UserPlaylog> findByUser_Card_ExtId(long userId, Pageable page);
List<UserPlaylog> findByUser_Card_ExtIdAndMusicIdAndLevel(long userId, int musicId, int level);
@Transactional
void deleteByUser(UserDetail user);
}

View File

@@ -4,6 +4,7 @@ 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;
@@ -16,4 +17,7 @@ public interface UserUdemaeRepository extends JpaRepository<UserUdemae, Long> {
Optional<UserUdemae> findByUser(UserDetail user);
Optional<UserUdemae> findByUser_Card_ExtId(Long extId);
@Transactional
void deleteByUser(UserDetail user);
}