From 18554ec439b08ec76cb1e2be1839d3abb4cb9a38 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Thu, 26 Dec 2024 21:36:39 -0500 Subject: [PATCH] [-] Remove unused --- .../v2/ApiChuniV2PlayerDataController.java | 110 ------------------ .../sega/chusan/handler/GameLoginHandler.java | 32 +---- .../sega/chusan/service/GameMusicService.java | 45 ------- .../chusan/service/UserActivityService.java | 12 -- 4 files changed, 5 insertions(+), 194 deletions(-) delete mode 100644 src/main/java/icu/samnyan/aqua/sega/chusan/service/GameMusicService.java diff --git a/src/main/java/icu/samnyan/aqua/api/controller/sega/game/chuni/v2/ApiChuniV2PlayerDataController.java b/src/main/java/icu/samnyan/aqua/api/controller/sega/game/chuni/v2/ApiChuniV2PlayerDataController.java index 4a74f18e..d92fc4b2 100644 --- a/src/main/java/icu/samnyan/aqua/api/controller/sega/game/chuni/v2/ApiChuniV2PlayerDataController.java +++ b/src/main/java/icu/samnyan/aqua/api/controller/sega/game/chuni/v2/ApiChuniV2PlayerDataController.java @@ -3,20 +3,12 @@ package icu.samnyan.aqua.api.controller.sega.game.chuni.v2; import com.fasterxml.jackson.core.type.TypeReference; import icu.samnyan.aqua.api.model.MessageResponse; import icu.samnyan.aqua.api.model.ReducedPageResponse; -import icu.samnyan.aqua.api.model.resp.sega.chuni.v2.RatingItem; import icu.samnyan.aqua.api.model.resp.sega.chuni.v2.RecentResp; import icu.samnyan.aqua.api.model.resp.sega.chuni.v2.external.Chu3DataExport; -import icu.samnyan.aqua.api.model.resp.sega.chuni.v2.external.ChuniDataImport; -import icu.samnyan.aqua.api.model.resp.sega.chuni.v2.external.ExternalUserData; import icu.samnyan.aqua.api.util.ApiMapper; -import icu.samnyan.aqua.sega.chusan.model.gamedata.Level; -import icu.samnyan.aqua.sega.chusan.model.gamedata.Music; import icu.samnyan.aqua.sega.chusan.model.userdata.*; import icu.samnyan.aqua.sega.chusan.service.*; -import icu.samnyan.aqua.sega.general.model.Card; import icu.samnyan.aqua.sega.general.service.CardService; -import icu.samnyan.aqua.sega.util.VersionInfo; -import icu.samnyan.aqua.sega.util.VersionUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -31,7 +23,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.*; -import java.util.stream.Collectors; /** * For all aimeId parameter, should use String @@ -61,7 +52,6 @@ public class ApiChuniV2PlayerDataController { private final UserMusicDetailService userMusicDetailService; private final UserPlaylogService userPlaylogService; private final UserGeneralDataService userGeneralDataService; - private final GameMusicService gameMusicService; @PutMapping("profile/username") public Chu3UserData updateName(@RequestBody Map request) { @@ -171,90 +161,6 @@ public class ApiChuniV2PlayerDataController { }), playLogs.getPageable().getPageNumber(), playLogs.getTotalPages(), playLogs.getTotalElements()); } - @GetMapping("rating") - public List getRating(@RequestParam String aimeId) { - - Map musicMap = gameMusicService.getIdMap(); - List details = userMusicDetailService.getByUserId(aimeId); - - var user = userDataService.getUserByExtId(aimeId).orElseThrow(); - var version = VersionUtil.parseVersion(user.getLastRomVersion()); - - List result = new ArrayList<>(); - for (UserMusicDetail detail : details) { - Music music = musicMap.get(detail.getMusicId()); - if (music != null) { - Level level = music.getLevels().get(detail.getLevel()); - if (level != null) { - int levelBase = level.getLevel() * 100 + level.getLevelDecimal(); - int score = detail.getScoreMax(); - int rating = calculateRating(levelBase, score, version); - result.add(new RatingItem(music.getMusicId(), music.getName(), music.getArtistName(), level.getDiff(), score, levelBase, rating)); - } - } - } - - return result.stream() - .filter(detail -> detail.getLevel() != 5) - .sorted(Comparator.comparingInt(RatingItem::getRating).reversed()) - .limit(30) - .collect(Collectors.toList()); - } - - @GetMapping("rating/recent") - public List getRecentRating(@RequestParam String aimeId) { - Map musicMap = gameMusicService.getIdMap(); - Optional recentOptional = userGeneralDataService.getByUserIdAndKey(aimeId, "recent_rating_list"); - - - var user = userDataService.getUserByExtId(aimeId).orElseThrow(); - var version = VersionUtil.parseVersion(user.getLastRomVersion()); - - List result = new LinkedList<>(); - if (recentOptional.isPresent()) { - // Read from recent_rating_list - String val = recentOptional.get().getPropertyValue(); - if (StringUtils.isNotBlank(val) && val.contains(",")) { - String[] records = val.split(","); - for (String record : - records) { - String[] value = record.split(":"); - Music music = musicMap.get(Integer.parseInt(value[0])); - if (music != null) { - Level level = music.getLevels().get(Integer.parseInt(value[1])); - if (level != null) { - int levelBase = getLevelBase(level.getLevel(), level.getLevelDecimal()); - int score = Integer.parseInt(value[2]); - int rating = calculateRating(levelBase, score, version); - result.add(new RatingItem(music.getMusicId(), music.getName(), music.getArtistName(), level.getDiff(), score, levelBase, rating)); - } - } - } - } - } else { - // Use old method - List logList = userPlaylogService.getRecent30Plays(aimeId); - for (UserPlaylog log : logList) { - Music music = musicMap.get(log.getMusicId()); - if (music != null) { - Level level = music.getLevels().get(log.getLevel()); - if (level != null) { - int levelBase = getLevelBase(level.getLevel(), level.getLevelDecimal()); - int score = log.getScore(); - int rating = calculateRating(levelBase, score, version); - result.add(new RatingItem(music.getMusicId(), music.getName(), music.getArtistName(), level.getDiff(), score, levelBase, rating)); - } - } - } - } - - return result.stream() - .filter(detail -> detail.getLevel() != 5) - .sorted(Comparator.comparingInt(RatingItem::getRating).reversed()) - .limit(10) - .collect(Collectors.toList()); - } - @GetMapping("song/{id}") public List getSongDetail(@RequestParam String aimeId, @PathVariable int id) { return userMusicDetailService.getByUserIdAndMusicId(aimeId, id); @@ -407,20 +313,4 @@ public class ApiChuniV2PlayerDataController { headers.set("content-disposition", "attachment; filename=chusan_" + aimeId + "_exported.json"); return new ResponseEntity<>(data, headers, HttpStatus.OK); } - - private int getLevelBase(int level, int levelDecimal) { - return level * 100 + levelDecimal; - } - - private int calculateRating(int lv, int score, VersionInfo version) { - if (score >= 1009000) return lv + 215; //SSS+ - if (score >= 1007500) return lv + 200 + (score - 1007500) / 100; //SSS - if (score >= 1005000) return lv + 150 + (score - 1005000) / 50; //SS+ - if (score >= 1000000) return lv + 100 + (score - 1000000) / 100; //SS - if (score >= 975000) return lv + (score - 975000) / 250; //S+, S - if (score >= 925000) return lv - 300 + (score - 925000) * 3 / 500; //AA - if (score >= 900000) return lv - 500 + (score - 900000) * 4 / 500; //A - if (score >= 800000) return ((lv - 500) / 2 + (score - 800000) * ((lv - 500) / 2) / (100000)); //BBB - return 0; //C - } } diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GameLoginHandler.java b/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GameLoginHandler.java index b691bb8d..cbd2df28 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GameLoginHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GameLoginHandler.java @@ -1,6 +1,7 @@ package icu.samnyan.aqua.sega.chusan.handler; import com.fasterxml.jackson.core.JsonProcessingException; +import icu.samnyan.aqua.sega.chusan.ChusanProps; import icu.samnyan.aqua.sega.general.BaseHandler; import icu.samnyan.aqua.sega.chusan.model.gamedata.GameLoginBonus; import icu.samnyan.aqua.sega.chusan.model.gamedata.GameLoginBonusPreset; @@ -8,10 +9,9 @@ import icu.samnyan.aqua.sega.chusan.model.userdata.Chu3UserData; import icu.samnyan.aqua.sega.chusan.model.userdata.UserItem; import icu.samnyan.aqua.sega.chusan.model.userdata.UserLoginBonus; import icu.samnyan.aqua.sega.chusan.service.*; -import icu.samnyan.aqua.sega.util.jackson.StringMapper; +import lombok.AllArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.time.LocalDateTime; @@ -23,39 +23,17 @@ import java.util.Optional; /** * @author samnyan (privateamusement@protonmail.com) */ +@AllArgsConstructor @Component("ChusanGameLoginHandler") public class GameLoginHandler implements BaseHandler { - private static final Logger logger = LoggerFactory.getLogger(GameLoginHandler.class); - - private boolean enableLoginBonus = false; - + private final ChusanProps props; private final UserDataService userDataService; - private final UserItemService userItemService; - private final GameLoginBonusPresetService gameLoginBonusPresetService; - private final GameLoginBonusService gameLoginBonusService; - private final UserLoginBonusService userLoginBonusService; - public GameLoginHandler(StringMapper mapper, - @Value("${game.chusan.loginbonus-enable:}") boolean enableLoginBonus, - UserDataService userDataService, - UserItemService userItemService, - GameLoginBonusPresetService gameLoginBonusPresetService, - GameLoginBonusService gameLoginBonusService, - UserLoginBonusService userLoginBonusService - ) { - this.enableLoginBonus = enableLoginBonus; - this.userDataService = userDataService; - this.userItemService = userItemService; - this.gameLoginBonusPresetService = gameLoginBonusPresetService; - this.gameLoginBonusService = gameLoginBonusService; - this.userLoginBonusService = userLoginBonusService; - } - @Override public String handle(Map request) throws JsonProcessingException { String userId = (String) request.get("userId"); @@ -63,7 +41,7 @@ public class GameLoginHandler implements BaseHandler { boolean userPresent = userDataOptional.isPresent(); if (userPresent){ userDataService.updateLoginTime(userDataOptional.get()); - if(this.enableLoginBonus){ + if(props.getLoginBonusEnable()){ List gameLoginBonusList = this.gameLoginBonusPresetService.getGameLoginBonusPresets(1); for (GameLoginBonusPreset preset: gameLoginBonusList) { diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/service/GameMusicService.java b/src/main/java/icu/samnyan/aqua/sega/chusan/service/GameMusicService.java deleted file mode 100644 index 36a9a086..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/service/GameMusicService.java +++ /dev/null @@ -1,45 +0,0 @@ -package icu.samnyan.aqua.sega.chusan.service; - -import icu.samnyan.aqua.sega.chusan.model.Chu3GameMusicRepo; -import icu.samnyan.aqua.sega.chusan.model.gamedata.Music; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; - -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; - -/** - * @author samnyan (privateamusement@protonmail.com) - */ -@Service("ChusanGameMusicService") -public class GameMusicService { - - private final Chu3GameMusicRepo gameMusicRepository; - - @Autowired - public GameMusicService(Chu3GameMusicRepo gameMusicRepository) { - this.gameMusicRepository = gameMusicRepository; - } - - public Music save(Music music) { - return gameMusicRepository.save(music); - } - - public List saveAll(List musicList) { - return gameMusicRepository.saveAll(musicList); - } - - @Cacheable("music") - public List getAll() { - return gameMusicRepository.findAll(); - } - - public Map getIdMap() { - Map musicMap = new LinkedHashMap<>(); - getAll().forEach(music -> musicMap.put(music.getMusicId(), music)); - return musicMap; - } -} diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/service/UserActivityService.java b/src/main/java/icu/samnyan/aqua/sega/chusan/service/UserActivityService.java index 34087d15..d616fb6b 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/service/UserActivityService.java +++ b/src/main/java/icu/samnyan/aqua/sega/chusan/service/UserActivityService.java @@ -22,18 +22,6 @@ public class UserActivityService { this.userActivityRepository = userActivityRepository; } - public UserActivity save(UserActivity userActivity) { - return userActivityRepository.save(userActivity); - } - - public List saveAll(List userActivityList) { - return userActivityRepository.saveAll(userActivityList); - } - - public Optional getByUserAndActivityIdAndKind(Chu3UserData user, int activityId, int kind) { - return userActivityRepository.findTopByUserAndActivityIdAndKindOrderByIdDesc(user, activityId, kind); - } - public List getByUserId(String userId) { return userActivityRepository.findByUser_Card_ExtId(Long.parseLong(userId)); }