[O] More simplification

This commit is contained in:
Azalea
2024-03-16 21:35:17 -04:00
parent 54b1174e1b
commit 742ea50c2c
35 changed files with 202 additions and 321 deletions

View File

@@ -1,12 +0,0 @@
package icu.samnyan.aqua.sega.maimai2.dao.gamedata;
import icu.samnyan.aqua.sega.maimai2.model.gamedata.GameCharge;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Repository("Maimai2GameChargeRepository")
public interface GameChargeRepository extends JpaRepository<GameCharge, Long> {
}

View File

@@ -1,16 +0,0 @@
package icu.samnyan.aqua.sega.maimai2.dao.gamedata;
import icu.samnyan.aqua.sega.maimai2.model.gamedata.GameEvent;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Repository("Maimai2GameEventRepository")
public interface GameEventRepository extends JpaRepository<GameEvent, Integer> {
List<GameEvent> findByTypeAndEnable(int type, boolean enable);
}

View File

@@ -1,13 +0,0 @@
package icu.samnyan.aqua.sega.maimai2.dao.gamedata;
import icu.samnyan.aqua.sega.maimai2.model.gamedata.GameSellingCard;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Repository("Maimai2GameSellingCardRepository")
public interface GameSellingCardRepository extends JpaRepository<GameSellingCard, Long> {
}

View File

