[M] Rename database fields

This commit is contained in:
Azalea
2024-03-29 00:47:54 -04:00
parent abc21badb1
commit 26a72244c0
9 changed files with 57 additions and 63 deletions

View File

@@ -1,5 +1,6 @@
package icu.samnyan.aqua.sega.wacca.model.db
import icu.samnyan.aqua.net.games.GenericPlaylogRepo
import jakarta.transaction.Transactional
import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.data.jpa.repository.Query
@@ -31,11 +32,11 @@ interface WcUserItemRepo : IWaccaUserLinked<WcUserItem> {
fun findByUserAndItemIdAndType(user: WaccaUser, itemId: Int, type: Int): WcUserItem?
}
interface WcUserBestScoreRepo : IWaccaUserLinked<WcUserScore> {
fun findByUserAndSongIdAndDifficulty(user: WaccaUser, songId: Int, difficulty: Int): WcUserScore?
@Query("SELECT SUM(score) FROM WcUserScore WHERE user = :user")
fun findByUserAndMusicIdAndLevel(user: WaccaUser, songId: Int, level: Int): WcUserScore?
@Query("SELECT SUM(achievement) FROM WcUserScore WHERE user = :user")
fun sumScoreByUser(user: WaccaUser): Long
}
interface WcUserPlayLogRepo : IWaccaUserLinked<WcUserPlayLog>
interface WcUserPlayLogRepo : IWaccaUserLinked<WcUserPlayLog>, GenericPlaylogRepo<WcUserPlayLog>
interface WcUserStageUpRepo : IWaccaUserLinked<WcUserStageUp>
@Component

View File

@@ -3,6 +3,7 @@ package icu.samnyan.aqua.sega.wacca.model.db
import com.fasterxml.jackson.annotation.JsonIgnore
import ext.*
import icu.samnyan.aqua.net.games.BaseEntity
import icu.samnyan.aqua.net.games.IGenericGamePlaylog
import icu.samnyan.aqua.sega.general.IntegerListConverter
import icu.samnyan.aqua.sega.wacca.WaccaItemType
import icu.samnyan.aqua.sega.wacca.WaccaItemType.*
@@ -90,11 +91,11 @@ class WcUserItem(
infix fun isType(t: WaccaItemType) = type == t()
}
@Entity @Table(name = "wacca_user_score", uniqueConstraints = [UC("", ["user_id", "song_id", "chart_id"])])
@Entity @Table(name = "wacca_user_score", uniqueConstraints = [UC("", ["user_id", "music_id", "level"])])
class WcUserScore : WaccaUserEntity() {
var songId = 0
var difficulty = 0 // aka difficulty
var score = 0
var musicId = 0
var level = 0 // aka difficulty
var achievement = 0
@Convert(converter = IntegerListConverter::class)
var clears: MutableList<Int> = mutableListOf(0, 0, 0, 0, 0) // Played, Clear, Full Combo, Missless, All Marv
@@ -105,37 +106,39 @@ class WcUserScore : WaccaUserEntity() {
var lowestMissCt = Int.MAX_VALUE
var rating = 0
fun ls() = ls(songId, difficulty, clears, clears, grades, score, bestCombo, lowestMissCt, 1, rating)
fun lsMusicUpdate() = ls(songId, difficulty, clears, clears, grades, score, lowestMissCt, 0, 1, rating)
fun ls() = ls(musicId, level, clears, clears, grades, achievement, bestCombo, lowestMissCt, 1, rating)
fun lsMusicUpdate() = ls(musicId, level, clears, clears, grades, achievement, lowestMissCt, 0, 1, rating)
}
@Entity @Table(name = "wacca_user_playlog", uniqueConstraints = [UC("", ["user_id", "song_id", "chart_id", "date_scored"])])
class WcUserPlayLog : WaccaUserEntity() {
var songId = 0
var difficulty = 0
var level = 0.0
var score = 0
@Entity @Table(name = "wacca_user_playlog", uniqueConstraints = [UC("", ["user_id", "music_id", "level", "user_play_date"])])
class WcUserPlayLog : WaccaUserEntity(), IGenericGamePlaylog {
override var musicId = 0
override var level = 0
var levelConst = 0.0
override var achievement = 0
@Convert(converter = IntegerListConverter::class)
var judgements: MutableList<Int> = mutableListOf(0, 0, 0, 0) // Marv, Great, Good, Miss
var maxCombo = 0
override var maxCombo = 0
var grade = 0
var clear = false
var missless = false
var fullCombo = false
var allMarv = false
var isClear = false
var isMissless = false
override var isFullCombo = false
override var isAllPerfect = false
var giveUp = false
var skillPt = 0
var fastCt = 0
var lateCt = 0
var newRecord = false
override var beforeRating = 0
override var afterRating = 0
@Temporal(TemporalType.TIMESTAMP)
var dateScored = Date()
override var userPlayDate = Date()
fun clears() = ls(1, +clear, +fullCombo, +missless, +allMarv)
fun clears() = ls(1, +isClear, +isFullCombo, +isMissless, +isAllPerfect)
companion object {
val keys = ls("songId", "difficulty", "level", "score", "judgements", "maxCombo", "grade", "clear", "missless", "fullCombo", "allMarv", "giveUp", "skillPt", "fastCt", "lateCt", "newRecord")
val keys = ls("musicId", "level", "levelConst", "achievement", "judgements", "maxCombo", "grade", "clear", "missless", "isFullCombo", "isAllPerfect", "giveUp", "skillPt", "fastCt", "lateCt", "newRecord")
fun parse(l: List<*>) = JACKSON.parse<WcUserPlayLog>(keys.zip(l).toMap())
}
}