[chusan] Add login bonus feature

This commit is contained in:
Fleming Karlzett
2023-05-11 02:06:40 +00:00
committed by Dom Eori
parent 3f05b84c0f
commit b858d9a2cd
16 changed files with 536 additions and 6 deletions

View File

@@ -0,0 +1,31 @@
package icu.samnyan.aqua.sega.chusan.model.gamedata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
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

@@ -0,0 +1,27 @@
package icu.samnyan.aqua.sega.chusan.model.gamedata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
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

@@ -0,0 +1,42 @@
package icu.samnyan.aqua.sega.chusan.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.sun.istack.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Required;
import javax.persistence.*;
import java.io.Serializable;
import java.time.LocalDateTime;
@Entity(name = "ChusanUserLoginBonus")
@Table(name = "chusan_user_login_bonus")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserLoginBonus implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private int id;
private int version;
private int user;
private int presetId;
private int bonusCount;
private LocalDateTime lastUpdateDate;
private boolean isWatched;
private boolean isFinished;
public UserLoginBonus(int version, int user, int presetId) {
this.version = version;
this.user = user;
this.presetId = presetId;
this.bonusCount = 0;
this.lastUpdateDate = LocalDateTime.parse("2018-01-01T00:00:00");
this.isWatched = false;
this.isFinished = false;
}
}