[F] Fix DIVA pd_id overflow

pull/29/head
Azalea 2024-04-06 23:36:00 -04:00
parent 355c9e2a3d
commit 74d7eff577
74 changed files with 139 additions and 367 deletions

View File

@ -36,7 +36,7 @@ public class ApiDivaPlayerDataController {
private final PlayerScreenShotRepository playerScreenShotRepository;
@PostMapping("forceUnlock")
public ResponseEntity<MessageResponse> forceUnlock(@RequestParam int pdId) {
public ResponseEntity<MessageResponse> forceUnlock(@RequestParam long pdId) {
PlayerProfile profile = playerProfileService.findByPdId(pdId).orElseThrow();
Optional<GameSession> session = gameSessionRepository.findByPdId(profile);
if(session.isPresent()) {
@ -48,13 +48,13 @@ public class ApiDivaPlayerDataController {
}
@GetMapping("playerInfo")
public Optional<PlayerProfile> getPlayerInfo(@RequestParam int pdId) {
public Optional<PlayerProfile> getPlayerInfo(@RequestParam long pdId) {
return playerProfileService.findByPdId(pdId);
}
@GetMapping("playerInfo/rival")
public Map<String, String> getRivalInfo(@RequestParam int pdId) {
int rId = playerProfileService.findByPdId(pdId).orElseThrow().getRivalPdId();
public Map<String, String> getRivalInfo(@RequestParam long pdId) {
var rId = playerProfileService.findByPdId(pdId).orElseThrow().getRivalPdId();
Map<String, String> result = new HashMap<>();
if (rId == -1) {
result.put("rival", "Not Set");
@ -167,7 +167,7 @@ public class ApiDivaPlayerDataController {
}
@GetMapping("playLog")
public ReducedPageResponse<PlayLog> getPlayLogs(@RequestParam int pdId,
public ReducedPageResponse<PlayLog> getPlayLogs(@RequestParam long pdId,
@RequestParam(required = false, defaultValue = "0") int page,
@RequestParam(required = false, defaultValue = "10") int size) {
Page<PlayLog> playLogs = playLogRepository.findByPdId_PdIdOrderByDateTimeDesc(pdId, PageRequest.of(page, size));
@ -179,7 +179,7 @@ public class ApiDivaPlayerDataController {
*/
@GetMapping("pvRecord")
public ReducedPageResponse<PlayerPvRecord> getPvRecords(@RequestParam int pdId,
public ReducedPageResponse<PlayerPvRecord> getPvRecords(@RequestParam long pdId,
@RequestParam(required = false, defaultValue = "0") int page,
@RequestParam(required = false, defaultValue = "10") int size) {
Page<PlayerPvRecord> pvRecords = playerPvRecordRepository.findByPdId_PdIdOrderByPvId(pdId, PageRequest.of(page, size));
@ -187,7 +187,7 @@ public class ApiDivaPlayerDataController {
}
@GetMapping("pvRecord/{pvId}")
public Map<String, Object> getPvRecord(@RequestParam int pdId, @PathVariable int pvId) {
public Map<String, Object> getPvRecord(@RequestParam long pdId, @PathVariable int pvId) {
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("records", playerPvRecordRepository.findByPdId_PdIdAndPvId(pdId, pvId));
playerPvCustomizeRepository.findByPdId_PdIdAndPvId(pdId, pvId).ifPresent(x -> resultMap.put("customize", x));
@ -251,7 +251,7 @@ public class ApiDivaPlayerDataController {
}
@GetMapping("module")
public ReducedPageResponse<PlayerModule> getModules(@RequestParam int pdId,
public ReducedPageResponse<PlayerModule> getModules(@RequestParam long pdId,
@RequestParam(required = false, defaultValue = "0") int page,
@RequestParam(required = false, defaultValue = "10") int size) {
Page<PlayerModule> modules = playerModuleRepository.findByPdId_PdId(pdId, PageRequest.of(page, size));
@ -259,7 +259,7 @@ public class ApiDivaPlayerDataController {
}
@GetMapping("customize")
public ReducedPageResponse<PlayerCustomize> getCustomizes(@RequestParam int pdId,
public ReducedPageResponse<PlayerCustomize> getCustomizes(@RequestParam long pdId,
@RequestParam(required = false, defaultValue = "0") int page,
@RequestParam(required = false, defaultValue = "10") int size) {
Page<PlayerCustomize> customizes = playerCustomizeRepository.findByPdId_PdId(pdId, PageRequest.of(page, size));
@ -267,7 +267,7 @@ public class ApiDivaPlayerDataController {
}
@GetMapping("screenshot")
public List<PlayerScreenShot> getScreenshotList(@RequestParam int pdId) {
public List<PlayerScreenShot> getScreenshotList(@RequestParam long pdId) {
return playerScreenShotRepository.findByPdId_PdId(pdId);
}

View File

@ -7,7 +7,7 @@ import lombok.Data;
*/
@Data
public class PlayerInfo {
private int pdId;
private long pdId;
private String playerName;
private int vocaloidPoints;
}

View File

@ -11,5 +11,5 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public interface PlayLogRepository extends JpaRepository<PlayLog, Long> {
Page<PlayLog> findByPdId_PdIdOrderByDateTimeDesc(int pdId, Pageable page);
Page<PlayLog> findByPdId_PdIdOrderByDateTimeDesc(long pdId, Pageable page);
}

View File

@ -17,7 +17,7 @@ import java.util.Optional;
public interface PlayerCustomizeRepository extends JpaRepository<PlayerCustomize, Long> {
List<PlayerCustomize> findByPdId(PlayerProfile profile);
Page<PlayerCustomize> findByPdId_PdId(int pdId, Pageable page);
Page<PlayerCustomize> findByPdId_PdId(long pdId, Pageable page);
Optional<PlayerCustomize> findByPdIdAndCustomizeId(PlayerProfile currentProfile, int parseInt);
}

View File

@ -16,5 +16,5 @@ import java.util.List;
public interface PlayerModuleRepository extends JpaRepository<PlayerModule, Long> {
List<PlayerModule> findByPdId(PlayerProfile profile);
Page<PlayerModule> findByPdId_PdId(int pdId, Pageable pageable);
Page<PlayerModule> findByPdId_PdId(long pdId, Pageable pageable);
}

View File

@ -12,5 +12,5 @@ import java.util.Optional;
@Repository
public interface PlayerProfileRepository extends JpaRepository<PlayerProfile, Long> {
Optional<PlayerProfile> findByPdId(int pdId);
Optional<PlayerProfile> findByPdId(long pdId);
}

View File

@ -14,5 +14,5 @@ import java.util.Optional;
public interface PlayerPvCustomizeRepository extends JpaRepository<PlayerPvCustomize, Long> {
Optional<PlayerPvCustomize> findByPdIdAndPvId(PlayerProfile profile, int pvId);
Optional<PlayerPvCustomize> findByPdId_PdIdAndPvId(int pdId, int pvId);
Optional<PlayerPvCustomize> findByPdId_PdIdAndPvId(long pdId, int pvId);
}

View File

@ -21,7 +21,7 @@ import java.util.Optional;
public interface PlayerPvRecordRepository extends JpaRepository<PlayerPvRecord, Long> {
Optional<PlayerPvRecord> findByPdIdAndPvIdAndEditionAndDifficulty(PlayerProfile profile, int pvId, Edition edition, Difficulty difficulty);
Optional<PlayerPvRecord> findByPdId_PdIdAndPvIdAndEditionAndDifficulty(int pdId, int pvId, Edition edition, Difficulty difficulty);
Optional<PlayerPvRecord> findByPdId_PdIdAndPvIdAndEditionAndDifficulty(long pdId, int pvId, Edition edition, Difficulty difficulty);
@Query("SELECT COUNT(t1.id) as ranking from DivaPlayerPvRecord as t1 " +
"where t1.maxScore >= (" +
@ -35,7 +35,7 @@ public interface PlayerPvRecordRepository extends JpaRepository<PlayerPvRecord,
List<PlayerPvRecord> findByPdId(PlayerProfile profile);
Optional<PlayerPvRecord> findByIdAndPdId_PdId(long id, int pdId);
Optional<PlayerPvRecord> findByIdAndPdId_PdId(long id, long pdId);
List<PlayerPvRecord> findByPdIdAndEdition(PlayerProfile profile, Edition edition);
@ -43,7 +43,7 @@ public interface PlayerPvRecordRepository extends JpaRepository<PlayerPvRecord,
Page<PlayerPvRecord> findByPvIdAndEditionAndDifficultyOrderByMaxScoreDesc(int pvId, Edition edition, Difficulty difficulty, Pageable page);
Page<PlayerPvRecord> findByPdId_PdIdOrderByPvId(int pdId, Pageable page);
Page<PlayerPvRecord> findByPdId_PdIdOrderByPvId(long pdId, Pageable page);
List<PlayerPvRecord> findByPdId_PdIdAndPvId(int pdId, int pvId);
List<PlayerPvRecord> findByPdId_PdIdAndPvId(long pdId, int pvId);
}

View File

@ -10,7 +10,7 @@ import java.util.Optional;
* @author samnyan (privateamusement@protonmail.com)
*/
public interface PlayerScreenShotRepository extends JpaRepository<PlayerScreenShot, Long> {
List<PlayerScreenShot> findByPdId_PdId(int pdId);
List<PlayerScreenShot> findByPdId_PdId(long pdId);
Optional<PlayerScreenShot> findByFileName(String fileName);
}

View File

@ -1,6 +1,7 @@
package icu.samnyan.aqua.sega.diva.handler;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Map;
@ -10,12 +11,7 @@ import java.util.Map;
*/
@Component
public class BaseHandler {
protected final DivaMapper mapper;
public BaseHandler(DivaMapper mapper) {
this.mapper = mapper;
}
static protected DivaMapper mapper = new DivaMapper();
protected String build(Map<String, Object> map) {
StringBuilder sb = new StringBuilder();

View File

@ -18,13 +18,8 @@ import java.time.LocalDateTime;
*/
@Component
public class AttendHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(AttendHandler.class);
public AttendHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
AttendResponse response = new AttendResponse(
request.getCmd(),

View File

@ -13,13 +13,8 @@ import org.springframework.stereotype.Component;
*/
@Component
public class GameInitHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GameInitHandler.class);
public GameInitHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
GameInitResponse response = new GameInitResponse(
request.getCmd(),

View File

@ -10,6 +10,7 @@ import icu.samnyan.aqua.sega.diva.model.userdata.GameSession;
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -22,20 +23,14 @@ import java.util.concurrent.ThreadLocalRandom;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class CardProcedureHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(CardProcedureHandler.class);
private final PlayerProfileService playerProfileService;
private final GameSessionRepository gameSessionRepository;
public CardProcedureHandler(DivaMapper mapper, PlayerProfileService playerProfileService, GameSessionRepository gameSessionRepository) {
super(mapper);
this.playerProfileService = playerProfileService;
this.gameSessionRepository = gameSessionRepository;
}
public String handle(CardProcedureRequest request) {
Optional<PlayerProfile> profileOptional = playerProfileService.findByPdId(request.getAime_id());
CardProcedureResponse response;

View File

@ -11,6 +11,7 @@ import icu.samnyan.aqua.sega.diva.model.userdata.GameSession;
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -19,20 +20,14 @@ import org.springframework.stereotype.Component;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class ChangeNameHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(ChangeNameHandler.class);
private final PlayerProfileService playerProfileService;
private final GameSessionRepository gameSessionRepository;
public ChangeNameHandler(DivaMapper mapper, PlayerProfileService playerProfileService, GameSessionRepository gameSessionRepository) {
super(mapper);
this.playerProfileService = playerProfileService;
this.gameSessionRepository = gameSessionRepository;
}
public String handle(ChangeNameRequest request) {
PlayerProfile profile = playerProfileService.findByPdId(request.getPd_id()).orElseThrow(ProfileNotFoundException::new);
GameSession session = gameSessionRepository.findByPdId(profile).orElseThrow(SessionNotFoundException::new);
@ -44,8 +39,8 @@ public class ChangeNameHandler extends BaseHandler {
request.getReq_id(),
"ok",
Result.SUCCESS,
profile.getPdId(),
session.getAcceptId(),
profile.getPdId(),
profile.getPlayerName()
);

View File

@ -12,6 +12,7 @@ import icu.samnyan.aqua.sega.diva.model.userdata.GameSession;
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -20,20 +21,12 @@ import org.springframework.stereotype.Component;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class ChangePasswdHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(ChangePasswdHandler.class);
private final PlayerProfileService playerProfileService;
private final GameSessionRepository gameSessionRepository;
public ChangePasswdHandler(DivaMapper mapper, PlayerProfileService playerProfileService, GameSessionRepository gameSessionRepository) {
super(mapper);
this.playerProfileService = playerProfileService;
this.gameSessionRepository = gameSessionRepository;
}
public String handle(ChangePasswdRequest request) {
PlayerProfile profile = playerProfileService.findByPdId(request.getPd_id()).orElseThrow(ProfileNotFoundException::new);
GameSession session = gameSessionRepository.findByPdId(profile).orElseThrow(SessionNotFoundException::new);
@ -46,8 +39,8 @@ public class ChangePasswdHandler extends BaseHandler {
request.getReq_id(),
"ok",
Result.SUCCESS,
profile.getPdId(),
session.getAcceptId()
session.getAcceptId(),
profile.getPdId()
);
playerProfileService.save(profile);

View File

@ -6,6 +6,7 @@ import icu.samnyan.aqua.sega.diva.model.request.BaseRequest;
import icu.samnyan.aqua.sega.diva.model.response.BaseResponse;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -14,20 +15,12 @@ import org.springframework.stereotype.Component;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class InitPasswdHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(InitPasswdHandler.class);
private final PlayerProfileService playerProfileService;
private final GameSessionRepository gameSessionRepository;
public InitPasswdHandler(DivaMapper mapper, PlayerProfileService playerProfileService, GameSessionRepository gameSessionRepository) {
super(mapper);
this.playerProfileService = playerProfileService;
this.gameSessionRepository = gameSessionRepository;
}
public String handle(BaseRequest request) {
BaseResponse response = new BaseResponse(
request.getCmd(),

View File

@ -7,6 +7,7 @@ import icu.samnyan.aqua.sega.diva.model.response.card.RegistrationResponse;
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -15,17 +16,11 @@ import org.springframework.stereotype.Component;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class RegistrationHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(RegistrationHandler.class);
private final PlayerProfileService playerProfileService;
public RegistrationHandler(DivaMapper mapper, PlayerProfileService playerProfileService) {
super(mapper);
this.playerProfileService = playerProfileService;
}
public String handle(RegistrationRequest request) {
RegistrationResponse response;
if (playerProfileService.findByPdId(request.getAime_id()).isPresent()) {

View File

@ -15,13 +15,8 @@ import java.time.LocalDateTime;
*/
@Component
public class BannerDataHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(BannerDataHandler.class);
public BannerDataHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BannerDataRequest request) {
BannerDataResponse response = new BannerDataResponse(
request.getCmd(),

View File

@ -13,13 +13,8 @@ import org.springframework.stereotype.Component;
*/
@Component
public class BannerInfoHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(BannerInfoHandler.class);
public BannerInfoHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
BannerInfoResponse response = new BannerInfoResponse(
request.getCmd(),

View File

@ -13,13 +13,8 @@ import org.springframework.stereotype.Component;
*/
@Component
public class CmPlyInfoHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(CmPlyInfoHandler.class);
public CmPlyInfoHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
BaseResponse response = new BaseResponse(
request.getCmd(),

View File

@ -7,6 +7,7 @@ import icu.samnyan.aqua.sega.diva.model.request.BaseRequest;
import icu.samnyan.aqua.sega.diva.model.response.databank.ContestInfoResponse;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import icu.samnyan.aqua.sega.util.URIEncoder;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -18,17 +19,11 @@ import java.util.List;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class ContestInfoHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(CmPlyInfoHandler.class);
private final ContestRepository contestRepository;
public ContestInfoHandler(DivaMapper mapper, ContestRepository contestRepository) {
super(mapper);
this.contestRepository = contestRepository;
}
public String handle(BaseRequest request) {
List<Contest> contestList = contestRepository.findTop8ByEnable(true);
String ci_str = "***";

View File

@ -8,6 +8,7 @@ import icu.samnyan.aqua.sega.diva.model.response.databank.CstmzItmCtlgResponse;
import icu.samnyan.aqua.sega.diva.util.DivaDateTimeUtil;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import icu.samnyan.aqua.sega.util.URIEncoder;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -20,17 +21,12 @@ import java.util.stream.Collectors;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class CstmzItmCtlgHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(CstmzItmCtlgHandler.class);
private final DivaCustomizeRepository customizeRepository;
public CstmzItmCtlgHandler(DivaMapper mapper, DivaCustomizeRepository customizeRepository) {
super(mapper);
this.customizeRepository = customizeRepository;
}
public String handle(BaseRequest request) {
List<DivaCustomize> customizeList = customizeRepository.findAll();

View File

@ -16,13 +16,8 @@ import java.time.LocalDateTime;
*/
@Component
public class CstmzItmNgMdlListHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(CstmzItmCtlgHandler.class);
public CstmzItmNgMdlListHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
CstmzItmNgMdlListResponse response = new CstmzItmNgMdlListResponse(
request.getCmd(),

View File

@ -7,6 +7,7 @@ import icu.samnyan.aqua.sega.diva.model.gamedata.Festa;
import icu.samnyan.aqua.sega.diva.model.request.BaseRequest;
import icu.samnyan.aqua.sega.diva.model.response.databank.FestaInfoResponse;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -17,17 +18,11 @@ import java.util.List;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class FestaInfoHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(FestaInfoHandler.class);
private final FestaRepository festaRepository;
public FestaInfoHandler(DivaMapper mapper, FestaRepository festaRepository) {
super(mapper);
this.festaRepository = festaRepository;
}
public String handle(BaseRequest request) {
List<Festa> festaList = festaRepository.findTop2ByEnableOrderByCreateDateDesc(true);
FestaCollection collection = new FestaCollection(festaList);

View File

@ -13,13 +13,8 @@ import org.springframework.stereotype.Component;
*/
@Component
public class NgWordHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(NgWordHandler.class);
public NgWordHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
BaseResponse response = new BaseResponse(
request.getCmd(),

View File

@ -13,13 +13,8 @@ import org.springframework.stereotype.Component;
*/
@Component
public class NvRankingHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(NvRankingHandler.class);
public NvRankingHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
NvRankingResponse response = new NvRankingResponse(
request.getCmd(),

View File

@ -10,6 +10,7 @@ import icu.samnyan.aqua.sega.diva.model.response.databank.PsRankingResponse;
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerPvRecord;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import icu.samnyan.aqua.sega.util.URIEncoder;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -25,17 +26,11 @@ import java.util.stream.Collectors;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class PsRankingHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(PsRankingHandler.class);
private final PlayerPvRecordRepository playerPvRecordRepository;
public PsRankingHandler(DivaMapper mapper, PlayerPvRecordRepository playerPvRecordRepository) {
super(mapper);
this.playerPvRecordRepository = playerPvRecordRepository;
}
public String handle(PsRankingRequest request) {
Edition edition = Edition.ORIGINAL;
Difficulty difficulty = Difficulty.HARD;

View File

@ -16,13 +16,8 @@ import java.time.LocalDateTime;
*/
@Component
public class PstdHCtrlHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(PstdHCtrlHandler.class);
public PstdHCtrlHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
PstdHCtrlResponse response = new PstdHCtrlResponse(
request.getCmd(),

View File

@ -16,13 +16,8 @@ import java.time.LocalDateTime;
*/
@Component
public class PstdItemNgLstHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(PstdItemNgLstHandler.class);
public PstdItemNgLstHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
PstdItemNgLstResponse response = new PstdItemNgLstResponse(
request.getCmd(),

View File

@ -16,13 +16,8 @@ import java.time.LocalDateTime;
*/
@Component
public class PvDefChrLstHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(PvDefChrLstHandler.class);
public PvDefChrLstHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
PvDefChrLstResponse response = new PvDefChrLstResponse(
request.getCmd(),

View File

@ -8,6 +8,7 @@ import icu.samnyan.aqua.sega.diva.model.request.BaseRequest;
import icu.samnyan.aqua.sega.diva.model.response.databank.PvListResponse;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import icu.samnyan.aqua.sega.util.URIEncoder;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -20,19 +21,11 @@ import java.util.List;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class PvListHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(BannerDataHandler.class);
private final PvEntryRepository pvEntryRepository;
private final DateTimeFormatter df;
public PvListHandler(DivaMapper mapper, PvEntryRepository pvEntryRepository) {
super(mapper);
this.pvEntryRepository = pvEntryRepository;
this.df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
}
private final DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
public String handle(BaseRequest request) {
StringBuilder sb = new StringBuilder();

View File

@ -16,13 +16,8 @@ import java.time.LocalDateTime;
*/
@Component
public class PvNgMdlLstHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(PvNgMdlLstHandler.class);
public PvNgMdlLstHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
PvNgMdlLstResponse response = new PvNgMdlLstResponse(

View File

@ -16,13 +16,8 @@ import java.time.LocalDateTime;
*/
@Component
public class QstInfHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(QstInfHandler.class);
public QstInfHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
QstInfResponse response = new QstInfResponse(

View File

@ -16,13 +16,8 @@ import java.time.LocalDateTime;
*/
@Component
public class RmtWpLstHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(QstInfHandler.class);
public RmtWpLstHandler(DivaMapper mapper) {
super(mapper);
}
public String handle(BaseRequest request) {
RmtWpLstResponse response = new RmtWpLstResponse(
request.getCmd(),

View File

@ -7,6 +7,7 @@ import icu.samnyan.aqua.sega.diva.model.request.BaseRequest;
import icu.samnyan.aqua.sega.diva.model.response.databank.ShopCatalogResponse;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import icu.samnyan.aqua.sega.util.URIEncoder;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -19,17 +20,11 @@ import java.util.stream.Collectors;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class ShopCatalogHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(ShopCatalogHandler.class);
private final DivaModuleRepository moduleRepository;
public ShopCatalogHandler(DivaMapper mapper, DivaModuleRepository moduleRepository) {
super(mapper);
this.moduleRepository = moduleRepository;
}
public String handle(BaseRequest request) {
List<DivaModule> moduleList = moduleRepository.findAll();

View File

@ -14,6 +14,7 @@ import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.service.PlayerCustomizeService;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -24,8 +25,8 @@ import java.util.Optional;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class BuyCstmzItmHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(BuyCstmzItmHandler.class);
private final DivaCustomizeRepository divaCustomizeRepository;
@ -36,14 +37,6 @@ public class BuyCstmzItmHandler extends BaseHandler {
private final GameSessionRepository gameSessionRepository;
public BuyCstmzItmHandler(DivaMapper mapper, DivaCustomizeRepository divaCustomizeRepository, PlayerProfileService playerProfileService, PlayerCustomizeService playerCustomizeService, GameSessionRepository gameSessionRepository) {
super(mapper);
this.divaCustomizeRepository = divaCustomizeRepository;
this.playerProfileService = playerProfileService;
this.playerCustomizeService = playerCustomizeService;
this.gameSessionRepository = gameSessionRepository;
}
public String handle(BuyCstmzItmRequest request) {
PlayerProfile profile = playerProfileService.findByPdId(request.getPd_id()).orElseThrow(ProfileNotFoundException::new);

View File

@ -14,6 +14,7 @@ import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.service.PlayerModuleService;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -24,6 +25,7 @@ import java.util.Optional;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class BuyModuleHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(BuyModuleHandler.class);
@ -36,14 +38,6 @@ public class BuyModuleHandler extends BaseHandler {
private final GameSessionRepository gameSessionRepository;
public BuyModuleHandler(DivaMapper mapper, DivaModuleRepository divaModuleRepository, PlayerProfileService playerProfileService, PlayerModuleService playerModuleService, GameSessionRepository gameSessionRepository) {
super(mapper);
this.divaModuleRepository = divaModuleRepository;
this.playerProfileService = playerProfileService;
this.playerModuleService = playerModuleService;
this.gameSessionRepository = gameSessionRepository;
}
public String handle(BuyModuleRequest request) {
PlayerProfile profile = playerProfileService.findByPdId(request.getPd_id()).orElseThrow(ProfileNotFoundException::new);

View File

@ -14,6 +14,7 @@ import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaDateTimeUtil;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import icu.samnyan.aqua.sega.util.URIEncoder;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -25,6 +26,7 @@ import java.util.Optional;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class GetPvPdHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(GetPvPdHandler.class);
@ -33,13 +35,6 @@ public class GetPvPdHandler extends BaseHandler {
private final PlayerPvCustomizeRepository pvCustomizeRepository;
private final PlayerProfileService playerProfileService;
public GetPvPdHandler(DivaMapper mapper, PlayerPvRecordRepository pvRecordRepository, PlayerPvCustomizeRepository pvCustomizeRepository, PlayerProfileService playerProfileService) {
super(mapper);
this.pvRecordRepository = pvRecordRepository;
this.pvCustomizeRepository = pvCustomizeRepository;
this.playerProfileService = playerProfileService;
}
public String handle(GetPvPdRequest request) {
Optional<PlayerProfile> profileO = playerProfileService.findByPdId(request.getPd_id());
@ -105,28 +100,27 @@ public class GetPvPdHandler extends BaseHandler {
}
private String getString(PlayerPvRecord record, PlayerPvCustomize customize, PlayerPvRecord rivalRecord, int rivalId) {
return
"" + record.getPvId() + "," +
record.getEdition().getValue() + "," +
record.getResult().getValue() + "," +
record.getMaxScore() + "," +
record.getMaxAttain() + "," +
record.getChallengeKind().getValue() + "," +
customize.getModule() + "," +
customize.getCustomize() + "," +
customize.getCustomizeFlag() + "," +
customize.getSkin() + "," +
customize.getButtonSe() + "," +
customize.getSlideSe() + "," +
customize.getChainSlideSe() + "," +
customize.getSliderTouchSe() + "," +
rivalId + "," +
rivalRecord.getMaxScore() + "," +
rivalRecord.getMaxAttain() + "," +
"-1,-1," +
pvRecordRepository.rankByPvIdAndPdIdAndEditionAndDifficulty(record.getPvId(), record.getPdId(), record.getEdition(), record.getDifficulty()) + "," +
record.getRgoPurchased() + "," +
record.getRgoPlayed();
private String getString(PlayerPvRecord record, PlayerPvCustomize customize, PlayerPvRecord rivalRecord, long rivalId) {
return record.getPvId() + "," +
record.getEdition().getValue() + "," +
record.getResult().getValue() + "," +
record.getMaxScore() + "," +
record.getMaxAttain() + "," +
record.getChallengeKind().getValue() + "," +
customize.getModule() + "," +
customize.getCustomize() + "," +
customize.getCustomizeFlag() + "," +
customize.getSkin() + "," +
customize.getButtonSe() + "," +
customize.getSlideSe() + "," +
customize.getChainSlideSe() + "," +
customize.getSliderTouchSe() + "," +
rivalId + "," +
rivalRecord.getMaxScore() + "," +
rivalRecord.getMaxAttain() + "," +
"-1,-1," +
pvRecordRepository.rankByPvIdAndPdIdAndEditionAndDifficulty(record.getPvId(), record.getPdId(), record.getEdition(), record.getDifficulty()) + "," +
record.getRgoPurchased() + "," +
record.getRgoPlayed();
}
}

View File

@ -10,6 +10,7 @@ import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerPvCustomize;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -20,20 +21,12 @@ import static icu.samnyan.aqua.sega.diva.util.DivaStringUtils.arrToCsv;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class ShopExitHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(ShopExitHandler.class);
private final PlayerProfileService playerProfileService;
private final PlayerPvCustomizeRepository pvCustomizeRepository;
public ShopExitHandler(DivaMapper mapper, PlayerProfileService playerProfileService, PlayerPvCustomizeRepository pvCustomizeRepository) {
super(mapper);
this.playerProfileService = playerProfileService;
this.pvCustomizeRepository = pvCustomizeRepository;
}
public String handle(ShopExitRequest request) {
PlayerProfile profile = playerProfileService.findByPdId(request.getPd_id()).orElseThrow(ProfileNotFoundException::new);

View File

@ -13,6 +13,8 @@ import icu.samnyan.aqua.sega.diva.model.userdata.*;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaCalculator;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -27,10 +29,9 @@ import static icu.samnyan.aqua.sega.diva.model.common.Const.NULL_QUEST;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@RequiredArgsConstructor
public class StageResultHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(StageResultHandler.class);
private final GameSessionRepository gameSessionRepository;
private final PlayerPvRecordRepository pvRecordRepository;
private final PlayerProfileService playerProfileService;
@ -44,19 +45,6 @@ public class StageResultHandler extends BaseHandler {
private PlayerProfile currentProfile = null;
public StageResultHandler(DivaMapper mapper, GameSessionRepository gameSessionRepository, PlayerPvRecordRepository pvRecordRepository, PlayerProfileService playerProfileService, PlayLogRepository playLogRepository, ContestRepository contestRepository, PlayerContestRepository playerContestRepository, PlayerCustomizeRepository playerCustomizeRepository, PlayerInventoryRepository playerInventoryRepository, DivaCalculator divaCalculator) {
super(mapper);
this.gameSessionRepository = gameSessionRepository;
this.pvRecordRepository = pvRecordRepository;
this.playerProfileService = playerProfileService;
this.playLogRepository = playLogRepository;
this.contestRepository = contestRepository;
this.playerContestRepository = playerContestRepository;
this.playerCustomizeRepository = playerCustomizeRepository;
this.playerInventoryRepository = playerInventoryRepository;
this.divaCalculator = divaCalculator;
}
public String handle(StageResultRequest request) {
StageResultResponse response;
if (request.getPd_id() != -1) {

View File

@ -10,6 +10,7 @@ import icu.samnyan.aqua.sega.diva.model.userdata.GameSession;
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -18,19 +19,12 @@ import org.springframework.stereotype.Component;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class StageStartHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(StageResultHandler.class);
private final GameSessionRepository gameSessionRepository;
private final PlayerProfileService playerProfileService;
public StageStartHandler(DivaMapper mapper, GameSessionRepository gameSessionRepository, PlayerProfileService playerProfileService) {
super(mapper);
this.gameSessionRepository = gameSessionRepository;
this.playerProfileService = playerProfileService;
}
public String handle(StageStartRequest request) {
if (request.getPd_id() != -1) {
PlayerProfile profile = playerProfileService.findByPdId(request.getPd_id()).orElseThrow(ProfileNotFoundException::new);

View File

@ -9,6 +9,7 @@ import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerScreenShot;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -27,21 +28,12 @@ import static icu.samnyan.aqua.sega.diva.util.DivaStringUtils.arrToCsv;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class StoreSsHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(StoreSsHandler.class);
private final PlayerProfileService playerProfileService;
private final PlayerScreenShotRepository screenShotRepository;
public StoreSsHandler(DivaMapper mapper, PlayerProfileService playerProfileService, PlayerScreenShotRepository screenShotRepository) {
super(mapper);
this.playerProfileService = playerProfileService;
this.screenShotRepository = screenShotRepository;
}
public String handle(StoreSsRequest request, MultipartFile file) {
PlayerProfile profile = playerProfileService.findByPdId(request.getPd_id()).orElseThrow(ProfileNotFoundException::new);

View File

@ -6,6 +6,7 @@ import icu.samnyan.aqua.sega.diva.model.response.operation.PingResponse;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import icu.samnyan.aqua.sega.general.dao.PropertyEntryRepository;
import icu.samnyan.aqua.sega.general.model.PropertyEntry;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -14,17 +15,11 @@ import org.springframework.stereotype.Component;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class PingHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(PingHandler.class);
private final PropertyEntryRepository propertyEntryRepository;
public PingHandler(DivaMapper mapper, PropertyEntryRepository propertyEntryRepository) {
super(mapper);
this.propertyEntryRepository = propertyEntryRepository;
}
public String handle(BaseRequest request) {
PropertyEntry news = propertyEntryRepository.findByPropertyKey("diva_news").orElseGet(() -> new PropertyEntry("diva_news", "xxx"));

View File

@ -18,6 +18,7 @@ import icu.samnyan.aqua.sega.diva.model.userdata.PlayerContest;
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -30,8 +31,8 @@ import static icu.samnyan.aqua.sega.diva.util.DivaStringUtils.getDummyString;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class EndHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(EndHandler.class);
private final ContestRepository contestRepository;
@ -42,14 +43,6 @@ public class EndHandler extends BaseHandler {
private final GameSessionRepository gameSessionRepository;
public EndHandler(DivaMapper mapper, ContestRepository contestRepository, PlayerProfileService playerProfileService, PlayerContestRepository playerContestRepository, GameSessionRepository gameSessionRepository) {
super(mapper);
this.contestRepository = contestRepository;
this.playerProfileService = playerProfileService;
this.playerContestRepository = playerContestRepository;
this.gameSessionRepository = gameSessionRepository;
}
public String handle(StageResultRequest request) {
PlayerProfile profile = playerProfileService.findByPdId(request.getPd_id()).orElseThrow(ProfileNotFoundException::new);

View File

@ -10,6 +10,7 @@ import icu.samnyan.aqua.sega.diva.model.userdata.GameSession;
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -18,21 +19,12 @@ import org.springframework.stereotype.Component;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class PdUnlockHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(PdUnlockHandler.class);
private final PlayerProfileService playerProfileService;
private final GameSessionRepository gameSessionRepository;
public PdUnlockHandler(DivaMapper mapper, PlayerProfileService playerProfileService, GameSessionRepository gameSessionRepository) {
super(mapper);
this.playerProfileService = playerProfileService;
this.gameSessionRepository = gameSessionRepository;
}
public String handle(PdUnlockRequest request) {
PlayerProfile profile = playerProfileService.findByPdId(request.getPd_id()).orElseThrow(ProfileNotFoundException::new);

View File

@ -10,6 +10,7 @@ import icu.samnyan.aqua.sega.diva.model.userdata.GameSession;
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -22,20 +23,12 @@ import java.util.concurrent.ThreadLocalRandom;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class PreStartHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(PreStartHandler.class);
private final PlayerProfileService playerProfileService;
private final GameSessionRepository gameSessionRepository;
public PreStartHandler(DivaMapper mapper, PlayerProfileService playerProfileService, GameSessionRepository gameSessionRepository) {
super(mapper);
this.playerProfileService = playerProfileService;
this.gameSessionRepository = gameSessionRepository;
}
public String handle(PreStartRequest request) {
Optional<PlayerProfile> profileOptional = playerProfileService.findByPdId(request.getAime_id());
PreStartResponse response;

View File

@ -7,6 +7,7 @@ import icu.samnyan.aqua.sega.diva.model.response.user.SpendCreditResponse;
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerProfile;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -15,17 +16,11 @@ import org.springframework.stereotype.Component;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class SpendCreditHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(SpendCreditHandler.class);
private final PlayerProfileService playerProfileService;
public SpendCreditHandler(DivaMapper mapper, PlayerProfileService playerProfileService) {
super(mapper);
this.playerProfileService = playerProfileService;
}
public String handle(SpendCreditRequest request) {
PlayerProfile profile = playerProfileService.findByPdId(request.getPd_id()).orElseThrow(ProfileNotFoundException::new);

View File

@ -21,6 +21,7 @@ import icu.samnyan.aqua.sega.diva.service.PlayerCustomizeService;
import icu.samnyan.aqua.sega.diva.service.PlayerModuleService;
import icu.samnyan.aqua.sega.diva.service.PlayerProfileService;
import icu.samnyan.aqua.sega.diva.util.DivaMapper;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -36,32 +37,16 @@ import java.util.stream.Collectors;
* @author samnyan (privateamusement@protonmail.com)
*/
@Component
@AllArgsConstructor
public class StartHandler extends BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(StartHandler.class);
private final PlayerProfileService playerProfileService;
private final GameSessionRepository gameSessionRepository;
private final PlayerCustomizeService playerCustomizeService;
private final PlayerModuleService playerModuleService;
private final PlayerPvRecordRepository playerPvRecordRepository;
private final PlayerContestRepository playerContestRepository;
public StartHandler(DivaMapper mapper, PlayerProfileService playerProfileService, GameSessionRepository gameSessionRepository, PlayerCustomizeService playerCustomizeService, PlayerModuleService playerModuleService, PlayerPvRecordRepository playerPvRecordRepository, PlayerContestRepository playerContestRepository) {
super(mapper);
this.playerProfileService = playerProfileService;
this.gameSessionRepository = gameSessionRepository;
this.playerCustomizeService = playerCustomizeService;
this.playerModuleService = playerModuleService;
this.playerPvRecordRepository = playerPvRecordRepository;
this.playerContestRepository = playerContestRepository;
}
public String handle(StartRequest request) {
PlayerProfile profile = playerProfileService.findByPdId(request.getPd_id()).orElseThrow(ProfileNotFoundException::new);

View File

@ -16,6 +16,6 @@ import lombok.Setter;
public class CardProcedureRequest extends BaseRequest {
private int cd_adm_cmd;
private String a_code;
private int aime_id;
private long aime_id;
private String aime_a_code;
}

View File

@ -15,9 +15,9 @@ import lombok.Setter;
@NoArgsConstructor
public class ChangeNameRequest extends BaseRequest {
private String a_code;
private int aime_id;
private long aime_id;
private String aime_a_code;
private int pd_id;
private long pd_id;
private int accept_idx;
private String player_name;
private int chg_name_price;

View File

@ -15,9 +15,9 @@ import lombok.Setter;
@NoArgsConstructor
public class ChangePasswdRequest extends BaseRequest {
private String a_code;
private int aime_id;
private long aime_id;
private String aime_a_code;
private int pd_id;
private long pd_id;
private int accept_idx;
private String new_passwd;
}

View File

@ -19,7 +19,7 @@ public class RegistrationRequest extends BaseRequest {
private String mmgameid;
private String mmuid;
private String a_code;
private int aime_id;
private long aime_id;
private String aime_a_code;
private String key_obj_type;
private String player_name;

View File

@ -14,7 +14,7 @@ import lombok.Setter;
@AllArgsConstructor
@NoArgsConstructor
public class BuyCstmzItmRequest extends BaseRequest {
private int pd_id;
private long pd_id;
private int accept_idx;
private int start_idx;
private int cstmz_itm_id;

View File

@ -14,7 +14,7 @@ import lombok.Setter;
@AllArgsConstructor
@NoArgsConstructor
public class BuyModuleRequest extends BaseRequest {
private int pd_id;
private long pd_id;
private int accept_idx;
private int start_idx;
private int mdl_id;

View File

@ -14,7 +14,7 @@ import lombok.Setter;
@AllArgsConstructor
@NoArgsConstructor
public class GetPvPdRequest extends BaseRequest {
private int pd_id;
private long pd_id;
private int difficulty;
private int[] pd_pv_id_lst;
}

View File

@ -14,7 +14,7 @@ import lombok.Setter;
@AllArgsConstructor
@NoArgsConstructor
public class ShopExitRequest extends BaseRequest {
private int pd_id;
private long pd_id;
private int accept_idx;
private int start_idx;
private int use_pv_mdl_eqp;

View File

@ -14,7 +14,7 @@ import lombok.Setter;
@AllArgsConstructor
@NoArgsConstructor
public class StageResultRequest extends BaseRequest {
public int pd_id;
public long pd_id;
public int accept_idx;
public int start_idx;
public int hp_vol;

View File

@ -14,7 +14,7 @@ import lombok.Setter;
@AllArgsConstructor
@NoArgsConstructor
public class StageStartRequest extends BaseRequest {
public int pd_id;
public long pd_id;
public int accept_idx;
public int start_idx;
public boolean free_play;

View File

@ -14,7 +14,7 @@ import lombok.Setter;
@AllArgsConstructor
@NoArgsConstructor
public class StoreSsRequest extends BaseRequest {
private int pd_id;
private long pd_id;
private String ss_dat_id;
private int ss_pv_id;
private int ss_sel_pv_id;

View File

@ -14,6 +14,6 @@ import lombok.Setter;
@AllArgsConstructor
@NoArgsConstructor
public class PdUnlockRequest extends BaseRequest {
private int pd_id;
private long pd_id;
private int accept_idx;
}

View File

@ -19,7 +19,7 @@ public class PreStartRequest extends BaseRequest {
private String mmgameid;
private String mmuid;
private String a_code;
private int aime_id;
private long aime_id;
private String aime_a_code;
private String key_obj_type;
private boolean exec_vu;

View File

@ -14,7 +14,7 @@ import lombok.Setter;
@AllArgsConstructor
@NoArgsConstructor
public class SpendCreditRequest extends BaseRequest {
private int pd_id;
private long pd_id;
private int[] my_qst_id;
private int[] my_qst_sts;
private int crdt_typ;

View File

@ -14,6 +14,6 @@ import lombok.Setter;
@AllArgsConstructor
@NoArgsConstructor
public class StartRequest extends BaseRequest {
public int pd_id;
public long pd_id;
public int accept_idx;
}

View File

@ -16,5 +16,4 @@ public class BaseResponse {
private String cmd;
private String req_id;
private String stat;
}

View File

@ -15,7 +15,7 @@ public class CardProcedureResponse extends BaseResponse {
private Result cd_adm_result;
private int chg_name_price = 100;
private int accept_idx;
private int pd_id;
private long pd_id;
private String player_name;
private Integer lv_num;
private Integer lv_pnt;
@ -25,7 +25,7 @@ public class CardProcedureResponse extends BaseResponse {
private Integer vcld_pts;
private PassStat passwd_stat;
public CardProcedureResponse(String cmd, String req_id, String stat, Result cd_adm_result, int chg_name_price, int accept_idx, int pd_id, String player_name, Integer lv_num, Integer lv_pnt, String lv_str, Integer lv_efct_id, Integer lv_plt_id, Integer vcld_pts, PassStat passwd_stat) {
public CardProcedureResponse(String cmd, String req_id, String stat, Result cd_adm_result, int chg_name_price, int accept_idx, long pd_id, String player_name, Integer lv_num, Integer lv_pnt, String lv_str, Integer lv_efct_id, Integer lv_plt_id, Integer vcld_pts, PassStat passwd_stat) {
super(cmd, req_id, stat);
this.cd_adm_result = cd_adm_result;
this.chg_name_price = chg_name_price;

View File

@ -13,10 +13,10 @@ import lombok.Setter;
public class ChangeNameResponse extends BaseResponse {
private Result cd_adm_result;
private int accept_idx;
private int pd_id;
private long pd_id;
private String player_name;
public ChangeNameResponse(String cmd, String req_id, String stat, Result cd_adm_result, int accept_idx, int pd_id, String player_name) {
public ChangeNameResponse(String cmd, String req_id, String stat, Result cd_adm_result, int accept_idx, long pd_id, String player_name) {
super(cmd, req_id, stat);
this.cd_adm_result = cd_adm_result;
this.accept_idx = accept_idx;

View File

@ -13,9 +13,9 @@ import lombok.Setter;
public class ChangePasswdResponse extends BaseResponse {
private Result cd_adm_result;
private int accept_idx;
private int pd_id;
private long pd_id;
public ChangePasswdResponse(String cmd, String req_id, String stat, Result cd_adm_result, int accept_idx, int pd_id) {
public ChangePasswdResponse(String cmd, String req_id, String stat, Result cd_adm_result, int accept_idx, long pd_id) {
super(cmd, req_id, stat);
this.cd_adm_result = cd_adm_result;
this.accept_idx = accept_idx;

View File

@ -12,9 +12,9 @@ import lombok.Setter;
@Setter
public class RegistrationResponse extends BaseResponse {
private Result cd_adm_result;
private int pd_id;
private long pd_id;
public RegistrationResponse(String cmd, String req_id, String stat, Result cd_adm_result, int pd_id) {
public RegistrationResponse(String cmd, String req_id, String stat, Result cd_adm_result, long pd_id) {
super(cmd, req_id, stat);
this.cd_adm_result = cd_adm_result;
this.pd_id = pd_id;

View File

@ -22,7 +22,7 @@ public class PreStartResponse extends BaseResponse {
private Integer nblss_ltt_tckt;
private Integer nblss_ltt_is_opn;
private Integer pd_id;
private long pd_id;
private String player_name;
private SortMode sort_kind;
private Integer lv_num;
@ -45,7 +45,7 @@ public class PreStartResponse extends BaseResponse {
this.ps_result = ps_result;
}
public PreStartResponse(String cmd, String req_id, String stat, PreStartResult ps_result, Integer accept_idx, Integer pd_id, String player_name, SortMode sort_kind, Integer lv_num, Integer lv_pnt, String lv_str, Integer lv_efct_id, Integer lv_plt_id, String mdl_eqp_ary, LocalDateTime mdl_eqp_tm, Integer skn_eqp, Integer btn_se_eqp, Integer sld_se_eqp, Integer chn_sld_se_eqp, Integer sldr_tch_se_eqp, Integer vcld_pts, PassStat passwd_stat) {
public PreStartResponse(String cmd, String req_id, String stat, PreStartResult ps_result, Integer accept_idx, long pd_id, String player_name, SortMode sort_kind, Integer lv_num, Integer lv_pnt, String lv_str, Integer lv_efct_id, Integer lv_plt_id, String mdl_eqp_ary, LocalDateTime mdl_eqp_tm, Integer skn_eqp, Integer btn_se_eqp, Integer sld_se_eqp, Integer chn_sld_se_eqp, Integer sldr_tch_se_eqp, Integer vcld_pts, PassStat passwd_stat) {
super(cmd, req_id, stat);
this.ps_result = ps_result;
this.accept_idx = accept_idx;

View File

@ -17,7 +17,7 @@ import static icu.samnyan.aqua.sega.diva.model.common.Const.ALL_NOT_HAVE;
@Setter
public class StartResponse extends BaseResponse {
private int pd_id;
private long pd_id;
private Result start_result = Result.SUCCESS;
private int accept_idx;
private int start_idx;
@ -85,7 +85,7 @@ public class StartResponse extends BaseResponse {
private String p_std_ie_have = ALL_NOT_HAVE;
private String p_std_se_have = ALL_NOT_HAVE;
public StartResponse(String cmd, String req_id, String stat, int pd_id, Result start_result, int accept_idx, int start_idx, String player_name, int hp_vol, boolean btn_se_vol, int btn_se_vol2, int sldr_se_vol2, SortMode sort_kind, int lv_num, int lv_pnt, String lv_str, int lv_efct_id, int lv_plt_id, String mdl_eqp_ary, String c_itm_eqp_ary, String ms_itm_flg_ary, LocalDateTime mdl_eqp_tm, String mdl_have, String cstmz_itm_have, boolean use_pv_mdl_eqp, boolean use_mdl_pri, boolean use_pv_skn_eqp, boolean use_pv_btn_se_eqp, boolean use_pv_sld_se_eqp, boolean use_pv_chn_sld_se_eqp, boolean use_pv_sldr_tch_se_eqp, int vcld_pts, int nxt_pv_id, Difficulty nxt_dffclty, Edition nxt_edtn, String cv_cid, String cv_sc, String cv_rr, String cv_bv, String cv_bf, int cnp_cid, int cnp_val, ContestBorder cnp_rr, String cnp_sp, String my_lst_0, String my_lst_1, String my_lst_2, String my_lst_3, String my_lst_4, String dsp_clr_brdr, boolean dsp_intrm_rnk, boolean dsp_clr_sts, String clr_sts, boolean rgo_sts, String my_qst_id, String my_qst_sts, String my_qst_prgrs, String my_qst_et, String p_std_ie_have, String p_std_se_have) {
public StartResponse(String cmd, String req_id, String stat, long pd_id, Result start_result, int accept_idx, int start_idx, String player_name, int hp_vol, boolean btn_se_vol, int btn_se_vol2, int sldr_se_vol2, SortMode sort_kind, int lv_num, int lv_pnt, String lv_str, int lv_efct_id, int lv_plt_id, String mdl_eqp_ary, String c_itm_eqp_ary, String ms_itm_flg_ary, LocalDateTime mdl_eqp_tm, String mdl_have, String cstmz_itm_have, boolean use_pv_mdl_eqp, boolean use_mdl_pri, boolean use_pv_skn_eqp, boolean use_pv_btn_se_eqp, boolean use_pv_sld_se_eqp, boolean use_pv_chn_sld_se_eqp, boolean use_pv_sldr_tch_se_eqp, int vcld_pts, int nxt_pv_id, Difficulty nxt_dffclty, Edition nxt_edtn, String cv_cid, String cv_sc, String cv_rr, String cv_bv, String cv_bf, int cnp_cid, int cnp_val, ContestBorder cnp_rr, String cnp_sp, String my_lst_0, String my_lst_1, String my_lst_2, String my_lst_3, String my_lst_4, String dsp_clr_brdr, boolean dsp_intrm_rnk, boolean dsp_clr_sts, String clr_sts, boolean rgo_sts, String my_qst_id, String my_qst_sts, String my_qst_prgrs, String my_qst_et, String p_std_ie_have, String p_std_se_have) {
super(cmd, req_id, stat);
this.pd_id = pd_id;
this.start_result = start_result;

View File

@ -7,6 +7,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
@ -22,6 +23,7 @@ import static icu.samnyan.aqua.sega.diva.util.DivaStringUtils.getDummyString;
@NoArgsConstructor
public class PlayerProfile implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Id
@ -29,7 +31,7 @@ public class PlayerProfile implements Serializable {
private long id;
@Column(unique = true)
private int pdId;
private long pdId;
private String playerName = "xxx";
@ -156,9 +158,9 @@ public class PlayerProfile implements Serializable {
private String myList2 = getDummyString("-1", 40);
@JsonIgnore
private int rivalPdId = -1;
private long rivalPdId = -1;
public PlayerProfile(int pdId, String playerName) {
public PlayerProfile(long pdId, String playerName) {
this.pdId = pdId;
this.playerName = playerName;
}

View File

@ -25,7 +25,7 @@ public class PlayerScreenShot {
@JoinColumn(name = "pd_id")
private PlayerProfile pdId;
private int pvId;
private long pvId;
private String fileName;
@ -33,7 +33,7 @@ public class PlayerScreenShot {
private String customizeList;
public PlayerScreenShot(PlayerProfile pdId, String fileName, int pvId, String moduleList, String customizeList) {
public PlayerScreenShot(PlayerProfile pdId, String fileName, long pvId, String moduleList, String customizeList) {
this.pdId = pdId;
this.fileName = fileName;
this.pvId = pvId;

View File

@ -19,7 +19,7 @@ public class PlayerProfileService {
this.playerProfileRepository = playerProfileRepository;
}
public Optional<PlayerProfile> findByPdId(int pdId) {
public Optional<PlayerProfile> findByPdId(long pdId) {
return playerProfileRepository.findByPdId(pdId);
}

View File

@ -0,0 +1,4 @@
ALTER TABLE main.diva_player_profile MODIFY COLUMN pd_id BIGINT NOT NULL;
ALTER TABLE main.diva_player_profile MODIFY COLUMN rival_pd_id BIGINT NOT NULL;
ALTER TABLE main.diva_player_screen_shot MODIFY COLUMN pd_id BIGINT NOT NULL;
ALTER TABLE main.diva_player_screen_shot MODIFY COLUMN pv_id BIGINT NOT NULL;