@@ -1,189 +0,0 @@
package icu.samnyan.aqua.sega.maimai2.dao.userdata
import icu.samnyan.aqua.net.games.GenericPlaylogRepo
import icu.samnyan.aqua.net.games.GenericUserDataRepo
import icu.samnyan.aqua.sega.general.model.Card
import icu.samnyan.aqua.sega.maimai2.model.userdata.*
import org.springframework.data.domain.Page
import org.springframework.data.domain.Pageable
import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.data.repository.NoRepositoryBean
import org.springframework.stereotype.Repository
import org.springframework.transaction.annotation.Transactional
import java.util.*
@NoRepositoryBean
interface Deletable {
@Transactional
fun deleteByUser(user: UserDetail)
}
@Repository("Maimai2MapEncountNpcRepository")
interface MapEncountNpcRepository : JpaRepository<MapEncountNpc, Long>, Deletable {
fun findByUser_Card_ExtId(userId: Long): List<MapEncountNpc>
fun findByUserAndMusicId(user: UserDetail, musicId: Int): Optional<MapEncountNpc>
fun findByUser_Card_ExtIdAndMusicId(userId: Long, musicId: Int, page: Pageable): Page<MapEncountNpc>
}
@Repository("Maimai2UserActRepository")
interface UserActRepository : JpaRepository<UserAct, Long>, Deletable {
fun findByUser_Card_ExtId(userId: Long): List<UserAct>
fun findByUserAndKindAndActivityId(user: UserDetail, kind: Int, id: Int): Optional<UserAct>
fun findByUser_Card_ExtIdAndKind(userId: Long, kind: Int): List<UserAct>
}
@Repository("Maimai2UserCardRepository")
interface UserCardRepository : JpaRepository<UserCard, Long>, Deletable {
fun findByUserAndCardId(user: UserDetail, cardId: Int): Optional<UserCard>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserCard>
}
@Repository("Maimai2UserCharacterRepository")
interface UserCharacterRepository : JpaRepository<UserCharacter, Long>, Deletable {
fun findByUser_Card_ExtId(userId: Long): List<UserCharacter>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserCharacter>
fun findByUserAndCharacterId(user: UserDetail, characterId: Int): Optional<UserCharacter>
}
@Repository("Maimai2UserChargeRepository")
interface UserChargeRepository : JpaRepository<UserCharge, Long>, Deletable {
fun findByUser_Card_ExtId(extId: Long): List<UserCharge>
fun findByUserAndChargeId(extId: UserDetail, chargeId: Int): Optional<UserCharge>
}
@Repository("Maimai2UserCourseRepository")
interface UserCourseRepository : JpaRepository<UserCourse, Long>, Deletable {
fun findByUser_Card_ExtId(userId: Long): List<UserCourse>
fun findByUserAndCourseId(user: UserDetail, courseId: Int): Optional<UserCourse>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserCourse>
}
@Repository("Maimai2UserDataRepository")
interface UserDataRepository : GenericUserDataRepo<UserDetail> {
fun findByCardExtId(userId: Long): Optional<UserDetail>
@Transactional
fun deleteByCard(card: Card)
}
@Repository("Maimai2UserExtendRepository")
interface UserExtendRepository : JpaRepository<UserExtend, Long>, Deletable {
fun findByUser(user: UserDetail): Optional<UserExtend>
fun findByUser_Card_ExtId(extId: Long): Optional<UserExtend>
}
@Repository("Maimai2UserFavoriteRepository")
interface UserFavoriteRepository : JpaRepository<UserFavorite, Long>, Deletable {
fun findByUser_Card_ExtId(userId: Long): List<UserFavorite>
fun findByUserAndItemKind(user: UserDetail, kind: Int): Optional<UserFavorite>
//Optional<UserFavorite> findByUserIdAndItemKind(long userId, int kind);
fun findByUserIdAndItemKind(userId: Long, kind: Int): List<UserFavorite>
}
@Repository("Maimai2UserFriendSeasonRankingRepository")
interface UserFriendSeasonRankingRepository : JpaRepository<UserFriendSeasonRanking, Long>, Deletable {
fun findByUser_Card_ExtId(userId: Long): List<UserFriendSeasonRanking>
fun findByUserAndSeasonId(user: UserDetail, seasonId: Int): Optional<UserFriendSeasonRanking>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserFriendSeasonRanking>
}
@Repository("Maimai2UserGeneralDataRepository")
interface UserGeneralDataRepository : JpaRepository<UserGeneralData, Long>, Deletable {
fun findByUser_Card_ExtId(userId: Long): List<UserGeneralData>
fun findByUserAndPropertyKey(user: UserDetail, key: String): Optional<UserGeneralData>
fun findByUser_Card_ExtIdAndPropertyKey(userId: Long, key: String): Optional<UserGeneralData>
}
@Repository("Maimai2UserItemRepository")
interface UserItemRepository : JpaRepository<UserItem, Long>, Deletable {
fun findByUser_Card_ExtId(userId: Long): List<UserItem>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserItem>
fun findByUserAndItemKindAndItemId(user: UserDetail, itemKind: Int, itemId: Int): Optional<UserItem>
fun findByUser_Card_ExtIdAndItemKind(userId: Long, kind: Int, page: Pageable): Page<UserItem>
}
@Repository("Maimai2UserLoginBonusRepository")
interface UserLoginBonusRepository : JpaRepository<UserLoginBonus, Long>, Deletable {
fun findByUser_Card_ExtId(userId: Long): List<UserLoginBonus>
fun findByUserAndBonusId(user: UserDetail, bonusId: Int): Optional<UserLoginBonus>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserLoginBonus>
}
@Repository("Maimai2UserMapRepository")
interface UserMapRepository : JpaRepository<UserMap, Long>, Deletable {
fun findByUser_Card_ExtId(userId: Long): List<UserMap>
fun findByUserAndMapId(user: UserDetail, mapId: Int): Optional<UserMap>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserMap>
}
@Repository("Maimai2UserMusicDetailRepository")
interface UserMusicDetailRepository : JpaRepository<UserMusicDetail, Long>, Deletable {
fun findByUser_Card_ExtId(userId: Long): List<UserMusicDetail>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<UserMusicDetail>
fun findByUser_Card_ExtIdAndMusicId(userId: Long, id: Int): List<UserMusicDetail>
fun findByUserAndMusicIdAndLevel(user: UserDetail, musicId: Int, level: Int): Optional<UserMusicDetail>
}
@Repository("Maimai2UserOptionRepository")
interface UserOptionRepository : JpaRepository<UserOption, Long>, Deletable {
fun findByUser(user: UserDetail): Optional<UserOption>
fun findByUser_Card_ExtId(extId: Long): Optional<UserOption>
}
@Repository("Maimai2UserPlaylogRepository")
interface UserPlaylogRepository : GenericPlaylogRepo<UserPlaylog>, Deletable {
fun findByUserCardExtId(userId: Long, page: Pageable): Page<UserPlaylog>
fun findByUser_Card_ExtIdAndMusicIdAndLevel(userId: Long, musicId: Int, level: Int): List<UserPlaylog>
}
@Repository("Maimai2UserPrintDetailRepository")
interface UserPrintDetailRepository : JpaRepository<UserPrintDetail, Long>
@Repository("Maimai2UserUdemaeRepository")
interface UserUdemaeRepository : JpaRepository<UserUdemae, Long>, Deletable {
fun findByUser(user: UserDetail): Optional<UserUdemae>
fun findByUser_Card_ExtId(extId: Long): Optional<UserUdemae>
}

