[O] Game entities

pull/99/head^2
Azalea 2025-01-04 20:07:16 -05:00
parent af9cd81220
commit 01a064f1ab
9 changed files with 110 additions and 267 deletions

View File

@ -0,0 +1,88 @@
package icu.samnyan.aqua.sega.chusan.model
import com.fasterxml.jackson.annotation.JsonIgnore
import com.fasterxml.jackson.annotation.JsonProperty
import icu.samnyan.aqua.net.games.BaseEntity
import jakarta.persistence.Column
import jakarta.persistence.Entity
import jakarta.persistence.Table
import java.time.LocalDateTime
@Entity(name = "ChusanGameCharge")
@Table(name = "chusan_game_charge")
class GameCharge: BaseEntity() {
var orderId = 0
@Column(unique = true)
var chargeId = 0
var price = 0
var startDate: LocalDateTime? = null
var endDate: LocalDateTime? = null
var salePrice = 0
var saleStartDate: LocalDateTime? = null
var saleEndDate: LocalDateTime? = null
}
@Entity(name = "ChusanGameEvent")
@Table(name = "chusan_game_event")
class GameEvent: BaseEntity() {
val type = 0
val startDate: LocalDateTime? = null
val endDate: LocalDateTime? = null
@JsonIgnore
val enable = false
}
@Entity(name = "ChusanGameGacha")
@Table(name = "chusan_game_gacha")
class GameGacha : BaseEntity() {
var gachaId = 0
var gachaName: String? = null
var type = 0
var kind = 0
@JsonProperty("isCeiling")
var isCeiling = false
var ceilingCnt = 0
var changeRateCnt1 = 0
var changeRateCnt2 = 0
var startDate: LocalDateTime? = null
var endDate: LocalDateTime? = null
var noticeStartDate: LocalDateTime? = null
var noticeEndDate: LocalDateTime? = null
}
@Entity(name = "ChusanGameGachaCard")
@Table(name = "chusan_game_gacha_card")
class GameGachaCard : BaseEntity() {
var gachaId = 0
var cardId = 0
var rarity = 0
var weight = 0
@JsonProperty("isPickup")
var isPickup = false
}
@Entity(name = "ChusanGameLoginBonus")
@Table(name = "chusan_game_login_bonus")
class GameLoginBonus : BaseEntity() {
var version = 0
var presetId = 0
var loginBonusId = 0
var loginBonusName: String? = null
var presentId = 0
var presentName: String? = null
var itemNum = 0
var needLoginDayCount = 0
var loginBonusCategoryType = 0
}
@Entity(name = "ChusanGameLoginBonusPreset")
@Table(name = "chusan_game_login_bonus_preset")
class GameLoginBonusPreset : BaseEntity() {
var version = 0
var presetName: String? = null
var isEnabled = false
}

View File

@ -1,46 +0,0 @@
package icu.samnyan.aqua.sega.chusan.model.gamedata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "ChusanGameCharge")
@Table(name = "chusan_game_charge")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class GameCharge implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
private int orderId;
@Column(unique = true)
private int chargeId;
private int price;
private LocalDateTime startDate;
private LocalDateTime endDate;
private int salePrice;
private LocalDateTime saleStartDate;
private LocalDateTime saleEndDate;
}

View File

@ -1,37 +0,0 @@
package icu.samnyan.aqua.sega.chusan.model.gamedata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "ChusanGameEvent")
@Table(name = "chusan_game_event")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class GameEvent implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private int id;
private int type;
private LocalDateTime startDate;
private LocalDateTime endDate;
@JsonIgnore
private boolean enable;
}

View File

@ -1,42 +0,0 @@
package icu.samnyan.aqua.sega.chusan.model.gamedata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "ChusanGameGacha")
@Table(name = "chusan_game_gacha")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class GameGacha implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private int id;
private int gachaId;
private String gachaName;
private int type;
private int kind; // 0
@JsonProperty("isCeiling")
private boolean isCeiling;
private int ceilingCnt;
private int changeRateCnt1;
private int changeRateCnt2;
private LocalDateTime startDate;
private LocalDateTime endDate;
private LocalDateTime noticeStartDate;
private LocalDateTime noticeEndDate;
}

View File

@ -1,34 +0,0 @@
package icu.samnyan.aqua.sega.chusan.model.gamedata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "ChusanGameGachaCard")
@Table(name = "chusan_game_gacha_card")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class GameGachaCard implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private int id;
private int gachaId;
private int cardId;
private int rarity;
private int weight;
@JsonProperty("isPickup")
private boolean isPickup;
}

View File

@ -1,31 +0,0 @@
package icu.samnyan.aqua.sega.chusan.model.gamedata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Entity(name = "ChusanGameLoginBonus")
@Table(name = "chusan_game_login_bonus")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class GameLoginBonus implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private int id;
private int version;
private int presetId;
private int loginBonusId;
private String loginBonusName;
private int presentId;
private String presentName;
private int itemNum;
private int needLoginDayCount;
private int loginBonusCategoryType;
}

View File

@ -1,27 +0,0 @@
package icu.samnyan.aqua.sega.chusan.model.gamedata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Entity(name = "ChusanGameLoginBonusPreset")
@Table(name = "chusan_game_login_bonus_preset")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class GameLoginBonusPreset implements Serializable {
// No one cares about chuni lol
// Maimai and Ongeki all got their login bonus but nothing for chunithm
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private int id;
private int version;
private String presetName;
private boolean isEnabled;
}

View File

@ -1,50 +0,0 @@
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.Chu3UserData;
import icu.samnyan.aqua.sega.chusan.model.userdata.UserGacha;
import icu.samnyan.aqua.sega.chusan.model.userdata.UserItem;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.lang.Nullable;
import java.io.Serializable;
import java.util.List;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UpsertUserGacha implements Serializable {
@Nullable
private Chu3UserData userData;
@Nullable
private UserGacha userGacha;
@Nullable
private List<Object> userCharacterList;
@Nullable
private List<Object> userCardList;
@Nullable
private List<GameGachaCard> gameGachaCardList;
@Nullable
private List<UserItem> userItemList;
@Nullable
@JsonProperty("isNewCharacterList")
private String isNewCharacterList;
@Nullable
@JsonProperty("isNewCardList")
private String isNewCardList;
}

View File

@ -0,0 +1,22 @@
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.Chu3UserData
import icu.samnyan.aqua.sega.chusan.model.userdata.UserGacha
import icu.samnyan.aqua.sega.chusan.model.userdata.UserItem
import java.io.Serializable
class UpsertUserGacha : Serializable {
var userData: Chu3UserData? = null
var userGacha: UserGacha? = null
var userCharacterList: List<Any>? = null
var userCardList: List<Any>? = null
var gameGachaCardList: List<GameGachaCard>? = null
var userItemList: List<UserItem>? = null
@JsonProperty("isNewCharacterList")
var isNewCharacterList: String? = null
@JsonProperty("isNewCardList")
var isNewCardList: String? = null
}