전투 진행시간 수정
This commit is contained in:
@@ -31,8 +31,6 @@ public class BattleEvent {
|
|||||||
// 시작 일자
|
// 시작 일자
|
||||||
@JsonProperty("event_start_dt")
|
@JsonProperty("event_start_dt")
|
||||||
private LocalDateTime eventStartDt;
|
private LocalDateTime eventStartDt;
|
||||||
@JsonProperty("event_end_time")
|
|
||||||
private LocalDateTime eventEndTime;
|
|
||||||
// 종료 일자
|
// 종료 일자
|
||||||
@JsonProperty("event_end_dt")
|
@JsonProperty("event_end_dt")
|
||||||
private LocalDateTime eventEndDt;
|
private LocalDateTime eventEndDt;
|
||||||
|
|||||||
@@ -31,8 +31,6 @@ public class BattleEventRequest {
|
|||||||
// 시작 일자
|
// 시작 일자
|
||||||
@JsonProperty("event_start_dt")
|
@JsonProperty("event_start_dt")
|
||||||
private LocalDateTime eventStartDt;
|
private LocalDateTime eventStartDt;
|
||||||
@JsonProperty("event_end_time")
|
|
||||||
private LocalDateTime eventEndTime;
|
|
||||||
// 종료 일자
|
// 종료 일자
|
||||||
@JsonProperty("event_end_dt")
|
@JsonProperty("event_end_dt")
|
||||||
private LocalDateTime eventEndDt;
|
private LocalDateTime eventEndDt;
|
||||||
|
|||||||
@@ -155,18 +155,12 @@ public class BattleEventService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// int operation_time = ffACalcEndTime(battleEventRequest);
|
// 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);
|
List<BattleEvent> existingList = battleMapper.getCheckBattleEventList(battleEventRequest);
|
||||||
boolean isTime = isTimeOverlapping(existingList, battleEventRequest);
|
boolean isTime = isTimeOverlapping(existingList, battleEventRequest);
|
||||||
if(isTime){
|
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()
|
return BattleEventResponse.builder()
|
||||||
.status(CommonCode.ERROR.getHttpStatus())
|
.status(CommonCode.ERROR.getHttpStatus())
|
||||||
.result(ErrorCode.ERROR_BATTLE_EVENT_TIME_OVER.toString())
|
.result(ErrorCode.ERROR_BATTLE_EVENT_TIME_OVER.toString())
|
||||||
@@ -230,8 +224,8 @@ public class BattleEventService {
|
|||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
int operation_time = ffACalcEndTime(battleEventRequest);
|
// int operation_time = ffACalcEndTime(battleEventRequest);
|
||||||
battleEventRequest.setEventOperationTime(operation_time);
|
// battleEventRequest.setEventOperationTime(operation_time);
|
||||||
|
|
||||||
// 일자만 필요해서 UTC시간으로 변경되다보니 한국시간(+9)을 더해서 마지막시간으로 설정
|
// 일자만 필요해서 UTC시간으로 변경되다보니 한국시간(+9)을 더해서 마지막시간으로 설정
|
||||||
LocalDateTime end_dt_kst = battleEventRequest.getEventEndDt()
|
LocalDateTime end_dt_kst = battleEventRequest.getEventEndDt()
|
||||||
@@ -407,7 +401,7 @@ public class BattleEventService {
|
|||||||
LocalDate newStartDate = newStartDt.toLocalDate();
|
LocalDate newStartDate = newStartDt.toLocalDate();
|
||||||
LocalDate newEndDate = newEndDt.toLocalDate();
|
LocalDate newEndDate = newEndDt.toLocalDate();
|
||||||
LocalTime newStartTime = newStartDt.toLocalTime();
|
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();
|
BattleEvent.BATTLE_REPEAT_TYPE newRepeatType = battleEventRequest.getRepeatType();
|
||||||
|
|
||||||
return existingList.stream().anyMatch(existingEvent -> {
|
return existingList.stream().anyMatch(existingEvent -> {
|
||||||
@@ -420,7 +414,7 @@ public class BattleEventService {
|
|||||||
LocalDate existingStartDate = existingStartDt.toLocalDate();
|
LocalDate existingStartDate = existingStartDt.toLocalDate();
|
||||||
LocalDate existingEndDate = existingEndDt.toLocalDate();
|
LocalDate existingEndDate = existingEndDt.toLocalDate();
|
||||||
LocalTime existingStartTime = existingStartDt.toLocalTime();
|
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();
|
BattleEvent.BATTLE_REPEAT_TYPE existingRepeatType = existingEvent.getRepeatType();
|
||||||
|
|
||||||
// 1. 두 이벤트가 모두 NONE 타입인 경우
|
// 1. 두 이벤트가 모두 NONE 타입인 경우
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ import java.util.zip.ZipOutputStream;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class ExcelService {
|
public class ExcelService {
|
||||||
private final ExcelProgressTracker progressTracker;
|
private final ExcelProgressTracker progressTracker;
|
||||||
private final DiagnosisService diagnosisService;
|
|
||||||
|
|
||||||
// CSV 구분자
|
// CSV 구분자
|
||||||
private static final String CSV_DELIMITER = ",";
|
private static final String CSV_DELIMITER = ",";
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ public class CommonConstants {
|
|||||||
public static final String FALSE = "False";
|
public static final String FALSE = "False";
|
||||||
public static final String NONE = "None";
|
public static final String NONE = "None";
|
||||||
public static final String SCHEDULE = "Schedule";
|
public static final String SCHEDULE = "Schedule";
|
||||||
public static final int BATTLE_SERVER_WAIT_TIME = 300; // (seconds) 이벤트 홍보시간이 300초인데 여유있게 처리하게 하기위해 600으로 준다.
|
public static final int BATTLE_SERVER_WAIT_TIME = 300; // (se) 여유시간 3분
|
||||||
public static final int BATTLE_INSTANCE_ID = 1017007;
|
public static final int BATTLE_INSTANCE_ID = 1017007;
|
||||||
public static final String CALIUM_ITEM_CODE = "19010003";
|
public static final String CALIUM_ITEM_CODE = "19010003";
|
||||||
public static final String CALIVERSE_CODE = "CALIVERSE";
|
public static final String CALIVERSE_CODE = "CALIVERSE";
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
<result property="eventOperationTime" column="event_operation_time"/>
|
<result property="eventOperationTime" column="event_operation_time"/>
|
||||||
<result property="status" column="status"/>
|
<result property="status" column="status"/>
|
||||||
<result property="eventStartDt" column="event_start_dt"/>
|
<result property="eventStartDt" column="event_start_dt"/>
|
||||||
<result property="eventEndTime" column="event_end_time"/>
|
|
||||||
<result property="eventEndDt" column="event_end_dt"/>
|
<result property="eventEndDt" column="event_end_dt"/>
|
||||||
<result property="roundTime" column="round_time"/>
|
<result property="roundTime" column="round_time"/>
|
||||||
<result property="roundCount" column="round_count"/>
|
<result property="roundCount" column="round_count"/>
|
||||||
@@ -41,7 +40,6 @@
|
|||||||
, a.event_operation_time
|
, a.event_operation_time
|
||||||
, a.status
|
, a.status
|
||||||
, a.event_start_dt
|
, a.event_start_dt
|
||||||
, a.event_end_time
|
|
||||||
, a.event_end_dt
|
, a.event_end_dt
|
||||||
, a.round_time
|
, a.round_time
|
||||||
, a.round_count
|
, a.round_count
|
||||||
@@ -207,6 +205,7 @@
|
|||||||
, event_end_dt
|
, event_end_dt
|
||||||
FROM battle_event
|
FROM battle_event
|
||||||
WHERE status NOT IN ('END', 'FAIL', 'CANCEL', 'STOP')
|
WHERE status NOT IN ('END', 'FAIL', 'CANCEL', 'STOP')
|
||||||
|
AND game_mode_id = #{gameModeId}
|
||||||
<if test="id != null and id != ''">
|
<if test="id != null and id != ''">
|
||||||
AND id <> #{id}
|
AND id <> #{id}
|
||||||
</if>
|
</if>
|
||||||
@@ -287,10 +286,9 @@
|
|||||||
, a.event_id
|
, a.event_id
|
||||||
, a.event_name
|
, a.event_name
|
||||||
, a.repeat_type
|
, a.repeat_type
|
||||||
, a.event_operation_time
|
, (a.event_operation_time / 60) as event_operation_time
|
||||||
, a.status
|
, a.status
|
||||||
, a.event_start_dt
|
, a.event_start_dt
|
||||||
, a.event_end_time
|
|
||||||
, a.event_end_dt
|
, a.event_end_dt
|
||||||
, a.round_time
|
, a.round_time
|
||||||
, a.round_count
|
, a.round_count
|
||||||
@@ -308,8 +306,8 @@
|
|||||||
|
|
||||||
<!--저장-->
|
<!--저장-->
|
||||||
<insert id="postBattleEvent" parameterType="com.caliverse.admin.domain.request.BattleEventRequest" useGeneratedKeys="true" keyProperty="id">
|
<insert id="postBattleEvent" parameterType="com.caliverse.admin.domain.request.BattleEventRequest" useGeneratedKeys="true" keyProperty="id">
|
||||||
INSERT INTO battle_event (group_id, event_name, repeat_type, event_operation_time, event_start_dt, event_end_time, event_end_dt, config_id, reward_group_id, round_time, round_count, hot_time, instance_id, game_mode_id, create_by, update_by)
|
INSERT INTO battle_event (group_id, event_name, repeat_type, event_operation_time, event_start_dt, event_end_dt, config_id, reward_group_id, round_time, round_count, hot_time, instance_id, game_mode_id, create_by, update_by)
|
||||||
VALUES (#{groupId}, #{eventName}, #{repeatType}, #{eventOperationTime}, #{eventStartDt}, #{eventEndTime}, #{eventEndDt}, #{configId}, #{rewardGroupId}, #{roundTime}, #{roundCount}, #{hotTime}, #{instanceId}, #{gameModeId}, #{createBy}, #{updateBy})
|
VALUES (#{groupId}, #{eventName}, #{repeatType}, #{eventOperationTime}, #{eventStartDt}, #{eventEndDt}, #{configId}, #{rewardGroupId}, #{roundTime}, #{roundCount}, #{hotTime}, #{instanceId}, #{gameModeId}, #{createBy}, #{updateBy})
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<!--수정-->
|
<!--수정-->
|
||||||
@@ -319,7 +317,6 @@
|
|||||||
, event_operation_time = #{eventOperationTime}
|
, event_operation_time = #{eventOperationTime}
|
||||||
, config_id = #{configId}
|
, config_id = #{configId}
|
||||||
, event_start_dt = #{eventStartDt}
|
, event_start_dt = #{eventStartDt}
|
||||||
, event_end_time = #{eventEndTime}
|
|
||||||
, event_end_dt = #{eventEndDt}
|
, event_end_dt = #{eventEndDt}
|
||||||
, reward_group_id = #{rewardGroupId}
|
, reward_group_id = #{rewardGroupId}
|
||||||
, round_time = #{roundTime}
|
, round_time = #{roundTime}
|
||||||
@@ -361,7 +358,6 @@
|
|||||||
, event_operation_time
|
, event_operation_time
|
||||||
, status
|
, status
|
||||||
, event_start_dt
|
, event_start_dt
|
||||||
, event_end_time
|
|
||||||
, event_end_dt
|
, event_end_dt
|
||||||
, round_time
|
, round_time
|
||||||
, round_count
|
, round_count
|
||||||
|
|||||||
Reference in New Issue
Block a user