View File

@@ -2,7 +2,7 @@ package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.gamedata.GameSellingCardRepository;
import icu.samnyan.aqua.sega.maimai2.model.GameSellingCardRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.gamedata.GameSellingCard;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserCharacterRepository;
import icu.samnyan.aqua.sega.maimai2.model.Mai2UserCharacterRepo;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserCharacter;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
@@ -23,9 +23,9 @@ public class CMGetUserCharacterHandler implements BaseHandler {
private final BasicMapper mapper;
private final UserCharacterRepository userCharacterRepository;
private final Mai2UserCharacterRepo userCharacterRepository;
public CMGetUserCharacterHandler(BasicMapper mapper, UserCharacterRepository userCharacterRepository) {
public CMGetUserCharacterHandler(BasicMapper mapper, Mai2UserCharacterRepo userCharacterRepository) {
this.mapper = mapper;
this.userCharacterRepository = userCharacterRepository;
}

View File

@@ -3,7 +3,7 @@ package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserDataRepository;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.gamedata.GameChargeRepository;
import icu.samnyan.aqua.sega.maimai2.model.GameChargeRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.gamedata.GameCharge;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;

View File

@@ -2,7 +2,7 @@ package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.gamedata.GameEventRepository;
import icu.samnyan.aqua.sega.maimai2.model.GameEventRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.gamedata.GameEvent;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;

View File

@@ -2,7 +2,7 @@ package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserActRepository;
import icu.samnyan.aqua.sega.maimai2.model.Mai2UserActRepo;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserActivity;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserAct;
@@ -25,9 +25,9 @@ public class GetUserActivityHandler implements BaseHandler {
private final BasicMapper mapper;
private final UserActRepository userActRepository;
private final Mai2UserActRepo userActRepository;
public GetUserActivityHandler(BasicMapper mapper, UserActRepository userActRepository) {
public GetUserActivityHandler(BasicMapper mapper, Mai2UserActRepo userActRepository) {
this.mapper = mapper;
this.userActRepository = userActRepository;
}

View File

@@ -2,7 +2,7 @@ package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserCardRepository;
import icu.samnyan.aqua.sega.maimai2.model.Mai2UserCardRepo;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserCard;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
@@ -25,9 +25,9 @@ public class GetUserCardHandler implements BaseHandler {
private final BasicMapper mapper;
private final UserCardRepository userCardRepository;
private final Mai2UserCardRepo userCardRepository;
public GetUserCardHandler(UserCardRepository userCardRepository, BasicMapper mapper) {
public GetUserCardHandler(Mai2UserCardRepo userCardRepository, BasicMapper mapper) {
this.mapper = mapper;
this.userCardRepository = userCardRepository;
}

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserCharacterRepository;
import icu.samnyan.aqua.sega.maimai2.model.Mai2UserCharacterRepo;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserCharacter;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
@@ -23,9 +23,9 @@ public class GetUserCharacterHandler implements BaseHandler {
private final BasicMapper mapper;
private final UserCharacterRepository userCharacterRepository;
private final Mai2UserCharacterRepo userCharacterRepository;
public GetUserCharacterHandler(BasicMapper mapper, UserCharacterRepository userCharacterRepository) {
public GetUserCharacterHandler(BasicMapper mapper, Mai2UserCharacterRepo userCharacterRepository) {
this.mapper = mapper;
this.userCharacterRepository = userCharacterRepository;
}

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserChargeRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserChargeRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserCharge;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserCourseRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserCourseRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserCourse;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserExtendRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserExtendRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserExtend;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
@@ -33,7 +33,7 @@ public class GetUserExtendHandler implements BaseHandler {
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
UserExtend userExtend = userExtendRepository.findByUser_Card_ExtId(userId).orElseThrow();
UserExtend userExtend = userExtendRepository.findSingleByUser_Card_ExtId(userId).orElseThrow();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserFavoriteRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserFavoriteRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserFavorite;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;

View File

@@ -3,7 +3,7 @@ package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserFavoriteItem;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserGeneralData;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserGeneralDataRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserGeneralDataRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.util.jackson.StringMapper;
import java.util.LinkedHashMap;

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserFriendSeasonRankingRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserFriendSeasonRankingRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserFriendSeasonRanking;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserItemRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserItemRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserItem;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserLoginBonusRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserLoginBonusRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserLoginBonus;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserMapRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserMapRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserMap;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserMusicDetailRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserMusicDetailRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserMusic;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserMusicDetail;

View File

@@ -1,7 +1,7 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserOptionRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserOptionRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserOption;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
@@ -33,7 +33,7 @@ public class GetUserOptionHandler implements BaseHandler {
public String handle(Map<String, Object> request) throws JsonProcessingException {
long userId = ((Number) request.get("userId")).longValue();
UserOption userOption = userOptionRepository.findByUser_Card_ExtId(userId).orElseThrow();
UserOption userOption = userOptionRepository.findSingleByUser_Card_ExtId(userId).orElseThrow();
Map<String, Object> resultMap = new LinkedHashMap<>();
resultMap.put("userId", userId);

View File

@@ -1,8 +1,8 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserOptionRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserOptionRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.response.GetUserPreviewResp;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail;
@@ -46,7 +46,7 @@ public class GetUserPreviewHandler implements BaseHandler {
String json;
if (userDataOptional.isPresent() && userDataOptional.get().getUserName() != null) {
UserDetail user = userDataOptional.get();
Optional<UserOption> userOptionOptional = userOptionRepository.findByUser_Card_ExtId(userId);
Optional<UserOption> userOptionOptional = userOptionRepository.findSingleByUser_Card_ExtId(userId);
resp.setUserName(user.getUserName());
resp.setLogin(false);
resp.setLastGameId(user.getLastGameId());

View File

@@ -2,9 +2,9 @@ package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserGeneralDataRepository;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserUdemaeRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserGeneralDataRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserUdemaeRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserRating;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail;
@@ -89,7 +89,7 @@ public class GetUserRatingHandler implements BaseHandler {
userRating.setNextNewRatingList(emptyRating);
}
Optional<UserUdemae> optionalUserUdemae = userUdemaeRepository.findByUser_Card_ExtId(userId);
Optional<UserUdemae> optionalUserUdemae = userUdemaeRepository.findSingleByUser_Card_ExtId(userId);
if (optionalUserUdemae.isPresent()) {
UserUdemae userUdemae = optionalUserUdemae.get();
userRating.setUdemae(userUdemae);

View File

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Component;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserRivalData;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail;
import icu.samnyan.aqua.sega.util.jackson.StringMapper;

View File

@@ -13,7 +13,7 @@ import org.springframework.stereotype.Component;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserMusicDetailRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserMusicDetailRepository;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserRivalMusic;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserRivalMusicDetail;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserMusicDetail;

View File

@@ -1,8 +1,8 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl
import ext.millis
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserDataRepository
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserPlaylogRepository
import icu.samnyan.aqua.sega.maimai2.model.UserDataRepository
import icu.samnyan.aqua.sega.maimai2.model.UserPlaylogRepository
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler
import icu.samnyan.aqua.sega.maimai2.model.request.UploadUserPlaylog
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserPlaylog

View File

@@ -3,8 +3,8 @@ package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.general.model.Card;
import icu.samnyan.aqua.sega.general.service.CardService;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.*;
import icu.samnyan.aqua.sega.maimai.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.*;
import icu.samnyan.aqua.sega.maimai2.model.request.UpsertUserAll;
import icu.samnyan.aqua.sega.maimai2.model.request.data.UserAll;
import icu.samnyan.aqua.sega.maimai2.model.response.data.UserActivity;
@@ -39,8 +39,8 @@ public class UpsertUserAllHandler implements BaseHandler {
private final UserOptionRepository userOptionRepository;
private final UserItemRepository userItemRepository;
private final UserMusicDetailRepository userMusicDetailRepository;
private final UserActRepository userActRepository;
private final UserCharacterRepository userCharacterRepository;
private final Mai2UserActRepo userActRepository;
private final Mai2UserCharacterRepo userCharacterRepository;
private final UserMapRepository userMapRepository;
private final UserLoginBonusRepository userLoginBonusRepository;
private final UserFavoriteRepository userFavoriteRepository;

View File

@@ -2,9 +2,9 @@ package icu.samnyan.aqua.sega.maimai2.handler.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserCardRepository;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.dao.userdata.UserPrintDetailRepository;
import icu.samnyan.aqua.sega.maimai2.model.Mai2UserCardRepo;
import icu.samnyan.aqua.sega.maimai2.model.UserDataRepository;
import icu.samnyan.aqua.sega.maimai2.model.UserPrintDetailRepository;
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler;
import icu.samnyan.aqua.sega.maimai2.model.request.UpsertUserPrint;
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserCard;
@@ -29,12 +29,12 @@ public class UpsertUserPrintHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(UpsertUserPrintHandler.class);
private final BasicMapper mapper;
private final UserCardRepository userCardRepository;
private final Mai2UserCardRepo userCardRepository;
private final UserPrintDetailRepository userPrintDetailRepository;
private final UserDataRepository userDataRepository;
@Autowired
public UpsertUserPrintHandler(BasicMapper mapper, UserPrintDetailRepository userPrintDetailRepository, UserCardRepository userCardRepository, UserDataRepository userDataRepository) {
public UpsertUserPrintHandler(BasicMapper mapper, UserPrintDetailRepository userPrintDetailRepository, Mai2UserCardRepo userCardRepository, UserDataRepository userDataRepository) {
this.mapper = mapper;
this.userPrintDetailRepository = userPrintDetailRepository;
this.userCardRepository = userCardRepository;

View File

@@ -0,0 +1,136 @@
@file:Suppress("FunctionName")
package icu.samnyan.aqua.sega.maimai2.model
import icu.samnyan.aqua.net.games.GenericPlaylogRepo
import icu.samnyan.aqua.net.games.GenericUserDataRepo
import icu.samnyan.aqua.sega.general.model.Card
import icu.samnyan.aqua.sega.maimai2.model.gamedata.GameCharge
import icu.samnyan.aqua.sega.maimai2.model.gamedata.GameEvent
import icu.samnyan.aqua.sega.maimai2.model.gamedata.GameSellingCard
import icu.samnyan.aqua.sega.maimai2.model.userdata.*
import org.springframework.data.domain.Page
import org.springframework.data.domain.Pageable
import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.data.repository.NoRepositoryBean
import org.springframework.stereotype.Repository
import org.springframework.transaction.annotation.Transactional
import java.util.*
@NoRepositoryBean
interface UserLinked<T>: JpaRepository<T, Long> {
fun findByUser(user: UserDetail): Optional<T>
fun findByUser_Card_ExtId(userId: Long): List<T>
fun findByUser_Card_ExtId(userId: Long, page: Pageable): Page<T>
fun findSingleByUser_Card_ExtId(userId: Long): Optional<T>
@Transactional
fun deleteByUser(user: UserDetail)
}
@Repository("Maimai2MapEncountNpcRepository")
interface Mai2MapEncountNpcRepo : UserLinked<MapEncountNpc>
@Repository("Maimai2UserActRepository")
interface Mai2UserActRepo : UserLinked<UserAct> {
fun findByUserAndKindAndActivityId(user: UserDetail, kind: Int, id: Int): Optional<UserAct>
fun findByUser_Card_ExtIdAndKind(userId: Long, kind: Int): List<UserAct>
}
@Repository("Maimai2UserCardRepository")
interface Mai2UserCardRepo : UserLinked<UserCard> {
fun findByUserAndCardId(user: UserDetail, cardId: Int): Optional<UserCard>
}
@Repository("Maimai2UserCharacterRepository")
interface Mai2UserCharacterRepo : UserLinked<UserCharacter> {
fun findByUserAndCharacterId(user: UserDetail, characterId: Int): Optional<UserCharacter>
}
@Repository("Maimai2UserChargeRepository")
interface UserChargeRepository : UserLinked<UserCharge>
@Repository("Maimai2UserCourseRepository")
interface UserCourseRepository : UserLinked<UserCourse> {
fun findByUserAndCourseId(user: UserDetail, courseId: Int): Optional<UserCourse>
}
@Repository("Maimai2UserDataRepository")
interface UserDataRepository : GenericUserDataRepo<UserDetail> {
fun findByCardExtId(userId: Long): Optional<UserDetail>
@Transactional
fun deleteByCard(card: Card)
}
@Repository("Maimai2UserExtendRepository")
interface UserExtendRepository : UserLinked<UserExtend>
@Repository("Maimai2UserFavoriteRepository")
interface UserFavoriteRepository : UserLinked<UserFavorite> {
fun findByUserAndItemKind(user: UserDetail, kind: Int): Optional<UserFavorite>
fun findByUserIdAndItemKind(userId: Long, kind: Int): List<UserFavorite>
}
@Repository("Maimai2UserFriendSeasonRankingRepository")
interface UserFriendSeasonRankingRepository : UserLinked<UserFriendSeasonRanking> {
fun findByUserAndSeasonId(user: UserDetail, seasonId: Int): Optional<UserFriendSeasonRanking>
}
@Repository("Maimai2UserGeneralDataRepository")
interface UserGeneralDataRepository : UserLinked<UserGeneralData> {
fun findByUserAndPropertyKey(user: UserDetail, key: String): Optional<UserGeneralData>
fun findByUser_Card_ExtIdAndPropertyKey(userId: Long, key: String): Optional<UserGeneralData>
}
@Repository("Maimai2UserItemRepository")
interface UserItemRepository : UserLinked<UserItem> {
fun findByUserAndItemKindAndItemId(user: UserDetail, itemKind: Int, itemId: Int): Optional<UserItem>
fun findByUser_Card_ExtIdAndItemKind(userId: Long, kind: Int, page: Pageable): Page<UserItem>
}
@Repository("Maimai2UserLoginBonusRepository")
interface UserLoginBonusRepository : UserLinked<UserLoginBonus> {
fun findByUserAndBonusId(user: UserDetail, bonusId: Int): Optional<UserLoginBonus>
}
@Repository("Maimai2UserMapRepository")
interface UserMapRepository : UserLinked<UserMap> {
fun findByUserAndMapId(user: UserDetail, mapId: Int): Optional<UserMap>
}
@Repository("Maimai2UserMusicDetailRepository")
interface UserMusicDetailRepository : UserLinked<UserMusicDetail> {
fun findByUser_Card_ExtIdAndMusicId(userId: Long, id: Int): List<UserMusicDetail>
fun findByUserAndMusicIdAndLevel(user: UserDetail, musicId: Int, level: Int): Optional<UserMusicDetail>
}
@Repository("Maimai2UserOptionRepository")
interface UserOptionRepository : UserLinked<UserOption> {
}
@Repository("Maimai2UserPlaylogRepository")
interface UserPlaylogRepository : GenericPlaylogRepo<UserPlaylog>, UserLinked<UserPlaylog> {
fun findByUser_Card_ExtIdAndMusicIdAndLevel(userId: Long, musicId: Int, level: Int): List<UserPlaylog>
}
@Repository("Maimai2UserPrintDetailRepository")
interface UserPrintDetailRepository : JpaRepository<UserPrintDetail, Long>
@Repository("Maimai2UserUdemaeRepository")
interface UserUdemaeRepository : UserLinked<UserUdemae>
@Repository("Maimai2GameChargeRepository")
interface GameChargeRepository : JpaRepository<GameCharge, Long>
@Repository("Maimai2GameEventRepository")
interface GameEventRepository : JpaRepository<GameEvent, Int> {
fun findByTypeAndEnable(type: Int, enable: Boolean): List<GameEvent>
}
@Repository("Maimai2GameSellingCardRepository")
interface GameSellingCardRepository : JpaRepository<GameSellingCard, Long>