forked from Cookies_Github_mirror/AquaDX
[+] Generalize data import for chusan
This commit is contained in:
@@ -4,6 +4,7 @@ package icu.samnyan.aqua.sega.maimai2.model
|
||||
|
||||
import icu.samnyan.aqua.net.games.GenericPlaylogRepo
|
||||
import icu.samnyan.aqua.net.games.GenericUserDataRepo
|
||||
import icu.samnyan.aqua.net.games.IUserRepo
|
||||
import icu.samnyan.aqua.sega.general.model.Card
|
||||
import icu.samnyan.aqua.sega.maimai2.model.userdata.*
|
||||
import org.springframework.data.domain.Page
|
||||
@@ -16,8 +17,7 @@ import org.springframework.transaction.annotation.Transactional
|
||||
import java.util.*
|
||||
|
||||
@NoRepositoryBean
|
||||
interface UserLinked<T>: JpaRepository<T, Long> {
|
||||
fun findByUser(user: Mai2UserDetail): List<T>
|
||||
interface Mai2UserLinked<T>: JpaRepository<T, Long>, IUserRepo<Mai2UserDetail, T> {
|
||||
fun findSingleByUser(user: Mai2UserDetail): Optional<T>
|
||||
fun findByUser_Card_ExtId(userId: Long): List<T>
|
||||
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<T>
|
||||
@@ -26,25 +26,25 @@ interface UserLinked<T>: JpaRepository<T, Long> {
|
||||
fun deleteByUser(user: Mai2UserDetail)
|
||||
}
|
||||
|
||||
interface Mai2MapEncountNpcRepo : UserLinked<Mai2MapEncountNpc>
|
||||
interface Mai2MapEncountNpcRepo : Mai2UserLinked<Mai2MapEncountNpc>
|
||||
|
||||
interface Mai2UserActRepo : UserLinked<Mai2UserAct> {
|
||||
interface Mai2UserActRepo : Mai2UserLinked<Mai2UserAct> {
|
||||
fun findByUserAndKindAndActivityId(user: Mai2UserDetail, kind: Int, id: Int): Optional<Mai2UserAct>
|
||||
|
||||
fun findByUser_Card_ExtIdAndKind(userId: Long, kind: Int): List<Mai2UserAct>
|
||||
}
|
||||
|
||||
interface Mai2UserCardRepo : UserLinked<Mai2UserCard> {
|
||||
interface Mai2UserCardRepo : Mai2UserLinked<Mai2UserCard> {
|
||||
fun findByUserAndCardId(user: Mai2UserDetail, cardId: Int): Optional<Mai2UserCard>
|
||||
}
|
||||
|
||||
interface Mai2UserCharacterRepo : UserLinked<Mai2UserCharacter> {
|
||||
interface Mai2UserCharacterRepo : Mai2UserLinked<Mai2UserCharacter> {
|
||||
fun findByUserAndCharacterId(user: Mai2UserDetail, characterId: Int): Optional<Mai2UserCharacter>
|
||||
}
|
||||
|
||||
interface Mai2UserChargeRepo : UserLinked<Mai2UserCharge>
|
||||
interface Mai2UserChargeRepo : Mai2UserLinked<Mai2UserCharge>
|
||||
|
||||
interface Mai2UserCourseRepo : UserLinked<Mai2UserCourse> {
|
||||
interface Mai2UserCourseRepo : Mai2UserLinked<Mai2UserCourse> {
|
||||
fun findByUserAndCourseId(user: Mai2UserDetail, courseId: Int): Optional<Mai2UserCourse>
|
||||
}
|
||||
|
||||
@@ -56,54 +56,54 @@ interface Mai2UserDataRepo : GenericUserDataRepo<Mai2UserDetail> {
|
||||
fun deleteByCard(card: Card): Void
|
||||
}
|
||||
|
||||
interface Mai2UserExtendRepo : UserLinked<Mai2UserExtend>
|
||||
interface Mai2UserExtendRepo : Mai2UserLinked<Mai2UserExtend>
|
||||
|
||||
interface Mai2UserFavoriteRepo : UserLinked<Mai2UserFavorite> {
|
||||
interface Mai2UserFavoriteRepo : Mai2UserLinked<Mai2UserFavorite> {
|
||||
fun findByUserAndItemKind(user: Mai2UserDetail, kind: Int): Optional<Mai2UserFavorite>
|
||||
|
||||
fun findByUserIdAndItemKind(userId: Long, kind: Int): List<Mai2UserFavorite>
|
||||
}
|
||||
|
||||
interface Mai2UserFriendSeasonRankingRepo : UserLinked<Mai2UserFriendSeasonRanking> {
|
||||
interface Mai2UserFriendSeasonRankingRepo : Mai2UserLinked<Mai2UserFriendSeasonRanking> {
|
||||
fun findByUserAndSeasonId(user: Mai2UserDetail, seasonId: Int): Optional<Mai2UserFriendSeasonRanking>
|
||||
}
|
||||
|
||||
interface Mai2UserGeneralDataRepo : UserLinked<Mai2UserGeneralData> {
|
||||
interface Mai2UserGeneralDataRepo : Mai2UserLinked<Mai2UserGeneralData> {
|
||||
fun findByUserAndPropertyKey(user: Mai2UserDetail, key: String): Optional<Mai2UserGeneralData>
|
||||
|
||||
fun findByUser_Card_ExtIdAndPropertyKey(userId: Long, key: String): Optional<Mai2UserGeneralData>
|
||||
}
|
||||
|
||||
interface Mai2UserItemRepo : UserLinked<Mai2UserItem> {
|
||||
interface Mai2UserItemRepo : Mai2UserLinked<Mai2UserItem> {
|
||||
fun findByUserCardExtIdAndItemKind(userId: Long, kind: Int): List<Mai2UserItem>
|
||||
fun findByUserAndItemKindAndItemId(user: Mai2UserDetail, itemKind: Int, itemId: Int): Optional<Mai2UserItem>
|
||||
|
||||
fun findByUser_Card_ExtIdAndItemKind(userId: Long, kind: Int, page: Pageable): Page<Mai2UserItem>
|
||||
}
|
||||
|
||||
interface Mai2UserLoginBonusRepo : UserLinked<Mai2UserLoginBonus> {
|
||||
interface Mai2UserLoginBonusRepo : Mai2UserLinked<Mai2UserLoginBonus> {
|
||||
fun findByUserAndBonusId(user: Mai2UserDetail, bonusId: Int): Optional<Mai2UserLoginBonus>
|
||||
}
|
||||
|
||||
interface Mai2UserMapRepo : UserLinked<Mai2UserMap> {
|
||||
interface Mai2UserMapRepo : Mai2UserLinked<Mai2UserMap> {
|
||||
fun findByUserAndMapId(user: Mai2UserDetail, mapId: Int): Optional<Mai2UserMap>
|
||||
}
|
||||
|
||||
interface Mai2UserMusicDetailRepo : UserLinked<Mai2UserMusicDetail> {
|
||||
interface Mai2UserMusicDetailRepo : Mai2UserLinked<Mai2UserMusicDetail> {
|
||||
fun findByUser_Card_ExtIdAndMusicId(userId: Long, id: Int): List<Mai2UserMusicDetail>
|
||||
|
||||
fun findByUserAndMusicIdAndLevel(user: Mai2UserDetail, musicId: Int, level: Int): Optional<Mai2UserMusicDetail>
|
||||
}
|
||||
|
||||
interface Mai2UserOptionRepo : UserLinked<Mai2UserOption>
|
||||
interface Mai2UserOptionRepo : Mai2UserLinked<Mai2UserOption>
|
||||
|
||||
interface Mai2UserPlaylogRepo : GenericPlaylogRepo<Mai2UserPlaylog>, UserLinked<Mai2UserPlaylog> {
|
||||
interface Mai2UserPlaylogRepo : GenericPlaylogRepo<Mai2UserPlaylog>, Mai2UserLinked<Mai2UserPlaylog> {
|
||||
fun findByUser_Card_ExtIdAndMusicIdAndLevel(userId: Long, musicId: Int, level: Int): List<Mai2UserPlaylog>
|
||||
}
|
||||
|
||||
interface Mai2UserPrintDetailRepo : JpaRepository<Mai2UserPrintDetail, Long>
|
||||
|
||||
interface Mai2UserUdemaeRepo : UserLinked<Mai2UserUdemae>
|
||||
interface Mai2UserUdemaeRepo : Mai2UserLinked<Mai2UserUdemae>
|
||||
|
||||
interface Mai2GameChargeRepo : JpaRepository<Mai2GameCharge, Long>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonInclude
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize
|
||||
import icu.samnyan.aqua.net.games.BaseEntity
|
||||
import icu.samnyan.aqua.net.games.IGenericUserData
|
||||
import icu.samnyan.aqua.net.games.IUserData
|
||||
import icu.samnyan.aqua.sega.general.IntegerListConverter
|
||||
import icu.samnyan.aqua.sega.general.model.Card
|
||||
import icu.samnyan.aqua.sega.util.jackson.AccessCodeSerializer
|
||||
@@ -149,7 +149,7 @@ class Mai2UserDetail(
|
||||
// TODO: Make these non-nullable with default value
|
||||
var currentPlayCount: Int? = 0,
|
||||
var renameCredit: Int? = 0
|
||||
) : BaseEntity(), IGenericUserData {
|
||||
) : BaseEntity(), IUserData {
|
||||
@get:JsonIgnore
|
||||
override val totalScore: Long
|
||||
get() = totalDeluxscore
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder
|
||||
import icu.samnyan.aqua.net.games.BaseEntity
|
||||
import icu.samnyan.aqua.net.games.IGenericGamePlaylog
|
||||
import icu.samnyan.aqua.net.games.IUserEntity
|
||||
import icu.samnyan.aqua.sega.general.IntegerListConverter
|
||||
import jakarta.persistence.*
|
||||
import lombok.AllArgsConstructor
|
||||
@@ -15,11 +16,11 @@ import lombok.Data
|
||||
import lombok.NoArgsConstructor
|
||||
|
||||
@MappedSuperclass
|
||||
open class Mai2UserEntity : BaseEntity() {
|
||||
open class Mai2UserEntity : BaseEntity(), IUserEntity<Mai2UserDetail> {
|
||||
@JsonIgnore
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "user_id")
|
||||
open var user: Mai2UserDetail = Mai2UserDetail()
|
||||
override var user: Mai2UserDetail = Mai2UserDetail()
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user