mirror of https://github.com/hykilpikonna/AquaDX
[O] Unify item interface
parent
8a1d2383b8
commit
571591f021
|
@ -46,7 +46,7 @@ enum class WaccaItemType(val type: Int) {
|
||||||
TOUCH_EFFECT(17);
|
TOUCH_EFFECT(17);
|
||||||
|
|
||||||
operator fun invoke() = type
|
operator fun invoke() = type
|
||||||
operator fun invoke(u: WaccaUser, id: Int) = WcUserItem(u, id, this)
|
operator fun invoke(u: WaccaUser, id: Int) = WcUserItem(id, this()).apply { user = u }
|
||||||
}
|
}
|
||||||
|
|
||||||
enum class WaccaOptionType(val id: Int, val default: Int) {
|
enum class WaccaOptionType(val id: Int, val default: Int) {
|
||||||
|
|
|
@ -23,9 +23,6 @@ interface WcUserFriendRepo : IWaccaUserLinked<WcUserFriend>
|
||||||
interface WcUserFavoriteSongRepo : IWaccaUserLinked<WcUserFavoriteSong>
|
interface WcUserFavoriteSongRepo : IWaccaUserLinked<WcUserFavoriteSong>
|
||||||
interface WcUserGateRepo : IWaccaUserLinked<WcUserGate>
|
interface WcUserGateRepo : IWaccaUserLinked<WcUserGate>
|
||||||
interface WcUserItemRepo : IWaccaUserLinked<WcUserItem>
|
interface WcUserItemRepo : IWaccaUserLinked<WcUserItem>
|
||||||
interface WcUserTicketRepo : IWaccaUserLinked<WcUserTicket>
|
|
||||||
interface WcUserSongUnlockRepo : IWaccaUserLinked<WcUserSongUnlock>
|
|
||||||
interface WcUserTrophyRepo : IWaccaUserLinked<WcUserTrophy>
|
|
||||||
interface WcUserBestScoreRepo : IWaccaUserLinked<WcUserScore>
|
interface WcUserBestScoreRepo : IWaccaUserLinked<WcUserScore>
|
||||||
interface WcUserPlayLogRepo : IWaccaUserLinked<WcUserPlayLog>
|
interface WcUserPlayLogRepo : IWaccaUserLinked<WcUserPlayLog>
|
||||||
interface WcUserStageUpRepo : IWaccaUserLinked<WcUserStageUp>
|
interface WcUserStageUpRepo : IWaccaUserLinked<WcUserStageUp>
|
||||||
|
@ -39,9 +36,6 @@ class WaccaRepos(
|
||||||
val favoriteSong: WcUserFavoriteSongRepo,
|
val favoriteSong: WcUserFavoriteSongRepo,
|
||||||
val gate: WcUserGateRepo,
|
val gate: WcUserGateRepo,
|
||||||
val item: WcUserItemRepo,
|
val item: WcUserItemRepo,
|
||||||
val ticket: WcUserTicketRepo,
|
|
||||||
val songUnlock: WcUserSongUnlockRepo,
|
|
||||||
val trophy: WcUserTrophyRepo,
|
|
||||||
val bestScore: WcUserBestScoreRepo,
|
val bestScore: WcUserBestScoreRepo,
|
||||||
val playLog: WcUserPlayLogRepo,
|
val playLog: WcUserPlayLogRepo,
|
||||||
val stageUp: WcUserStageUpRepo
|
val stageUp: WcUserStageUpRepo
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
package icu.samnyan.aqua.sega.wacca.model.db
|
package icu.samnyan.aqua.sega.wacca.model.db
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore
|
import com.fasterxml.jackson.annotation.JsonIgnore
|
||||||
|
import ext.ls
|
||||||
import icu.samnyan.aqua.net.games.BaseEntity
|
import icu.samnyan.aqua.net.games.BaseEntity
|
||||||
import icu.samnyan.aqua.sega.wacca.WaccaItemType
|
import icu.samnyan.aqua.sega.wacca.WaccaItemType
|
||||||
|
import icu.samnyan.aqua.sega.wacca.WaccaItemType.*
|
||||||
import jakarta.persistence.*
|
import jakarta.persistence.*
|
||||||
|
|
||||||
typealias UC = UniqueConstraint
|
typealias UC = UniqueConstraint
|
||||||
|
@ -38,7 +40,7 @@ class WcUserBingo : WaccaUserEntity() {
|
||||||
*/
|
*/
|
||||||
@Entity @Table(name = "wacca_friend", uniqueConstraints = [UC("", ["user_id", "with"])])
|
@Entity @Table(name = "wacca_friend", uniqueConstraints = [UC("", ["user_id", "with"])])
|
||||||
class WcUserFriend : WaccaUserEntity() {
|
class WcUserFriend : WaccaUserEntity() {
|
||||||
@ManyToOne @JoinColumn(name = "profile_reciever")
|
@ManyToOne @JoinColumn(name = "with")
|
||||||
var with: WaccaUser = WaccaUser()
|
var with: WaccaUser = WaccaUser()
|
||||||
var isAccepted = false
|
var isAccepted = false
|
||||||
}
|
}
|
||||||
|
@ -55,40 +57,37 @@ class WcUserGate : WaccaUserEntity() {
|
||||||
var page = 0
|
var page = 0
|
||||||
var progress = 0
|
var progress = 0
|
||||||
var loops = 0
|
var loops = 0
|
||||||
|
@Temporal(TemporalType.TIMESTAMP)
|
||||||
|
var lastUsed = 0
|
||||||
var missionFlag = 0
|
var missionFlag = 0
|
||||||
var totalPoints = 0
|
var totalPoints = 0
|
||||||
|
|
||||||
|
fun ls() = ls(gateId, page, progress, loops, lastUsed, missionFlag)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Entity @Table(name = "wacca_user_item", uniqueConstraints = [UC("", ["user_id", "item_id", "type"])])
|
@Entity @Table(name = "wacca_user_item", uniqueConstraints = [UC("", ["user_id", "item_id", "type"])])
|
||||||
class WcUserItem() : WaccaUserEntity() {
|
class WcUserItem(
|
||||||
var itemId = 0
|
var type: Int = 0,
|
||||||
var type = 0
|
|
||||||
var acquireDate = ""
|
|
||||||
var useCount = 0
|
|
||||||
|
|
||||||
constructor(u: WaccaUser, id: Int, typ: WaccaItemType) : this() { user = u; itemId = id; type = typ() }
|
// Item prop represents different things based on the item type
|
||||||
}
|
var itemId: Int = 0,
|
||||||
|
var p1: Long = 0L,
|
||||||
|
var p2: Long = 0L,
|
||||||
|
var p3: Long = 0L
|
||||||
|
) : WaccaUserEntity() {
|
||||||
|
fun ls() = when (type) {
|
||||||
|
MUSIC_UNLOCK() -> ls(itemId, p1, p2, p3) // songId, diff, acquireDate, unlockDate
|
||||||
|
ICON() -> ls(itemId, type, p1, p2) // id, type, uses, acquiredDate
|
||||||
|
TROPHY() -> ls(itemId, p1, p2, p3) // id, season, progress, badgeType
|
||||||
|
SKILL() -> ls(itemId, p1, p2, p3) // skillType, level, flag, badge
|
||||||
|
TICKET() -> ls(id, itemId, p1) // userTicketId, ticketId, expire
|
||||||
|
NAVIGATOR() -> ls(itemId, type, p1, p2, p3) // id, type, acquiredDate, uses, usesToday
|
||||||
|
|
||||||
@Entity @Table(name = "wacca_user_ticket", uniqueConstraints = [UC("", ["user_id", "ticket_id"])])
|
// Generic: title, note colors, note sounds, plates, touch effects
|
||||||
class WcUserTicket : WaccaUserEntity() {
|
else -> ls(itemId, type, p1)
|
||||||
var ticketId = 0
|
}
|
||||||
var acquireDate = ""
|
|
||||||
var expireDate = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity @Table(name = "wacca_user_song_unlock", uniqueConstraints = [UC("", ["user_id", "song_id"])])
|
infix fun isType(t: WaccaItemType) = type == t()
|
||||||
class WcUserSongUnlock : WaccaUserEntity() {
|
|
||||||
var songId = 0
|
|
||||||
var highestDifficulty = 0
|
|
||||||
var acquireDate = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity @Table(name = "wacca_user_trophy", uniqueConstraints = [UC("", ["user_id", "trophy_id", "season"])])
|
|
||||||
class WcUserTrophy : WaccaUserEntity() {
|
|
||||||
var trophyId = 0
|
|
||||||
var season = 0
|
|
||||||
var progress = 0
|
|
||||||
var badgeType = 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Entity @Table(name = "wacca_user_score", uniqueConstraints = [UC("", ["user_id", "song_id", "chart_id"])])
|
@Entity @Table(name = "wacca_user_score", uniqueConstraints = [UC("", ["user_id", "song_id", "chart_id"])])
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
ALTER TABLE wacca_user_song_unlock
|
||||||
|
DROP FOREIGN KEY fku_wacca_user_song_unlock;
|
||||||
|
|
||||||
|
ALTER TABLE wacca_user_ticket
|
||||||
|
DROP FOREIGN KEY fku_wacca_user_ticket;
|
||||||
|
|
||||||
|
ALTER TABLE wacca_user_trophy
|
||||||
|
DROP FOREIGN KEY fku_wacca_user_trophy;
|
||||||
|
|
||||||
|
DROP TABLE maimai2_game_ticket;
|
||||||
|
|
||||||
|
DROP TABLE wacca_user_song_unlock;
|
||||||
|
|
||||||
|
DROP TABLE wacca_user_ticket;
|
||||||
|
|
||||||
|
DROP TABLE wacca_user_trophy;
|
||||||
|
|
||||||
|
ALTER TABLE wacca_user_gate
|
||||||
|
ADD last_used datetime NOT NULL;
|
||||||
|
|
||||||
|
ALTER TABLE wacca_user_item
|
||||||
|
ADD p1 BIGINT NOT NULL;
|
||||||
|
|
||||||
|
ALTER TABLE wacca_user_item
|
||||||
|
ADD p2 BIGINT NOT NULL;
|
||||||
|
|
||||||
|
ALTER TABLE wacca_user_item
|
||||||
|
ADD p3 BIGINT NOT NULL;
|
||||||
|
|
||||||
|
ALTER TABLE wacca_user_item
|
||||||
|
DROP COLUMN acquire_date;
|
||||||
|
|
||||||
|
ALTER TABLE wacca_user_item
|
||||||
|
DROP COLUMN use_count;
|
||||||
|
|
||||||
|
ALTER TABLE wacca_user
|
||||||
|
DROP COLUMN last_login_date;
|
||||||
|
|
||||||
|
ALTER TABLE wacca_user
|
||||||
|
DROP COLUMN vip_expire_time;
|
||||||
|
|
||||||
|
ALTER TABLE wacca_user
|
||||||
|
ADD last_login_date time NOT NULL;
|
||||||
|
|
||||||
|
ALTER TABLE wacca_user
|
||||||
|
ADD vip_expire_time time NOT NULL;
|
Loading…
Reference in New Issue