From 9231ad7caab92011092071eff47bae4f9d6314ac Mon Sep 17 00:00:00 2001 From: Umjiseung <127853946+Umjiseung@users.noreply.github.com> Date: Sun, 21 Apr 2024 18:44:13 +0900 Subject: [PATCH] =?UTF-8?q?add=20::=20ChangePendingToNowService=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ChangePendingToNowService.java | 5 +++ .../impl/ChangePendingToNowServiceImpl.java | 36 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 src/main/java/com/mindway/server/v2/domain/event/service/ChangePendingToNowService.java create mode 100644 src/main/java/com/mindway/server/v2/domain/event/service/impl/ChangePendingToNowServiceImpl.java diff --git a/src/main/java/com/mindway/server/v2/domain/event/service/ChangePendingToNowService.java b/src/main/java/com/mindway/server/v2/domain/event/service/ChangePendingToNowService.java new file mode 100644 index 0000000..001a64e --- /dev/null +++ b/src/main/java/com/mindway/server/v2/domain/event/service/ChangePendingToNowService.java @@ -0,0 +1,5 @@ +package com.mindway.server.v2.domain.event.service; + +public interface ChangePendingToNowService { + void execute(); +} diff --git a/src/main/java/com/mindway/server/v2/domain/event/service/impl/ChangePendingToNowServiceImpl.java b/src/main/java/com/mindway/server/v2/domain/event/service/impl/ChangePendingToNowServiceImpl.java new file mode 100644 index 0000000..eb9d48f --- /dev/null +++ b/src/main/java/com/mindway/server/v2/domain/event/service/impl/ChangePendingToNowServiceImpl.java @@ -0,0 +1,36 @@ +package com.mindway.server.v2.domain.event.service.impl; + +import com.mindway.server.v2.domain.event.entity.Event; +import com.mindway.server.v2.domain.event.entity.Status; +import com.mindway.server.v2.domain.event.repository.EventRepository; +import com.mindway.server.v2.domain.event.service.ChangePendingToNowService; +import com.mindway.server.v2.global.annotation.ServiceWithTransaction; +import lombok.RequiredArgsConstructor; + +import java.time.LocalDate; +import java.util.List; +import java.util.Objects; + + +@ServiceWithTransaction +@RequiredArgsConstructor +public class ChangePendingToNowServiceImpl implements ChangePendingToNowService { + + private final EventRepository eventRepository; + + public void execute() { + List pendingEvents = eventRepository.findByStatus(Status.PENDING); + + for (Event event: pendingEvents) { + if (Objects.equals(event.getStarted_at(), LocalDate.now())) { + saveChangeNow(event); + } + } + } + + private void saveChangeNow(Event event) { + event.changeStatus(Status.NOW); + + eventRepository.save(event); + } +}