[O] Ongeki: Transform user entities

This commit is contained in:
Azalea 2025-03-26 18:09:54 -04:00
parent 8be5dc20a9
commit 1c1350d84b
27 changed files with 663 additions and 1597 deletions

View File

@ -0,0 +1,663 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata
import com.fasterxml.jackson.annotation.JsonIgnore
import com.fasterxml.jackson.annotation.JsonProperty
import com.fasterxml.jackson.annotation.JsonPropertyOrder
import com.fasterxml.jackson.databind.annotation.JsonSerialize
import icu.samnyan.aqua.net.games.IGenericGamePlaylog
import icu.samnyan.aqua.net.games.IGenericUserMusic
import icu.samnyan.aqua.net.games.IUserData
import icu.samnyan.aqua.sega.general.model.Card
import icu.samnyan.aqua.sega.util.jackson.AccessCodeSerializer
import jakarta.persistence.*
@Entity(name = "OngekiUserActivity")
@Table(
name = "ongeki_user_activity",
uniqueConstraints = [UniqueConstraint(columnNames = ["user_id", "kind", "activity_id"])]
)
@JsonPropertyOrder("kind", "id", "sortNumber", "param1", "param2", "param3", "param4")
class UserActivity(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var kind = 0
@JsonProperty("id")
@Column(name = "activity_id")
var activityId = 0
var sortNumber = 0
var param1 = 0
var param2 = 0
var param3 = 0
var param4 = 0
}
@Entity(name = "OngekiUserBoss")
@Table(name = "ongeki_user_boss")
class UserBoss(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var musicId = 0
var damage = 0
@JsonProperty("isClear")
var isClear = false
var eventId = 0
}
@Entity(name = "OngekiUserCard")
@Table(name = "ongeki_user_card")
class UserCard {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
var user: UserData = UserData()
var cardId = -1
var digitalStock = 1
var analogStock = 0
var level = 0
var maxLevel = 10
var exp = 0
var printCount = 0
var useCount = 0
@JsonProperty("isNew")
var isNew = true
var kaikaDate = "0000-00-00 00:00:00.0"
var choKaikaDate = "0000-00-00 00:00:00.0"
var skillId = 0
@JsonProperty("isAcquired")
var isAcquired = true
var created = "0000-00-00 00:00:00.0"
constructor(userData: UserData) {
this.user = userData
}
constructor(userData: UserData, cardId: Int, skillId: Int, created: String) {
this.user = userData
this.cardId = cardId
this.skillId = skillId
this.created = created
}
}
@Entity(name = "OngekiUserChapter")
@Table(name = "ongeki_user_chapter")
class UserChapter(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var chapterId = 0
var jewelCount = 0
var lastPlayMusicCategory = 0
var lastPlayMusicId = 0
var lastPlayMusicLevel = 0
@JsonProperty("isStoryWatched")
var isStoryWatched = false
@JsonProperty("isClear")
var isClear = false
var skipTiming1 = 0
var skipTiming2 = 0
}
@Entity(name = "OngekiUserCharacter")
@Table(name = "ongeki_user_character")
class UserCharacter(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var characterId = 0
var costumeId = 0
var attachmentId = 0
var playCount = 0
var intimateLevel = 0
var intimateCount = 0
var intimateCountRewarded = 0
var intimateCountDate: String = ""
@JsonProperty("isNew")
var isNew = false
}
@Entity(name = "OngekiUserData")
@Table(name = "ongeki_user_data")
class UserData : IUserData {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
override var id: Long = 0
@JsonSerialize(using = AccessCodeSerializer::class)
@JsonProperty(value = "accessCode", access = JsonProperty.Access.READ_ONLY)
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "aime_card_id", unique = true)
override var card: Card? = null
// Access code in card
override var userName: String = ""
var level = 0
var reincarnationNum = 0
var exp: Long = 0
var point: Long = 0
var totalPoint: Long = 0
var playCount = 0
var jewelCount = 0
var totalJewelCount = 0
var medalCount = 0
override var playerRating: Int = 0
override var highestRating: Int = 0
var battlePoint = 0
var bestBattlePoint = 0
var overDamageBattlePoint = 0
@JsonProperty("isDialogWatchedSuggestMemory")
var isDialogWatchedSuggestMemory = false
var nameplateId = 0
var trophyId = 0
var cardId = 0
var characterId = 0
var characterVoiceNo = 0
var tabSetting = 0
var tabSortSetting = 0
var cardCategorySetting = 0
var cardSortSetting = 0
var rivalScoreCategorySetting = 0
var playedTutorialBit = 0
var firstTutorialCancelNum = 0
final override var totalScore: Long = 0
private set
var sumTechBasicHighScore: Long = 0
var sumTechAdvancedHighScore: Long = 0
var sumTechExpertHighScore: Long = 0
var sumTechMasterHighScore: Long = 0
var sumTechLunaticHighScore: Long = 0
var sumBattleHighScore: Long = 0
var sumBattleBasicHighScore: Long = 0
var sumBattleAdvancedHighScore: Long = 0
var sumBattleExpertHighScore: Long = 0
var sumBattleMasterHighScore: Long = 0
var sumBattleLunaticHighScore: Long = 0
var eventWatchedDate: String = ""
var cmEventWatchedDate: String = ""
var firstGameId: String = ""
var firstRomVersion: String = ""
var firstDataVersion: String = ""
override var firstPlayDate: String = ""
var lastGameId: String = ""
override var lastRomVersion: String = ""
var lastDataVersion: String = ""
var compatibleCmVersion: String = ""
override var lastPlayDate: String = ""
var lastPlaceId = 0
var lastPlaceName: String = ""
var lastRegionId = 0
var lastRegionName: String = ""
var lastAllNetId = 0
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
override var lastClientId: String = ""
var lastUsedDeckId = 0
var lastPlayMusicLevel = 0
var lastEmoneyBrand = 0
}
@Entity(name = "OngekiUserDeck")
@Table(name = "ongeki_user_deck")
class UserDeck(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var deckId = 0
var cardId1 = 0
var cardId2 = 0
var cardId3 = 0
}
@Entity(name = "OngekiUserEventMusic")
@Table(name = "ongeki_user_event_music")
class UserEventMusic(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var eventId = 0
var type = 0
var musicId = 0
var level = 0
var techScoreMax = 0
var platinumScoreMax = 0
var techRecordDate: String = ""
@JsonProperty("isTechNewRecord")
var isTechNewRecord: Boolean = false
}
/**
* For chapter event.
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserEventPoint")
@Table(name = "ongeki_user_event_point")
class UserEventPoint(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var eventId = 0
var point: Long = 0
@JsonProperty("isRankingRewarded")
var isRankingRewarded = false
}
/**
* This is for storing some data only use in aqua
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserGeneralData")
@Table(name = "ongeki_user_general_data")
class UserGeneralData(
@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData,
var propertyKey: String
) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
@Column(columnDefinition = "TEXT")
var propertyValue = ""
}
@Entity(name = "OngekiUserItem")
@Table(name = "ongeki_user_item")
class UserItem(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var itemKind = 0
var itemId = 0
var stock = 0
@JsonProperty("isValid")
var isValid = false
}
@Entity(name = "OngekiUserKop")
@Table(name = "ongeki_user_kop")
class UserKop(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var authKey: String = ""
var kopId = 0
var areaId = 0
var totalTechScore = 0
var totalPlatinumScore = 0
var techRecordDate: String = ""
@JsonProperty("isTotalTechNewRecord")
var isTotalTechNewRecord = false
}
@Entity(name = "OngekiUserLoginBonus")
@Table(name = "ongeki_user_login_bonus")
class UserLoginBonus(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var bonusId = 0
var bonusCount = 0
var lastUpdateDate: String = ""
}
@Entity(name = "OngekiUserMemoryChapter")
@Table(name = "ongeki_user_memory_chapter")
class UserMemoryChapter(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var chapterId = 0
var jewelCount = 0
var lastPlayMusicCategory = 0
var lastPlayMusicId = 0
var lastPlayMusicLevel = 0
@JsonProperty("isDialogWatched")
var isDialogWatched = false
@JsonProperty("isStoryWatched")
var isStoryWatched = false
@JsonProperty("isBossWatched")
var isBossWatched = false
@JsonProperty("isClear")
var isClear = false
var gaugeId = 0
var gaugeNum = 0
}
@Entity(name = "OngekiUserMissionPoint")
@Table(name = "ongeki_user_mission_point")
class UserMissionPoint(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var eventId = 0
var point: Long = 0
}
@Entity(name = "OngekiUserMusicDetail")
@Table(name = "ongeki_user_music_detail")
class UserMusicDetail(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) :
IGenericUserMusic {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
override var musicId: Int = 0
var level = 0
var playCount = 0
var techScoreMax = 0
var techScoreRank = 0
var battleScoreMax = 0
var battleScoreRank = 0
var platinumScoreMax = 0
var maxComboCount = 0
var maxOverKill = 0
var maxTeamOverKill = 0
@JsonProperty("isFullBell")
var isFullBell = false
@JsonProperty("isFullCombo")
var isFullCombo = false
@JsonProperty("isAllBreake")
var isAllBreake = false
@JsonProperty("isLock")
var isLock = false
var clearStatus = 0
var isStoryWatched = false
}
@Entity(name = "OngekiUserMusicItem")
@Table(name = "ongeki_user_music_item")
class UserMusicItem(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var musicId = 0
var status = 0
}
@Entity(name = "OngekiUserOption")
@Table(name = "ongeki_user_option")
class UserOption(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var optionSet = 0
var speed = 0
var mirror = 0
var judgeTiming = 0
var judgeAdjustment = 0
var abort = 0
var stealthField = 0
var tapSound = 0
var volGuide = 0
var volAll = 0
var volTap = 0
var volCrTap = 0
var volHold = 0
var volSide = 0
var volFlick = 0
var volBell = 0
var volEnemy = 0
var volSkill = 0
var volDamage = 0
var colorField = 0
var colorLaneBright = 0
var colorWallBright = 0
var colorLane = 0
var colorSide = 0
var effectDamage = 0
var effectPos = 0
var judgeDisp = 0
var judgePos = 0
var judgeBreak = 0
var judgeHit = 0
var platinumBreakDisp = 0
var judgeCriticalBreak = 0
var matching = 0
var dispPlayerLv = 0
var dispRating = 0
var dispBP = 0
var headphone = 0
}
@Entity(name = "OngekiUserPlaylog")
@Table(name = "ongeki_user_playlog")
class UserPlaylog : IGenericGamePlaylog {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long = 0
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
override var user: UserData = UserData()
var sortNumber = 0
var placeId = 0
var placeName: String = ""
var playDate: String = ""
override var userPlayDate: String = ""
override var musicId: Int = 0
override var level: Int = 0
var playKind = 0
var eventId = 0
var eventName: String = ""
var eventPoint = 0
var playedUserId1 = 0
var playedUserId2 = 0
var playedUserId3 = 0
var playedUserName1: String = ""
var playedUserName2: String = ""
var playedUserName3: String = ""
var playedMusicLevel1 = 0
var playedMusicLevel2 = 0
var playedMusicLevel3 = 0
var cardId1 = 0
var cardId2 = 0
var cardId3 = 0
var cardLevel1 = 0
var cardLevel2 = 0
var cardLevel3 = 0
var cardAttack1 = 0
var cardAttack2 = 0
var cardAttack3 = 0
var bossCharaId = 0
var bossLevel = 0
var bossAttribute = 0
var clearStatus = 0
override var achievement: Int = 0
var techScoreRank = 0
var battleScore = 0
var battleScoreRank = 0
var platinumScore = 0
override var maxCombo: Int = 0
var judgeMiss = 0
var judgeHit = 0
var judgeBreak = 0
var judgeCriticalBreak = 0
var rateTap = 0
var rateHold = 0
var rateFlick = 0
var rateSideTap = 0
var rateSideHold = 0
var bellCount = 0
var totalBellCount = 0
var damageCount = 0
var overDamage = 0
@JsonProperty("isTechNewRecord")
var isTechNewRecord = false
@JsonProperty("isBattleNewRecord")
var isBattleNewRecord = false
@JsonProperty("isOverDamageNewRecord")
var isOverDamageNewRecord = false
@JsonProperty("isFullCombo")
override var isFullCombo: Boolean = false
@JsonProperty("isFullBell")
var isFullBell = false
@JsonProperty("isAllBreak")
override var isAllPerfect: Boolean = false
// TODO: Get before rating
override var beforeRating: Int = 0
var battlePoint = 0
override val afterRating: Int get() = 0
}
@Entity(name = "OngekiUserRival")
@Table(name = "ongeki_user_rival")
class UserRival {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
@ManyToOne
@JsonIgnore
@JoinColumn(name = "user_id")
var user: UserData? = null
@JoinColumn(name = "rival_user_ext_id")
@JsonProperty("rivalUserId")
var rivalUserExtId: Long = 0
}
@Entity(name = "OngekiUserScenario")
@Table(name = "ongeki_user_scenario")
class UserScenario(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var scenarioId = 0
var playCount = 0
}
@Entity(name = "OngekiUserStory")
@Table(name = "ongeki_user_story")
class UserStory(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var storyId = 0
var lastChapterId = 0
var jewelCount = 0
var lastPlayMusicId = 0
var lastPlayMusicCategory = 0
var lastPlayMusicLevel = 0
}
@Entity(name = "OngekiUserTechCount")
@Table(name = "ongeki_user_tech_count")
class UserTechCount(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var levelId = 0
var allBreakCount = 0
var allBreakPlusCount = 0
}
@Entity(name = "OngekiUserTechEvent")
@Table(name = "ongeki_user_tech_event")
class UserTechEvent(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var eventId = 0
var totalTechScore = 0
var totalPlatinumScore = 0
var techRecordDate: String = ""
@JsonProperty("isRankingRewarded")
var isRankingRewarded = false
@JsonProperty("isTotalTechNewRecord")
var isTotalTechNewRecord = false
}
@Entity(name = "OngekiUserTradeItem")
@Table(name = "ongeki_user_trade_item")
class UserTradeItem(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var chapterId = 0
var tradeItemId = 0
var tradeCount = 0
}
@Entity(name = "OngekiTrainingRoom")
@Table(name = "ongeki_user_training_room")
class UserTrainingRoom(@field:JoinColumn(name = "user_id") @field:ManyToOne @field:JsonIgnore var user: UserData) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
var id: Long = 0
var authKey: String = ""
var roomId: Int = 0
var cardId: Int = 0
var valueDate: String = ""
}

View File

@ -1,55 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserActivity")
@Table(name = "ongeki_user_activity", uniqueConstraints = {@UniqueConstraint(columnNames = {"user_id", "kind", "activity_id"})})
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonPropertyOrder({"kind", "id", "sortNumber", "param1", "param2", "param3", "param4"})
public class UserActivity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int kind;
@JsonProperty("id")
@Column(name = "activity_id")
private int activityId;
private int sortNumber;
private int param1;
private int param2;
private int param3;
private int param4;
public UserActivity(UserData userData) {
user = userData;
}
}

View File

@ -1,46 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserBoss")
@Table(name = "ongeki_user_boss")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserBoss implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int musicId;
private int damage;
@JsonProperty("isClear")
private boolean isClear;
private int eventId;
public UserBoss(UserData userData) {
this.user = userData;
}
}

View File

@ -1,74 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserCard")
@Table(name = "ongeki_user_card")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserCard implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int cardId = -1;
private int digitalStock = 1;
private int analogStock = 0;
private int level = 0;
private int maxLevel = 10;
private int exp = 0;
private int printCount = 0;
private int useCount = 0;
@JsonProperty("isNew")
private boolean isNew = true;
private String kaikaDate = "0000-00-00 00:00:00.0";
private String choKaikaDate = "0000-00-00 00:00:00.0";
private int skillId;
@JsonProperty("isAcquired")
private boolean isAcquired = true;
private String created = "0000-00-00 00:00:00.0";
public UserCard(UserData userData) {
this.user = userData;
}
public UserCard(UserData userData, int cardId, int skillId, String created) {
this.user = userData;
this.cardId = cardId;
this.skillId = skillId;
this.created = created;
}
}

View File

@ -1,57 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserChapter")
@Table(name = "ongeki_user_chapter")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserChapter implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int chapterId;
private int jewelCount;
private int lastPlayMusicCategory;
private int lastPlayMusicId;
private int lastPlayMusicLevel;
@JsonProperty("isStoryWatched")
private boolean isStoryWatched;
@JsonProperty("isClear")
private boolean isClear;
private int skipTiming1;
private int skipTiming2;
public UserChapter(UserData userData) {
this.user = userData;
}
}

View File

@ -1,56 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserCharacter")
@Table(name = "ongeki_user_character")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserCharacter implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int characterId;
private int costumeId;
private int attachmentId;
private int playCount;
private int intimateLevel;
private int intimateCount;
private int intimateCountRewarded;
private String intimateCountDate;
@JsonProperty("isNew")
private boolean isNew;
public UserCharacter(UserData userData) {
this.user = userData;
}
}

View File

@ -1,166 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import icu.samnyan.aqua.net.games.IUserData;
import icu.samnyan.aqua.sega.general.model.Card;
import icu.samnyan.aqua.sega.util.jackson.AccessCodeSerializer;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserData")
@Table(name = "ongeki_user_data")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserData implements Serializable, IUserData {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonSerialize(using = AccessCodeSerializer.class)
@JsonProperty(value = "accessCode", access = JsonProperty.Access.READ_ONLY)
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "aime_card_id", unique = true)
private Card card;
// Access code in card
private String userName;
private int level;
private int reincarnationNum;
private long exp;
private long point;
private long totalPoint;
private int playCount;
private int jewelCount;
private int totalJewelCount;
private int medalCount;
private int playerRating;
private int highestRating;
private int battlePoint;
private int bestBattlePoint;
private int overDamageBattlePoint;
@JsonProperty("isDialogWatchedSuggestMemory")
private boolean isDialogWatchedSuggestMemory;
private int nameplateId;
private int trophyId;
private int cardId;
private int characterId;
private int characterVoiceNo;
private int tabSetting;
private int tabSortSetting;
private int cardCategorySetting;
private int cardSortSetting;
private int rivalScoreCategorySetting;
private int playedTutorialBit;
private int firstTutorialCancelNum;
private long sumTechHighScore;
private long sumTechBasicHighScore;
private long sumTechAdvancedHighScore;
private long sumTechExpertHighScore;
private long sumTechMasterHighScore;
private long sumTechLunaticHighScore;
private long sumBattleHighScore;
private long sumBattleBasicHighScore;
private long sumBattleAdvancedHighScore;
private long sumBattleExpertHighScore;
private long sumBattleMasterHighScore;
private long sumBattleLunaticHighScore;
private String eventWatchedDate;
private String cmEventWatchedDate;
private String firstGameId;
private String firstRomVersion;
private String firstDataVersion;
private String firstPlayDate;
private String lastGameId;
private String lastRomVersion;
private String lastDataVersion;
private String compatibleCmVersion;
private String lastPlayDate;
private int lastPlaceId;
private String lastPlaceName;
private int lastRegionId;
private String lastRegionName;
private int lastAllNetId;
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String lastClientId;
private int lastUsedDeckId;
private int lastPlayMusicLevel;
private int lastEmoneyBrand;
@Override
public long getTotalScore() {
return sumTechHighScore;
}
}

View File

@ -1,44 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserDeck")
@Table(name = "ongeki_user_deck")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserDeck implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int deckId;
private int cardId1;
private int cardId2;
private int cardId3;
public UserDeck(UserData userData) {
this.user = userData;
}
}

View File

@ -1,55 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserEventMusic")
@Table(name = "ongeki_user_event_music")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserEventMusic implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int eventId;
private int type;
private int musicId;
private int level;
private int techScoreMax;
private int platinumScoreMax;
public String techRecordDate;
@JsonProperty("isTechNewRecord")
public boolean isTechNewRecord;
public UserEventMusic(UserData userData) {
this.user = userData;
}
}

View File

@ -1,45 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* For chapter event.
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserEventPoint")
@Table(name = "ongeki_user_event_point")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserEventPoint implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int eventId;
private long point;
@JsonProperty("isRankingRewarded")
private boolean isRankingRewarded;
public UserEventPoint(UserData userData) {
this.user = userData;
}
}

View File

@ -1,44 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* This is for storing some data only use in aqua
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserGeneralData")
@Table(name = "ongeki_user_general_data")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserGeneralData implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private String propertyKey;
@Column(columnDefinition = "TEXT")
private String propertyValue;
public UserGeneralData(UserData userData, String key) {
this.user = userData;
this.propertyKey = key;
this.propertyValue = "";
}
}

View File

@ -1,46 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserItem")
@Table(name = "ongeki_user_item")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserItem implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int itemKind;
private int itemId;
private int stock;
@JsonProperty("isValid")
private boolean isValid;
public UserItem(UserData userData) {
this.user = userData;
}
}

View File

@ -1,53 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserKop")
@Table(name = "ongeki_user_kop")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserKop implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private String authKey;
private int kopId;
private int areaId;
private int totalTechScore;
private int totalPlatinumScore;
private String techRecordDate;
@JsonProperty("isTotalTechNewRecord")
private boolean isTotalTechNewRecord;
public UserKop(UserData userData) {
this.user = userData;
}
}

View File

@ -1,42 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserLoginBonus")
@Table(name = "ongeki_user_login_bonus")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserLoginBonus implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int bonusId;
private int bonusCount;
private String lastUpdateDate;
public UserLoginBonus(UserData userData) {
this.user = userData;
}
}

View File

@ -1,63 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserMemoryChapter")
@Table(name = "ongeki_user_memory_chapter")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserMemoryChapter implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int chapterId;
private int jewelCount;
private int lastPlayMusicCategory;
private int lastPlayMusicId;
private int lastPlayMusicLevel;
@JsonProperty("isDialogWatched")
private boolean isDialogWatched;
@JsonProperty("isStoryWatched")
private boolean isStoryWatched;
@JsonProperty("isBossWatched")
private boolean isBossWatched;
@JsonProperty("isClear")
private boolean isClear;
private int gaugeId;
private int gaugeNum;
public UserMemoryChapter(UserData userData) {
this.user = userData;
}
}

View File

@ -1,41 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* For mission event
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserMissionPoint")
@Table(name = "ongeki_user_mission_point")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserMissionPoint implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int eventId;
private long point;
public UserMissionPoint(UserData userData) {
this.user = userData;
}
}

View File

@ -1,76 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import icu.samnyan.aqua.net.games.IGenericUserMusic;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserMusicDetail")
@Table(name = "ongeki_user_music_detail")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserMusicDetail implements Serializable, IGenericUserMusic {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int musicId;
private int level;
private int playCount;
private int techScoreMax;
private int techScoreRank;
private int battleScoreMax;
private int battleScoreRank;
private int platinumScoreMax;
private int maxComboCount;
private int maxOverKill;
private int maxTeamOverKill;
@JsonProperty("isFullBell")
private boolean isFullBell;
@JsonProperty("isFullCombo")
private boolean isFullCombo;
@JsonProperty("isAllBreake")
private boolean isAllBreake;
@JsonProperty("isLock")
private boolean isLock;
private int clearStatus;
private boolean isStoryWatched;
public UserMusicDetail(UserData userData) {
this.user = userData;
}
}

View File

@ -1,40 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserMusicItem")
@Table(name = "ongeki_user_music_item")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserMusicItem implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int musicId;
private int status;
public UserMusicItem(UserData userData) {
this.user = userData;
}
}

View File

@ -1,110 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserOption")
@Table(name = "ongeki_user_option")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserOption implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int optionSet;
private int speed;
private int mirror;
private int judgeTiming;
private int judgeAdjustment;
private int abort;
private int stealthField;
private int tapSound;
private int volGuide;
private int volAll;
private int volTap;
private int volCrTap;
private int volHold;
private int volSide;
private int volFlick;
private int volBell;
private int volEnemy;
private int volSkill;
private int volDamage;
private int colorField;
private int colorLaneBright;
private int colorWallBright;
private int colorLane;
private int colorSide;
private int effectDamage;
private int effectPos;
private int judgeDisp;
private int judgePos;
private int judgeBreak;
private int judgeHit;
private int platinumBreakDisp;
private int judgeCriticalBreak;
private int matching;
private int dispPlayerLv;
private int dispRating;
private int dispBP;
private int headphone;
public UserOption(UserData userData) {
this.user = userData;
}
}

View File

@ -1,180 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import icu.samnyan.aqua.net.games.IGenericGamePlaylog;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserPlaylog")
@Table(name = "ongeki_user_playlog")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserPlaylog implements Serializable, IGenericGamePlaylog {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int sortNumber;
private int placeId;
private String placeName;
private String playDate;
private String userPlayDate;
private int musicId;
private int level;
private int playKind;
private int eventId;
private String eventName;
private int eventPoint;
private int playedUserId1;
private int playedUserId2;
private int playedUserId3;
private String playedUserName1;
private String playedUserName2;
private String playedUserName3;
private int playedMusicLevel1;
private int playedMusicLevel2;
private int playedMusicLevel3;
private int cardId1;
private int cardId2;
private int cardId3;
private int cardLevel1;
private int cardLevel2;
private int cardLevel3;
private int cardAttack1;
private int cardAttack2;
private int cardAttack3;
private int bossCharaId;
private int bossLevel;
private int bossAttribute;
private int clearStatus;
private int techScore;
private int techScoreRank;
private int battleScore;
private int battleScoreRank;
private int platinumScore;
private int maxCombo;
private int judgeMiss;
private int judgeHit;
private int judgeBreak;
private int judgeCriticalBreak;
private int rateTap;
private int rateHold;
private int rateFlick;
private int rateSideTap;
private int rateSideHold;
private int bellCount;
private int totalBellCount;
private int damageCount;
private int overDamage;
@JsonProperty("isTechNewRecord")
private boolean isTechNewRecord;
@JsonProperty("isBattleNewRecord")
private boolean isBattleNewRecord;
@JsonProperty("isOverDamageNewRecord")
private boolean isOverDamageNewRecord;
@JsonProperty("isFullCombo")
private boolean isFullCombo;
@JsonProperty("isFullBell")
private boolean isFullBell;
@JsonProperty("isAllBreak")
private boolean isAllBreak;
private int playerRating;
private int battlePoint;
@Override
public int getAchievement() {
return techScore;
}
@Override
public int getAfterRating() {
return playerRating;
}
@Override
public int getBeforeRating() {
return playerRating; // TODO: Get before rating
}
@Override
public boolean isAllPerfect() {
return isAllBreak;
}
}

View File

@ -1,36 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserRival")
@Table(name = "ongeki_user_rival")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserRival implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@ManyToOne
@JsonIgnore
@JoinColumn(name = "user_id")
private UserData user;
@JoinColumn(name = "rival_user_ext_id")
@JsonProperty("rivalUserId")
private long rivalUserExtId;
}

View File

@ -1,40 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserScenario")
@Table(name = "ongeki_user_scenario")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserScenario implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int scenarioId;
private int playCount;
public UserScenario(UserData userData) {
this.user = userData;
}
}

View File

@ -1,48 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserStory")
@Table(name = "ongeki_user_story")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserStory implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int storyId;
private int lastChapterId;
private int jewelCount;
private int lastPlayMusicId;
private int lastPlayMusicCategory;
private int lastPlayMusicLevel;
public UserStory(UserData userData) {
this.user = userData;
}
}

View File

@ -1,42 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserTechCount")
@Table(name = "ongeki_user_tech_count")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserTechCount implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int levelId;
private int allBreakCount;
private int allBreakPlusCount;
public UserTechCount(UserData userData) {
this.user = userData;
}
}

View File

@ -1,52 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserTechEvent")
@Table(name = "ongeki_user_tech_event")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserTechEvent implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int eventId;
private int totalTechScore;
private int totalPlatinumScore;
private String techRecordDate;
@JsonProperty("isRankingRewarded")
private boolean isRankingRewarded;
@JsonProperty("isTotalTechNewRecord")
private boolean isTotalTechNewRecord;
public UserTechEvent(UserData userData) {
this.user = userData;
}
}

View File

@ -1,42 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiUserTradeItem")
@Table(name = "ongeki_user_trade_item")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserTradeItem implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private int chapterId;
private int tradeItemId;
private int tradeCount;
public UserTradeItem(UserData userData) {
this.user = userData;
}
}

View File

@ -1,44 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "OngekiTrainingRoom")
@Table(name = "ongeki_user_training_room")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserTrainingRoom implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
public String authKey;
public int roomId;
public int cardId;
public String valueDate;
public UserTrainingRoom(UserData userData) {
this.user = userData;
}
}