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);
|
||||
|
||||
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) {
|
||||
|
|
|
@ -23,9 +23,6 @@ interface WcUserFriendRepo : IWaccaUserLinked<WcUserFriend>
|
|||
interface WcUserFavoriteSongRepo : IWaccaUserLinked<WcUserFavoriteSong>
|
||||
interface WcUserGateRepo : IWaccaUserLinked<WcUserGate>
|
||||
interface WcUserItemRepo : IWaccaUserLinked<WcUserItem>
|
||||
interface WcUserTicketRepo : IWaccaUserLinked<WcUserTicket>
|
||||
interface WcUserSongUnlockRepo : IWaccaUserLinked<WcUserSongUnlock>
|
||||
interface WcUserTrophyRepo : IWaccaUserLinked<WcUserTrophy>
|
||||
interface WcUserBestScoreRepo : IWaccaUserLinked<WcUserScore>
|
||||
interface WcUserPlayLogRepo : IWaccaUserLinked<WcUserPlayLog>
|
||||
interface WcUserStageUpRepo : IWaccaUserLinked<WcUserStageUp>
|
||||
|
@ -39,9 +36,6 @@ class WaccaRepos(
|
|||
val favoriteSong: WcUserFavoriteSongRepo,
|
||||
val gate: WcUserGateRepo,
|
||||
val item: WcUserItemRepo,
|
||||
val ticket: WcUserTicketRepo,
|
||||
val songUnlock: WcUserSongUnlockRepo,
|
||||
val trophy: WcUserTrophyRepo,
|
||||
val bestScore: WcUserBestScoreRepo,
|
||||
val playLog: WcUserPlayLogRepo,
|
||||
val stageUp: WcUserStageUpRepo
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package icu.samnyan.aqua.sega.wacca.model.db
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore
|
||||
import ext.ls
|
||||
import icu.samnyan.aqua.net.games.BaseEntity
|
||||
import icu.samnyan.aqua.sega.wacca.WaccaItemType
|
||||
import icu.samnyan.aqua.sega.wacca.WaccaItemType.*
|
||||
import jakarta.persistence.*
|
||||
|
||||
typealias UC = UniqueConstraint
|
||||
|
@ -38,7 +40,7 @@ class WcUserBingo : WaccaUserEntity() {
|
|||
*/
|
||||
@Entity @Table(name = "wacca_friend", uniqueConstraints = [UC("", ["user_id", "with"])])
|
||||
class WcUserFriend : WaccaUserEntity() {
|
||||
@ManyToOne @JoinColumn(name = "profile_reciever")
|
||||
@ManyToOne @JoinColumn(name = "with")
|
||||
var with: WaccaUser = WaccaUser()
|
||||
var isAccepted = false
|
||||
}
|
||||
|
@ -55,40 +57,37 @@ class WcUserGate : WaccaUserEntity() {
|
|||
var page = 0
|
||||
var progress = 0
|
||||
var loops = 0
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
var lastUsed = 0
|
||||
var missionFlag = 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"])])
|
||||
class WcUserItem() : WaccaUserEntity() {
|
||||
var itemId = 0
|
||||
var type = 0
|
||||
var acquireDate = ""
|
||||
var useCount = 0
|
||||
class WcUserItem(
|
||||
var type: Int = 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"])])
|
||||
class WcUserTicket : WaccaUserEntity() {
|
||||
var ticketId = 0
|
||||
var acquireDate = ""
|
||||
var expireDate = ""
|
||||
}
|
||||
// Generic: title, note colors, note sounds, plates, touch effects
|
||||
else -> ls(itemId, type, p1)
|
||||
}
|
||||
|
||||
@Entity @Table(name = "wacca_user_song_unlock", uniqueConstraints = [UC("", ["user_id", "song_id"])])
|
||||
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
|
||||
infix fun isType(t: WaccaItemType) = type == t()
|
||||
}
|
||||
|
||||
@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