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