전투 진행시간 수정

This commit is contained in:
2025-07-01 17:04:13 +09:00
parent 57970d0f44
commit 8c4cdbf659
6 changed files with 11 additions and 26 deletions

View File

@@ -155,18 +155,12 @@ public class BattleEventService {
}
// int operation_time = ffACalcEndTime(battleEventRequest);
LocalTime startTime = battleEventRequest.getEventStartDt().toLocalTime();
LocalTime endTime = battleEventRequest.getEventEndTime().toLocalTime();
long duration = Duration.between(startTime, endTime).getSeconds();
int operation_time = (int) duration;
battleEventRequest.setEventOperationTime(operation_time);
List<BattleEvent> existingList = battleMapper.getCheckBattleEventList(battleEventRequest);
boolean isTime = isTimeOverlapping(existingList, battleEventRequest);
if(isTime){
log.warn("battle Schedule duplication start_dt: {}, end_dt: {}, operation_time: {}", battleEventRequest.getEventStartDt(), battleEventRequest.getEventEndDt(), operation_time);
log.warn("battle Schedule duplication start_dt: {}, end_dt: {}, operation_time: {}",
battleEventRequest.getEventStartDt(), battleEventRequest.getEventEndDt(), battleEventRequest.getEventOperationTime());
return BattleEventResponse.builder()
.status(CommonCode.ERROR.getHttpStatus())
.result(ErrorCode.ERROR_BATTLE_EVENT_TIME_OVER.toString())
@@ -230,8 +224,8 @@ public class BattleEventService {
.build();
}
int operation_time = ffACalcEndTime(battleEventRequest);
battleEventRequest.setEventOperationTime(operation_time);
// int operation_time = ffACalcEndTime(battleEventRequest);
// battleEventRequest.setEventOperationTime(operation_time);
// 일자만 필요해서 UTC시간으로 변경되다보니 한국시간(+9)을 더해서 마지막시간으로 설정
LocalDateTime end_dt_kst = battleEventRequest.getEventEndDt()
@@ -407,7 +401,7 @@ public class BattleEventService {
LocalDate newStartDate = newStartDt.toLocalDate();
LocalDate newEndDate = newEndDt.toLocalDate();
LocalTime newStartTime = newStartDt.toLocalTime();
LocalTime newEndTime = newStartTime.plusSeconds(battleEventRequest.getEventOperationTime());
LocalTime newEndTime = newStartTime.plusSeconds(battleEventRequest.getEventOperationTime() + CommonConstants.BATTLE_SERVER_WAIT_TIME);
BattleEvent.BATTLE_REPEAT_TYPE newRepeatType = battleEventRequest.getRepeatType();
return existingList.stream().anyMatch(existingEvent -> {
@@ -420,7 +414,7 @@ public class BattleEventService {
LocalDate existingStartDate = existingStartDt.toLocalDate();
LocalDate existingEndDate = existingEndDt.toLocalDate();
LocalTime existingStartTime = existingStartDt.toLocalTime();
LocalTime existingEndTime = existingStartTime.plusSeconds(existingEvent.getEventOperationTime());
LocalTime existingEndTime = existingStartTime.plusSeconds(existingEvent.getEventOperationTime() + CommonConstants.BATTLE_SERVER_WAIT_TIME);
BattleEvent.BATTLE_REPEAT_TYPE existingRepeatType = existingEvent.getRepeatType();
// 1. 두 이벤트가 모두 NONE 타입인 경우