[maimai2] Implement game event and user playlog for possible future use

This commit is contained in:
Dom Eori
2021-08-30 22:31:32 +09:00
parent 0cf5039ede
commit b2e2b36b6f
10 changed files with 644 additions and 8 deletions

View File

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

View File

@@ -0,0 +1,20 @@
package icu.samnyan.aqua.sega.maimai2.model.request;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserPlaylog;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UploadUserPlaylog implements Serializable {
private long userId;
private UserPlaylog userPlaylog;
}

View File

@@ -0,0 +1,256 @@
package icu.samnyan.aqua.sega.maimai2.model.userdata;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "Maimai2UserPlaylog")
@Table(name = "maimai2_user_playlog")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserPlaylog implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "user_id")
private UserDetail user;
private int orderId;
private long playlogId;
private int version;
private int placeId;
private String placeName;
private long loginDate;
private String playDate;
private String userPlayDate;
private int type;
private int musicId;
private int level;
private int trackNo;
private int vsMode;
private String vsUserName;
private int vsStatus;
private int vsUserRating;
private int vsUserAchievement;
private int vsUserGradeRank;
private int vsRank;
private int playerNum;
private long playedUserId1;
private String playedUserName1;
private int playedMusicLevel1;
private long playedUserId2;
private String playedUserName2;
private int playedMusicLevel2;
private long playedUserId3;
private String playedUserName3;
private int playedMusicLevel3;
private int characterId1;
private int characterLevel1;
private int characterAwakening1;
private int characterId2;
private int characterLevel2;
private int characterAwakening2;
private int characterId3;
private int characterLevel3;
private int characterAwakening3;
private int characterId4;
private int characterLevel4;
private int characterAwakening4;
private int characterId5;
private int characterLevel5;
private int characterAwakening5;
private int achievement;
private int deluxscore;
private int scoreRank;
private int maxCombo;
private int totalCombo;
private int maxSync;
private int totalSync;
private int tapCriticalPerfect;
private int tapPerfect;
private int tapGreat;
private int tapGood;
private int tapMiss;
private int holdCriticalPerfect;
private int holdPerfect;
private int holdGreat;
private int holdGood;
private int holdMiss;
private int slideCriticalPerfect;
private int slidePerfect;
private int slideGreat;
private int slideGood;
private int slideMiss;
private int touchCriticalPerfect;
private int touchPerfect;
private int touchGreat;
private int touchGood;
private int touchMiss;
private int breakCriticalPerfect;
private int breakPerfect;
private int breakGreat;
private int breakGood;
private int breakMiss;
@JsonProperty("Tap")
private boolean isTap;
@JsonProperty("Hold")
private boolean isHold;
@JsonProperty("Slide")
private boolean isSlide;
@JsonProperty("Touch")
private boolean isTouch;
@JsonProperty("Break")
private boolean isBreak;
@JsonProperty("CriticalDisp")
private boolean isCriticalDisp;
@JsonProperty("FastLateDisp")
private boolean isFastLateDisp;
private int fastCount;
private int lateCount;
@JsonProperty("AchieveNewRecord")
private boolean isAchieveNewRecord;
@JsonProperty("DeluxscoreNewRecord")
private boolean isDeluxscoreNewRecord;
private int comboStatus;
private int syncStatus;
@JsonProperty("Clear")
private boolean isClear;
private int beforeRating;
private int afterRating;
private int beforeGrade;
private int afterGrade;
private int afterGradeRank;
private int beforeDeluxRating;
private int afterDeluxRating;
@JsonProperty("PlayTutorial")
private boolean isPlayTutorial;
@JsonProperty("EventMode")
private boolean isEventMode;
@JsonProperty("FreedomMode")
private boolean isFreedomMode;
private int playMode;
@JsonProperty("NewFree")
private boolean isNewFree;
private int extNum1;
private int extNum2;
}