forked from Cookies_Github_mirror/AquaDX
[Ongeki] Implement proper endpoint for some new APIs
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
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.UserEventMusic;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Repository("OngekiUserEventMusicRepository")
|
||||
public interface UserEventMusicRepository extends JpaRepository<UserEventMusic, Long> {
|
||||
|
||||
List<UserEventMusic> findByUser_Card_ExtId(long userId);
|
||||
|
||||
Optional<UserEventMusic> findByUserAndEventIdAndTypeAndMusicId(UserData userData, int eventId, int type, int musicId);
|
||||
|
||||
@Transactional
|
||||
void deleteByUser(UserData user);
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
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.UserKop;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Repository("OngekiUserKopRepository")
|
||||
public interface UserKopRepository extends JpaRepository<UserKop, Long> {
|
||||
|
||||
List<UserKop> findByUser_Card_ExtId(long userId);
|
||||
|
||||
Optional<UserKop> findByUserAndKopIdAndAreaId(UserData userData, int kopId, int areaId);
|
||||
|
||||
@Transactional
|
||||
void deleteByUser(UserData user);
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
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.UserTechEvent;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Repository("OngekiUserTechEventRepository")
|
||||
public interface UserTechEventRepository extends JpaRepository<UserTechEvent, Long> {
|
||||
|
||||
List<UserTechEvent> findByUser_Card_ExtId(long userId);
|
||||
|
||||
Optional<UserTechEvent> findByUserAndEventId(UserData userData, int eventId);
|
||||
|
||||
@Transactional
|
||||
void deleteByUser(UserData user);
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
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.UserTradeItem;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Repository("OngekiUserTradeItemRepository")
|
||||
public interface UserTradeItemRepository extends JpaRepository<UserTradeItem, Long> {
|
||||
|
||||
List<UserTradeItem> findByUser_Card_ExtId(long userId);
|
||||
|
||||
List<UserTradeItem> findByUser_Card_ExtIdAndChapterIdGreaterThanEqualAndChapterIdLessThanEqual(long userId, int startChapterId, int endChapterId);
|
||||
|
||||
Optional<UserTradeItem> findByUserAndChapterIdAndTradeItemId(UserData userData, int chapterId, int tradeItemId);
|
||||
|
||||
@Transactional
|
||||
void deleteByUser(UserData user);
|
||||
}
|
||||
@@ -32,6 +32,8 @@ public class GetGameTechMusicHandler implements BaseHandler {
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
List<Object> techMusicList = new ArrayList<>();
|
||||
|
||||
// This endpoint seems related to "techchallengeevent" in game data, TBD
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("length", 0);
|
||||
resultMap.put("gameTechMusicList", techMusicList);
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
package icu.samnyan.aqua.sega.ongeki.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserEventMusicRepository;
|
||||
import icu.samnyan.aqua.sega.ongeki.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserEventMusic;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -23,19 +25,22 @@ public class GetUserEventMusicHandler implements BaseHandler {
|
||||
|
||||
private final BasicMapper mapper;
|
||||
|
||||
private final UserEventMusicRepository userEventMusicRepository;
|
||||
|
||||
@Autowired
|
||||
public GetUserEventMusicHandler(BasicMapper mapper) {
|
||||
public GetUserEventMusicHandler(BasicMapper mapper, UserEventMusicRepository userEventMusicRepository) {
|
||||
this.mapper = mapper;
|
||||
this.userEventMusicRepository = userEventMusicRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
long userId = ((Number) request.get("userId")).longValue();
|
||||
List<Object> eventMusicList = new ArrayList<>();
|
||||
List<UserEventMusic> eventMusicList = userEventMusicRepository.findByUser_Card_ExtId(userId);
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
resultMap.put("length", 0);
|
||||
resultMap.put("length", eventMusicList.size());
|
||||
resultMap.put("userEventMusicList", eventMusicList);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
package icu.samnyan.aqua.sega.ongeki.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserKopRepository;
|
||||
import icu.samnyan.aqua.sega.ongeki.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserKop;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -23,19 +25,22 @@ public class GetUserKopHandler implements BaseHandler {
|
||||
|
||||
private final BasicMapper mapper;
|
||||
|
||||
private final UserKopRepository userKopRepository;
|
||||
|
||||
@Autowired
|
||||
public GetUserKopHandler(BasicMapper mapper) {
|
||||
public GetUserKopHandler(BasicMapper mapper, UserKopRepository userKopRepository) {
|
||||
this.mapper = mapper;
|
||||
this.userKopRepository = userKopRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
long userId = ((Number) request.get("userId")).longValue();
|
||||
List<Object> kopList = new ArrayList<>();
|
||||
List<UserKop> kopList = userKopRepository.findByUser_Card_ExtId(userId);
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
resultMap.put("length", 0);
|
||||
resultMap.put("length", kopList.size());
|
||||
resultMap.put("userKopList", kopList);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
package icu.samnyan.aqua.sega.ongeki.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserTechEventRepository;
|
||||
import icu.samnyan.aqua.sega.ongeki.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserTechEvent;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -23,19 +25,22 @@ public class GetUserTechEventHandler implements BaseHandler {
|
||||
|
||||
private final BasicMapper mapper;
|
||||
|
||||
private final UserTechEventRepository userTechEventRepository;
|
||||
|
||||
@Autowired
|
||||
public GetUserTechEventHandler(BasicMapper mapper) {
|
||||
public GetUserTechEventHandler(BasicMapper mapper, UserTechEventRepository userTechEventRepository) {
|
||||
this.mapper = mapper;
|
||||
this.userTechEventRepository = userTechEventRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
long userId = ((Number) request.get("userId")).longValue();
|
||||
List<Object> techEventList = new ArrayList<>();
|
||||
List<UserTechEvent> techEventList = userTechEventRepository.findByUser_Card_ExtId(userId);
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
resultMap.put("length", 0);
|
||||
resultMap.put("length", techEventList.size());
|
||||
resultMap.put("userTechEventList", techEventList);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
package icu.samnyan.aqua.sega.ongeki.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserTechEventRepository;
|
||||
import icu.samnyan.aqua.sega.ongeki.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.ongeki.model.response.data.UserTechEventRankingItem;
|
||||
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserTechEvent;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
@@ -23,19 +29,33 @@ public class GetUserTechEventRankingHandler implements BaseHandler {
|
||||
|
||||
private final BasicMapper mapper;
|
||||
|
||||
private final UserTechEventRepository userTechEventRepository;
|
||||
|
||||
@Autowired
|
||||
public GetUserTechEventRankingHandler(BasicMapper mapper) {
|
||||
public GetUserTechEventRankingHandler(BasicMapper mapper, UserTechEventRepository userTechEventRepository) {
|
||||
this.mapper = mapper;
|
||||
this.userTechEventRepository = userTechEventRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
long userId = ((Number) request.get("userId")).longValue();
|
||||
List<Object> techEventRankingList = new ArrayList<>();
|
||||
|
||||
String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.0"));
|
||||
|
||||
List<UserTechEvent> techEventList = userTechEventRepository.findByUser_Card_ExtId(userId);
|
||||
List<UserTechEventRankingItem> techEventRankingList = new ArrayList<>();
|
||||
techEventList.forEach(x -> techEventRankingList.add(new UserTechEventRankingItem(
|
||||
x.getEventId(),
|
||||
time,
|
||||
1,
|
||||
x.getTotalTechScore(),
|
||||
x.getTotalPlatinumScore()
|
||||
)));
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
resultMap.put("length", 0);
|
||||
resultMap.put("length", techEventRankingList.size());
|
||||
resultMap.put("userTechEventRankingList", techEventRankingList);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
package icu.samnyan.aqua.sega.ongeki.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserTradeItemRepository;
|
||||
import icu.samnyan.aqua.sega.ongeki.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.ongeki.model.userdata.UserTradeItem;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -23,19 +25,25 @@ public class GetUserTradeItemHandler implements BaseHandler {
|
||||
|
||||
private final BasicMapper mapper;
|
||||
|
||||
private final UserTradeItemRepository userTradeItemRepository;
|
||||
|
||||
@Autowired
|
||||
public GetUserTradeItemHandler(BasicMapper mapper) {
|
||||
public GetUserTradeItemHandler(BasicMapper mapper, UserTradeItemRepository userTradeItemRepository) {
|
||||
this.mapper = mapper;
|
||||
this.userTradeItemRepository = userTradeItemRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
long userId = ((Number) request.get("userId")).longValue();
|
||||
List<Object> tradeItemList = new ArrayList<>();
|
||||
int startChapterId = ((Number) request.get("startChapterId")).intValue();
|
||||
int endChapterId = ((Number) request.get("endChapterId")).intValue();
|
||||
|
||||
List<UserTradeItem> tradeItemList = userTradeItemRepository.findByUser_Card_ExtIdAndChapterIdGreaterThanEqualAndChapterIdLessThanEqual(userId, startChapterId, endChapterId);
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
resultMap.put("length", 0);
|
||||
resultMap.put("length", tradeItemList.size());
|
||||
resultMap.put("userTradeItemList", tradeItemList);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
|
||||
@@ -53,10 +53,14 @@ public class UpsertUserAllHandler implements BaseHandler {
|
||||
private final UserBossRepository userBossRepository;
|
||||
private final UserScenarioRepository userScenarioRepository;
|
||||
private final UserTechCountRepository userTechCountRepository;
|
||||
private final UserTradeItemRepository userTradeItemRepository;
|
||||
private final UserEventMusicRepository userEventMusicRepository;
|
||||
private final UserTechEventRepository userTechEventRepository;
|
||||
private final UserKopRepository userKopRepository;
|
||||
|
||||
@Autowired
|
||||
public UpsertUserAllHandler(BasicMapper mapper,
|
||||
CardService cardService, UserDataRepository userDataRepository, UserOptionRepository userOptionRepository, UserPlaylogRepository userPlaylogRepository, UserActivityRepository userActivityRepository, UserMusicDetailRepository userMusicDetailRepository, UserCharacterRepository userCharacterRepository, UserCardRepository userCardRepository, UserDeckRepository userDeckRepository, UserStoryRepository userStoryRepository, UserChapterRepository userChapterRepository, UserItemRepository userItemRepository, UserMusicItemRepository userMusicItemRepository, UserLoginBonusRepository userLoginBonusRepository, UserEventPointRepository userEventPointRepository, UserMissionPointRepository userMissionPointRepository, UserTrainingRoomRepository userTrainingRoomRepository, UserGeneralDataRepository userGeneralDataRepository, UserBossRepository userBossRepository, UserScenarioRepository userScenarioRepository, UserTechCountRepository userTechCountRepository) {
|
||||
CardService cardService, UserDataRepository userDataRepository, UserOptionRepository userOptionRepository, UserPlaylogRepository userPlaylogRepository, UserActivityRepository userActivityRepository, UserMusicDetailRepository userMusicDetailRepository, UserCharacterRepository userCharacterRepository, UserCardRepository userCardRepository, UserDeckRepository userDeckRepository, UserStoryRepository userStoryRepository, UserChapterRepository userChapterRepository, UserItemRepository userItemRepository, UserMusicItemRepository userMusicItemRepository, UserLoginBonusRepository userLoginBonusRepository, UserEventPointRepository userEventPointRepository, UserMissionPointRepository userMissionPointRepository, UserTrainingRoomRepository userTrainingRoomRepository, UserGeneralDataRepository userGeneralDataRepository, UserBossRepository userBossRepository, UserScenarioRepository userScenarioRepository, UserTechCountRepository userTechCountRepository, UserTradeItemRepository userTradeItemRepository, UserEventMusicRepository userEventMusicRepository, UserTechEventRepository userTechEventRepository, UserKopRepository userKopRepository) {
|
||||
this.mapper = mapper;
|
||||
this.cardService = cardService;
|
||||
this.userDataRepository = userDataRepository;
|
||||
@@ -79,6 +83,10 @@ public class UpsertUserAllHandler implements BaseHandler {
|
||||
this.userBossRepository = userBossRepository;
|
||||
this.userScenarioRepository = userScenarioRepository;
|
||||
this.userTechCountRepository = userTechCountRepository;
|
||||
this.userTradeItemRepository = userTradeItemRepository;
|
||||
this.userEventMusicRepository = userEventMusicRepository;
|
||||
this.userTechEventRepository = userTechEventRepository;
|
||||
this.userKopRepository = userKopRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -131,7 +139,7 @@ public class UpsertUserAllHandler implements BaseHandler {
|
||||
userPlaylogRepository.saveAll(newUserPlaylogList);
|
||||
|
||||
|
||||
// UserSessionlogList doesn't need to save for a private server
|
||||
// UserSessionlogList, UserJewelboostlogLost doesn't need to save for a private server
|
||||
|
||||
|
||||
// UserActivityList
|
||||
@@ -450,6 +458,73 @@ public class UpsertUserAllHandler implements BaseHandler {
|
||||
userScenarioRepository.saveAll(newUserScenarioList);
|
||||
}
|
||||
|
||||
// UserTradeItemList
|
||||
List<UserTradeItem> userTradeItemList = upsertUserAll.getUserTradeItemList();
|
||||
List<UserTradeItem> newUserTradeItemList = new ArrayList<>();
|
||||
|
||||
for (UserTradeItem newUserTradeItem : userTradeItemList) {
|
||||
int chapterId = newUserTradeItem.getChapterId();
|
||||
int tradeItemId = newUserTradeItem.getTradeItemId();
|
||||
|
||||
Optional<UserTradeItem> tradeItemOptional = userTradeItemRepository.findByUserAndChapterIdAndTradeItemId(newUserData, chapterId, tradeItemId);
|
||||
UserTradeItem userTradeItem = tradeItemOptional.orElseGet(() -> new UserTradeItem(newUserData));
|
||||
|
||||
newUserTradeItem.setId(userTradeItem.getId());
|
||||
newUserTradeItem.setUser(newUserData);
|
||||
newUserTradeItemList.add(newUserTradeItem);
|
||||
}
|
||||
userTradeItemRepository.saveAll(newUserTradeItemList);
|
||||
|
||||
// UserEventMusicList
|
||||
List<UserEventMusic> userEventMusicList = upsertUserAll.getUserEventMusicList();
|
||||
List<UserEventMusic> newUserEventMusicList = new ArrayList<>();
|
||||
|
||||
for (UserEventMusic newUserEventMusic : userEventMusicList) {
|
||||
int eventId = newUserEventMusic.getEventId();
|
||||
int type = newUserEventMusic.getType();
|
||||
int musicId = newUserEventMusic.getMusicId();
|
||||
|
||||
Optional<UserEventMusic> eventMusicOptional = userEventMusicRepository.findByUserAndEventIdAndTypeAndMusicId(newUserData, eventId, type, musicId);
|
||||
UserEventMusic userEventMusic = eventMusicOptional.orElseGet(() -> new UserEventMusic(newUserData));
|
||||
|
||||
newUserEventMusic.setId(userEventMusic.getId());
|
||||
newUserEventMusic.setUser(newUserData);
|
||||
newUserEventMusicList.add(newUserEventMusic);
|
||||
}
|
||||
userEventMusicRepository.saveAll(newUserEventMusicList);
|
||||
|
||||
// UserTechEventList
|
||||
List<UserTechEvent> userTechEventList = upsertUserAll.getUserTechEventList();
|
||||
List<UserTechEvent> newUserTechEventList = new ArrayList<>();
|
||||
|
||||
for (UserTechEvent newUserTechEvent : userTechEventList) {
|
||||
int eventId = newUserTechEvent.getEventId();
|
||||
|
||||
Optional<UserTechEvent> techEventOptional = userTechEventRepository.findByUserAndEventId(newUserData, eventId);
|
||||
UserTechEvent userTechEvent = techEventOptional.orElseGet(() -> new UserTechEvent(newUserData));
|
||||
|
||||
newUserTechEvent.setId(userTechEvent.getId());
|
||||
newUserTechEvent.setUser(newUserData);
|
||||
newUserTechEventList.add(newUserTechEvent);
|
||||
}
|
||||
userTechEventRepository.saveAll(newUserTechEventList);
|
||||
|
||||
// UserKopList
|
||||
List<UserKop> userKopList = upsertUserAll.getUserKopList();
|
||||
List<UserKop> newUserKopList = new ArrayList<>();
|
||||
|
||||
for (UserKop newUserKop : userKopList) {
|
||||
int kopId = newUserKop.getKopId();
|
||||
int areaId = newUserKop.getAreaId();
|
||||
|
||||
Optional<UserKop> kopOptional = userKopRepository.findByUserAndKopIdAndAreaId(newUserData, kopId, areaId);
|
||||
UserKop userKop = kopOptional.orElseGet(() -> new UserKop(newUserData));
|
||||
|
||||
newUserKop.setId(userKop.getId());
|
||||
newUserKop.setUser(newUserData);
|
||||
newUserKopList.add(newUserKop);
|
||||
}
|
||||
userKopRepository.saveAll(newUserKopList);
|
||||
|
||||
String json = mapper.write(new CodeResp(1, "upsertUserAll"));
|
||||
logger.info("Response: " + json);
|
||||
|
||||
@@ -79,13 +79,13 @@ public class UpsertUserAll implements Serializable {
|
||||
|
||||
private List<UserScenario> userScenarioList;
|
||||
|
||||
private List<Map<String, Object>> userTradeItemList;
|
||||
private List<UserTradeItem> userTradeItemList;
|
||||
|
||||
private List<Map<String, Object>> userEventMusicList;
|
||||
private List<UserEventMusic> userEventMusicList;
|
||||
|
||||
private List<Map<String, Object>> userTechEventList;
|
||||
private List<UserTechEvent> userTechEventList;
|
||||
|
||||
private List<Map<String, Object>> userKopList;
|
||||
private List<UserKop> userKopList;
|
||||
|
||||
private Map<String, Object> clientSystemInfo;
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package icu.samnyan.aqua.sega.ongeki.model.response.data;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class UserTechEventRankingItem {
|
||||
private int eventId;
|
||||
private String date;
|
||||
private int rank;
|
||||
private int totalTechScore;
|
||||
private int totalPlatinumScore;
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package icu.samnyan.aqua.sega.ongeki.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 = "OngekiUserEventMusic")
|
||||
@Table(name = "ongeki_user_event_music")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserEventMusic implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@JsonIgnore
|
||||
private long id;
|
||||
|
||||
@JsonIgnore
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "user_id")
|
||||
private UserData user;
|
||||
|
||||
private int eventId;
|
||||
|
||||
private int type;
|
||||
|
||||
private int musicId;
|
||||
|
||||
private int level;
|
||||
|
||||
private int techScoreMax;
|
||||
|
||||
private int platinumScoreMax;
|
||||
|
||||
public String techRecordDate;
|
||||
|
||||
@JsonProperty("isTechNewRecord")
|
||||
public boolean isTechNewRecord;
|
||||
|
||||
public UserEventMusic(UserData userData) {
|
||||
this.user = userData;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package icu.samnyan.aqua.sega.ongeki.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 = "OngekiUserKop")
|
||||
@Table(name = "ongeki_user_kop")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserKop implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@JsonIgnore
|
||||
private long id;
|
||||
|
||||
@JsonIgnore
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "user_id")
|
||||
private UserData user;
|
||||
|
||||
private String authKey;
|
||||
|
||||
private int kopId;
|
||||
|
||||
private int areaId;
|
||||
|
||||
private int totalTechScore;
|
||||
|
||||
private int totalPlatinumScore;
|
||||
|
||||
private String techRecordDate;
|
||||
|
||||
@JsonProperty("isTotalTechNewRecord")
|
||||
private boolean isTotalTechNewRecord;
|
||||
|
||||
public UserKop(UserData userData) {
|
||||
this.user = userData;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package icu.samnyan.aqua.sega.ongeki.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 = "OngekiUserTechEvent")
|
||||
@Table(name = "ongeki_user_tech_event")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserTechEvent implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@JsonIgnore
|
||||
private long id;
|
||||
|
||||
@JsonIgnore
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "user_id")
|
||||
private UserData user;
|
||||
|
||||
private int eventId;
|
||||
|
||||
private int totalTechScore;
|
||||
|
||||
private int totalPlatinumScore;
|
||||
|
||||
private String techRecordDate;
|
||||
|
||||
@JsonProperty("isRankingRewarded")
|
||||
private boolean isRankingRewarded;
|
||||
|
||||
@JsonProperty("isTotalTechNewRecord")
|
||||
private boolean isTotalTechNewRecord;
|
||||
|
||||
public UserTechEvent(UserData userData) {
|
||||
this.user = userData;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package icu.samnyan.aqua.sega.ongeki.model.userdata;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Entity(name = "OngekiUserTradeItem")
|
||||
@Table(name = "ongeki_user_trade_item")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserTradeItem implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@JsonIgnore
|
||||
private long id;
|
||||
|
||||
@JsonIgnore
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "user_id")
|
||||
private UserData user;
|
||||
|
||||
private int chapterId;
|
||||
|
||||
private int tradeItemId;
|
||||
|
||||
private int tradeCount;
|
||||
|
||||
public UserTradeItem(UserData userData) {
|
||||
this.user = userData;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user