[+] Ongeki adaptor

This commit is contained in:
Azalea
2024-02-26 15:08:45 -05:00
parent 1c8860c596
commit bb2c8ae8e5
9 changed files with 119 additions and 34 deletions

View File

@@ -1,5 +1,6 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata;
import icu.samnyan.aqua.net.utils.GenericUserDataRepo;
import icu.samnyan.aqua.sega.general.model.Card;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData;
import org.springframework.data.jpa.repository.JpaRepository;
@@ -14,10 +15,10 @@ import java.util.Optional;
* @author samnyan (privateamusement@protonmail.com)
*/
@Repository("OngekiUserDataRepository")
public interface UserDataRepository extends JpaRepository<UserData, Long> {
public interface UserDataRepository extends JpaRepository<UserData, Long>, GenericUserDataRepo {
List<UserData> findByCard_ExtIdIn(Collection<Long> userIds);
Optional<UserData> findByCard(Card card);
UserData findByCard(Card card);
Optional<UserData> findByCard_ExtId(long aimeId);

View File

@@ -1,27 +0,0 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData;
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserPlaylog;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Repository("OngekiUserPlaylogRepository")
public interface UserPlaylogRepository extends JpaRepository<UserPlaylog, Long> {
List<UserPlaylog> findByUser_Card_ExtId(long userId);
Page<UserPlaylog> findByUser_Card_ExtId(long userId, Pageable page);
List<UserPlaylog> findByUser_Card_ExtIdAndMusicIdAndLevel(long userId, int musicId, int level);
@Transactional
void deleteByUser(UserData user);
}

View File

@@ -0,0 +1,25 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata
import icu.samnyan.aqua.net.utils.GenericPlaylogRepo
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserData
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserPlaylog
import org.springframework.data.domain.Page
import org.springframework.data.domain.Pageable
import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.stereotype.Repository
import org.springframework.transaction.annotation.Transactional
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Repository("OngekiUserPlaylogRepository")
interface UserPlaylogRepository : JpaRepository<UserPlaylog, Long>, GenericPlaylogRepo {
fun findByUser_Card_ExtId(userId: Long): List<UserPlaylog>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserPlaylog>
fun findByUser_Card_ExtIdAndMusicIdAndLevel(userId: Long, musicId: Int, level: Int): List<UserPlaylog>
@Transactional
fun deleteByUser(user: UserData)
}

View File

@@ -3,6 +3,7 @@ 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.utils.IGenericUserData;
import icu.samnyan.aqua.sega.general.model.Card;
import icu.samnyan.aqua.sega.util.jackson.AccessCodeSerializer;
import lombok.AllArgsConstructor;
@@ -20,7 +21,7 @@ import java.io.Serializable;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserData implements Serializable {
public class UserData implements Serializable, IGenericUserData {
private static final long serialVersionUID = 1L;
@@ -157,4 +158,13 @@ public class UserData implements Serializable {
private int lastEmoneyBrand;
@Override
public int getIconId() {
return characterId;
}
@Override
public long getTotalScore() {
return sumTechHighScore;
}
}

View File

@@ -2,11 +2,14 @@ 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.utils.IGenericGamePlaylog;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import org.jetbrains.annotations.NotNull;
import java.io.Serializable;
/**
@@ -17,7 +20,7 @@ import java.io.Serializable;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserPlaylog implements Serializable {
public class UserPlaylog implements Serializable, IGenericGamePlaylog {
private static final long serialVersionUID = 1L;
@@ -157,4 +160,24 @@ public class UserPlaylog implements Serializable {
private int battlePoint;
@NotNull
@Override
public Object getDate() {
return playDate;
}
@Override
public int getAchievement() {
return techScore;
}
@Override
public int getTotalCombo() {
return maxCombo;
}
@Override
public int getAfterRating() {
return playerRating;
}
}