[+] Generalize data import for chusan

This commit is contained in:
Azalea
2024-03-30 23:52:29 -04:00
parent d4178c85a9
commit 3a8616e225
59 changed files with 390 additions and 333 deletions

View File

@@ -4,6 +4,7 @@ package icu.samnyan.aqua.sega.chusan.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.chusan.model.gamedata.*
import icu.samnyan.aqua.sega.chusan.model.userdata.*
import org.springframework.data.domain.Page
@@ -16,12 +17,10 @@ import java.util.*
@NoRepositoryBean
interface UserLinked<T, ID> : JpaRepository<T, ID> {
interface Chu3UserLinked<T> : IUserRepo<Chu3UserData, T> {
fun findByUser_Card_ExtId(extId: Long): List<T>
fun findSingleByUser_Card_ExtId(extId: Long): Optional<T>
fun findByUser_Card_ExtId(extId: Long, pageable: Pageable): Page<T>
fun findByUser(user: UserData): List<T>
fun findSingleByUser(user: UserData): Optional<T>
}
@@ -39,62 +38,62 @@ interface Chu3UserLoginBonusRepo : JpaRepository<UserLoginBonus, Int> {
fun findLoginBonus(userId: Int, version: Int, presetId: Int): Optional<UserLoginBonus>
}
interface Chu3UserActivityRepo : UserLinked<UserActivity, Long> {
fun findTopByUserAndActivityIdAndKindOrderByIdDesc(user: UserData, activityId: Int, kind: Int): Optional<UserActivity>
interface Chu3UserActivityRepo : Chu3UserLinked<UserActivity> {
fun findTopByUserAndActivityIdAndKindOrderByIdDesc(user: Chu3UserData, activityId: Int, kind: Int): Optional<UserActivity>
fun findAllByUser_Card_ExtIdAndKindOrderBySortNumberDesc(extId: Long, kind: Int): List<UserActivity>
}
interface Chu3UserCardPrintStateRepo : UserLinked<UserCardPrintState, Long> {
interface Chu3UserCardPrintStateRepo : Chu3UserLinked<UserCardPrintState> {
fun findByUser_Card_ExtIdAndHasCompleted(extId: Long, hasCompleted: Boolean): List<UserCardPrintState>
fun findByUserAndGachaIdAndHasCompleted(userData: UserData, gachaId: Int, hasCompleted: Boolean): List<UserCardPrintState>
fun findByUserAndGachaIdAndHasCompleted(userData: Chu3UserData, gachaId: Int, hasCompleted: Boolean): List<UserCardPrintState>
}
interface Chu3UserCharacterRepo : UserLinked<UserCharacter, Long> {
fun findTopByUserAndCharacterIdOrderByIdDesc(user: UserData, characterId: Int): Optional<UserCharacter>
interface Chu3UserCharacterRepo : Chu3UserLinked<UserCharacter> {
fun findTopByUserAndCharacterIdOrderByIdDesc(user: Chu3UserData, characterId: Int): Optional<UserCharacter>
}
interface Chu3UserChargeRepo : UserLinked<UserCharge, Long> {
fun findByUserAndChargeId(extId: UserData, chargeId: Int): Optional<UserCharge>
interface Chu3UserChargeRepo : Chu3UserLinked<UserCharge> {
fun findByUserAndChargeId(extId: Chu3UserData, chargeId: Int): Optional<UserCharge>
}
interface Chu3UserCourseRepo : UserLinked<UserCourse, Long> {
fun findTopByUserAndCourseIdOrderByIdDesc(user: UserData, courseId: Int): Optional<UserCourse>
interface Chu3UserCourseRepo : Chu3UserLinked<UserCourse> {
fun findTopByUserAndCourseIdOrderByIdDesc(user: Chu3UserData, courseId: Int): Optional<UserCourse>
}
interface Chu3UserDataRepo : GenericUserDataRepo<UserData>
interface Chu3UserDataRepo : GenericUserDataRepo<Chu3UserData>
interface Chu3UserDuelRepo : UserLinked<UserDuel, Long> {
fun findTopByUserAndDuelIdOrderByIdDesc(user: UserData, duelId: Int): Optional<UserDuel>
interface Chu3UserDuelRepo : Chu3UserLinked<UserDuel> {
fun findTopByUserAndDuelIdOrderByIdDesc(user: Chu3UserData, duelId: Int): Optional<UserDuel>
}
interface Chu3UserGachaRepo : UserLinked<UserGacha, Long> {
fun findByUserAndGachaId(extId: UserData, gachaId: Int): Optional<UserGacha>
interface Chu3UserGachaRepo : Chu3UserLinked<UserGacha> {
fun findByUserAndGachaId(extId: Chu3UserData, gachaId: Int): Optional<UserGacha>
}
interface Chu3UserGameOptionRepo : UserLinked<UserGameOption, Long>
interface Chu3UserGameOptionRepo : Chu3UserLinked<UserGameOption>
interface Chu3UserGeneralDataRepo : UserLinked<UserGeneralData, Long> {
fun findByUserAndPropertyKey(user: UserData, key: String): Optional<UserGeneralData>
interface Chu3UserGeneralDataRepo : Chu3UserLinked<UserGeneralData> {
fun findByUserAndPropertyKey(user: Chu3UserData, key: String): Optional<UserGeneralData>
fun findByUser_Card_ExtIdAndPropertyKey(extId: Long, key: String): Optional<UserGeneralData>
}
interface Chu3UserItemRepo : UserLinked<UserItem, Long> {
fun findTopByUserAndItemIdAndItemKindOrderByIdDesc(user: UserData, itemId: Int, itemKind: Int): Optional<UserItem>
interface Chu3UserItemRepo : Chu3UserLinked<UserItem> {
fun findTopByUserAndItemIdAndItemKindOrderByIdDesc(user: Chu3UserData, itemId: Int, itemKind: Int): Optional<UserItem>
fun findAllByUser_Card_ExtIdAndItemKind(extId: Long, itemKind: Int, pageable: Pageable): Page<UserItem>
fun findAllByUser_Card_ExtIdAndItemKind(extId: Long, itemKind: Int): List<UserItem>
}
interface Chu3UserMapAreaRepo : UserLinked<UserMapArea, Long> {
fun findTopByUserAndMapAreaIdOrderByIdDesc(user: UserData, mapAreaId: Int): Optional<UserMapArea>
interface Chu3UserMapAreaRepo : Chu3UserLinked<UserMapArea> {
fun findTopByUserAndMapAreaIdOrderByIdDesc(user: Chu3UserData, mapAreaId: Int): Optional<UserMapArea>
}
interface Chu3UserMusicDetailRepo : UserLinked<UserMusicDetail, Long> {
fun findTopByUserAndMusicIdAndLevelOrderByIdDesc(user: UserData, musicId: Int, level: Int): Optional<UserMusicDetail>
interface Chu3UserMusicDetailRepo : Chu3UserLinked<UserMusicDetail> {
fun findTopByUserAndMusicIdAndLevelOrderByIdDesc(user: Chu3UserData, musicId: Int, level: Int): Optional<UserMusicDetail>
fun findByUser_Card_ExtIdAndMusicId(extId: Long, musicId: Int): List<UserMusicDetail>
}

View File

@@ -21,7 +21,7 @@ import java.util.Map;
public class UpsertUserAll implements Serializable {
@Nullable
private List<UserData> userData;
private List<Chu3UserData> userData;
@Nullable
private List<UserGameOption> userGameOption;

View File

@@ -2,7 +2,7 @@ package icu.samnyan.aqua.sega.chusan.model.request;
import com.fasterxml.jackson.annotation.JsonProperty;
import icu.samnyan.aqua.sega.chusan.model.gamedata.GameGachaCard;
import icu.samnyan.aqua.sega.chusan.model.userdata.UserData;
import icu.samnyan.aqua.sega.chusan.model.userdata.Chu3UserData;
import icu.samnyan.aqua.sega.chusan.model.userdata.UserGacha;
import icu.samnyan.aqua.sega.chusan.model.userdata.UserItem;
import lombok.AllArgsConstructor;
@@ -22,7 +22,7 @@ import java.util.List;
public class UpsertUserGacha implements Serializable {
@Nullable
private UserData userData;
private Chu3UserData userData;
@Nullable
private UserGacha userGacha;

View File

@@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
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.IGenericUserData;
import icu.samnyan.aqua.net.games.IUserData;
import icu.samnyan.aqua.sega.chusan.model.response.data.UserEmoney;
import icu.samnyan.aqua.sega.general.model.Card;
import icu.samnyan.aqua.sega.util.jackson.AccessCodeSerializer;
@@ -126,7 +126,7 @@ import java.util.List;
"rankUpChallengeResults",
"isNetBattleHost",
"netBattleEndState" })
public class UserData implements Serializable, IGenericUserData {
public class Chu3UserData implements Serializable, IUserData {
@Serial
private static final long serialVersionUID = 1L;

View File

@@ -31,7 +31,7 @@ public class UserActivity implements Serializable {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
private int kind;
@@ -49,7 +49,7 @@ public class UserActivity implements Serializable {
private int param4;
public UserActivity(UserData userData) {
public UserActivity(Chu3UserData userData) {
user = userData;
}
}

View File

@@ -20,7 +20,7 @@ public class UserCMission {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
@Column(name = "mission_id")
private int missionId;

View File

@@ -20,7 +20,7 @@ public class UserCMissionProgress {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
@Column(name = "mission_id")
private int missionId;

View File

@@ -30,7 +30,7 @@ public class UserCardPrintState implements Serializable {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
private boolean hasCompleted;
private LocalDateTime limitDate;
@@ -38,7 +38,7 @@ public class UserCardPrintState implements Serializable {
private int cardId;
private int gachaId;
public UserCardPrintState(UserData user) {
public UserCardPrintState(Chu3UserData user) {
this.user = user;
}
}

View File

@@ -31,7 +31,7 @@ public class UserCharacter implements Serializable {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
@Column(name = "character_id")
private int characterId;
@@ -56,7 +56,7 @@ public class UserCharacter implements Serializable {
private int param2 = 0;
public UserCharacter(UserData userData) {
public UserCharacter(Chu3UserData userData) {
user = userData;
}
}

View File

@@ -31,7 +31,7 @@ public class UserCharge implements Serializable {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
@Column(name = "charge_id")
private int chargeId;
@@ -48,7 +48,7 @@ public class UserCharge implements Serializable {
private LocalDateTime paramDate;
public UserCharge(UserData user) {
public UserCharge(Chu3UserData user) {
this.user = user;
}
}

View File

@@ -27,7 +27,7 @@ public class UserCourse {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
@Column(name = "course_id")
private int courseId;
@@ -70,7 +70,7 @@ public class UserCourse {
@JsonProperty("isClear")
private boolean isClear;
public UserCourse(UserData userData) {
public UserCourse(Chu3UserData userData) {
user = userData;
}

View File

@@ -27,7 +27,7 @@ public class UserDuel {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
@Column(name = "duel_id")
private int duelId;
@@ -49,7 +49,7 @@ public class UserDuel {
private int param4;
public UserDuel(UserData userData) {
public UserDuel(Chu3UserData userData) {
user = userData;
}
}

View File

@@ -29,7 +29,7 @@ public class UserGacha implements Serializable {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
@Column(name = "gacha_id")
private int gachaId;
@@ -46,7 +46,7 @@ public class UserGacha implements Serializable {
private LocalDateTime dailyGachaDate;
public UserGacha(UserData user) {
public UserGacha(Chu3UserData user) {
this.user = user;
}
}

View File

@@ -81,7 +81,7 @@ public class UserGameOption implements Serializable {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
private int bgInfo;
@@ -183,7 +183,7 @@ public class UserGameOption implements Serializable {
private int ext10;
public UserGameOption(UserData userData) {
public UserGameOption(Chu3UserData userData) {
user = userData;
}
}

View File

@@ -29,14 +29,14 @@ public class UserGeneralData implements Serializable {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
private String propertyKey;
@Column(columnDefinition = "TEXT")
private String propertyValue;
public UserGeneralData(UserData userData, String key) {
public UserGeneralData(Chu3UserData userData, String key) {
this.user = userData;
this.propertyKey = key;
this.propertyValue = "";

View File

@@ -31,7 +31,7 @@ public class UserItem implements Serializable {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
// Kind ,Type
@Column(name = "item_kind")
@@ -45,7 +45,7 @@ public class UserItem implements Serializable {
@JsonProperty("isValid")
private boolean isValid = true;
public UserItem(UserData userData) {
public UserItem(Chu3UserData userData) {
user = userData;
}
}

View File

@@ -39,7 +39,7 @@ public class UserMapArea implements Serializable {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
@Column(name = "map_area_id")
private int mapAreaId;
@@ -58,7 +58,7 @@ public class UserMapArea implements Serializable {
@JsonProperty("isLocked")
private boolean isLocked;
public UserMapArea(UserData userData) {
public UserMapArea(Chu3UserData userData) {
user = userData;
}
}

View File

@@ -48,7 +48,7 @@ public class UserMusicDetail implements Serializable {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
@Column(name = "music_id")
private int musicId;
@@ -86,7 +86,7 @@ public class UserMusicDetail implements Serializable {
private int ext1;
public UserMusicDetail(UserData userData) {
public UserMusicDetail(Chu3UserData userData) {
user = userData;
}

View File

@@ -32,7 +32,7 @@ public class UserPlaylog implements Serializable, IGenericGamePlaylog {
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserData user;
private Chu3UserData user;
private String romVersion;
@@ -155,7 +155,7 @@ public class UserPlaylog implements Serializable, IGenericGamePlaylog {
// SUN PLUS
private int ticketId;
public UserPlaylog(UserData userData) {
public UserPlaylog(Chu3UserData userData) {
user = userData;
}