이벤트 정리

This commit is contained in:
2025-10-27 15:17:30 +09:00
parent 6b006e21e3
commit edbd69893d
2 changed files with 16 additions and 16 deletions

View File

@@ -116,6 +116,7 @@ public class WorldEventService {
.status(CommonCode.SUCCESS.getHttpStatus()) .status(CommonCode.SUCCESS.getHttpStatus())
.result(CommonCode.SUCCESS.getResult()) .result(CommonCode.SUCCESS.getResult())
.resultData(WorldEventResponse.ResultData.builder() .resultData(WorldEventResponse.ResultData.builder()
.message(SuccessCode.UPDATE.getMessage()) .message(SuccessCode.UPDATE.getMessage())
.build()) .build())
.build(); .build();

View File

@@ -1,10 +1,9 @@
package com.caliverse.admin.scheduler.polling.service; package com.caliverse.admin.scheduler.polling.service;
import com.caliverse.admin.domain.entity.Event; import com.caliverse.admin.domain.entity.RewardEvent;
import com.caliverse.admin.domain.entity.log.LogAction; import com.caliverse.admin.domain.entity.log.LogAction;
import com.caliverse.admin.domain.entity.log.LogStatus; import com.caliverse.admin.domain.entity.log.LogStatus;
import com.caliverse.admin.domain.service.EventService; import com.caliverse.admin.domain.service.RewardEventService;
import com.caliverse.admin.global.common.annotation.BusinessProcess;
import com.caliverse.admin.global.component.manager.BusinessProcessIdManager; import com.caliverse.admin.global.component.manager.BusinessProcessIdManager;
import com.caliverse.admin.mongodb.service.BusinessLogService; import com.caliverse.admin.mongodb.service.BusinessLogService;
import com.caliverse.admin.scheduler.CommonScheduler; import com.caliverse.admin.scheduler.CommonScheduler;
@@ -22,13 +21,13 @@ import java.util.concurrent.atomic.AtomicInteger;
@Slf4j @Slf4j
@Component @Component
public class EventScheduler extends CommonScheduler { public class EventScheduler extends CommonScheduler {
private final EventService eventService; private final RewardEventService rewardEventService;
public EventScheduler(EventService eventService, public EventScheduler(RewardEventService rewardEventService,
BusinessLogService businessLogService, BusinessLogService businessLogService,
BusinessProcessIdManager processIdManager) { BusinessProcessIdManager processIdManager) {
super(businessLogService, processIdManager); super(businessLogService, processIdManager);
this.eventService = eventService; this.rewardEventService = rewardEventService;
} }
@Override @Override
@@ -37,7 +36,7 @@ public class EventScheduler extends CommonScheduler {
} }
private void executeLogic() { private void executeLogic() {
List<Event> eventList = eventService.getScheduleMailList(); List<RewardEvent> rewardEventList = rewardEventService.getScheduleMailList();
LocalDateTime startTime = LocalDateTime.now(); LocalDateTime startTime = LocalDateTime.now();
List<Long> processedEventIds = new ArrayList<>(); List<Long> processedEventIds = new ArrayList<>();
@@ -46,13 +45,13 @@ public class EventScheduler extends CommonScheduler {
AtomicInteger finishedCount = new AtomicInteger(0); AtomicInteger finishedCount = new AtomicInteger(0);
try{ try{
eventList.forEach(event -> { rewardEventList.forEach(event -> {
LocalDateTime nowDate = LocalDateTime.now(); LocalDateTime nowDate = LocalDateTime.now();
LocalDateTime eventStartTime = event.getStartDt(); LocalDateTime eventStartTime = event.getStartDt();
LocalDateTime endTime = event.getEndDt(); LocalDateTime endTime = event.getEndDt();
if(nowDate.isAfter(endTime) && event.getStatus().equals(Event.EVENTSTATUS.WAIT)){ if(nowDate.isAfter(endTime) && event.getStatus().equals(RewardEvent.EVENTSTATUS.WAIT)){
eventService.updateEventStatus(event.getId(), Event.EVENTSTATUS.FAIL); rewardEventService.updateEventStatus(event.getId(), RewardEvent.EVENTSTATUS.FAIL);
processedEventIds.add(event.getId()); processedEventIds.add(event.getId());
timeoutCount.incrementAndGet(); timeoutCount.incrementAndGet();
@@ -61,16 +60,16 @@ public class EventScheduler extends CommonScheduler {
} }
// 시작시간이 30분 남았을때 게임DB에 insert 해준다(서버에서 캐시 등록) // 시작시간이 30분 남았을때 게임DB에 insert 해준다(서버에서 캐시 등록)
if (event.getStatus().equals(Event.EVENTSTATUS.WAIT) && Duration.between(nowDate, eventStartTime ).abs().toMinutes() <= 30 && !event.isAddFlag()) { if (event.getStatus().equals(RewardEvent.EVENTSTATUS.WAIT) && Duration.between(nowDate, eventStartTime ).abs().toMinutes() <= 30 && !event.isAddFlag()) {
eventService.insertSystemMail(event); rewardEventService.insertSystemMail(event);
processedEventIds.add(event.getId()); processedEventIds.add(event.getId());
systemMailInsertedCount.incrementAndGet(); systemMailInsertedCount.incrementAndGet();
log.info("eventJob eventSchedule dynamoDB Insert & Start: {}", event); log.info("eventJob eventSchedule dynamoDB Insert & Start: {}", event);
} }
if(!nowDate.isBefore(endTime) && event.getStatus().equals(Event.EVENTSTATUS.RUNNING)){ if(!nowDate.isBefore(endTime) && event.getStatus().equals(RewardEvent.EVENTSTATUS.RUNNING)){
eventService.updateEventStatus(event.getId(), Event.EVENTSTATUS.FINISH); rewardEventService.updateEventStatus(event.getId(), RewardEvent.EVENTSTATUS.FINISH);
processedEventIds.add(event.getId()); processedEventIds.add(event.getId());
finishedCount.incrementAndGet(); finishedCount.incrementAndGet();
@@ -90,7 +89,7 @@ public class EventScheduler extends CommonScheduler {
startTime, startTime,
LocalDateTime.now(), LocalDateTime.now(),
Map.of( Map.of(
"totalEventCount", eventList.size(), "totalEventCount", rewardEventList.size(),
"processedCount", processedEventIds.size(), "processedCount", processedEventIds.size(),
"processedEventIds", processedEventIds, "processedEventIds", processedEventIds,
"timeoutCount", timeoutCount.get(), "timeoutCount", timeoutCount.get(),
@@ -100,7 +99,7 @@ public class EventScheduler extends CommonScheduler {
); );
log.info("Event scheduler completed: {} items processed out of {} total", log.info("Event scheduler completed: {} items processed out of {} total",
processedEventIds.size(), eventList.size()); processedEventIds.size(), rewardEventList.size());
} }
}catch (Exception e){ }catch (Exception e){
log.error("eventSchedule Exception: {}", e.getMessage()); log.error("eventSchedule Exception: {}", e.getMessage());