From 8a428e7cf4b8c135fed6ce43b428ed4d4f4a0e2c Mon Sep 17 00:00:00 2001 From: Chan Young Date: Wed, 17 Jul 2024 00:26:33 +0900 Subject: [PATCH] fix : add lock filter after bookable span MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 프론트에서 bookable span 적용하면서 락이 겹쳐서 보이는 문제 임시 방편으로 해결 - 추후 논의 필요 --- .../main/java/com/dp/dplanner/service/LockService.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dplanner/src/main/java/com/dp/dplanner/service/LockService.java b/dplanner/src/main/java/com/dp/dplanner/service/LockService.java index 718e7d7..9582e88 100644 --- a/dplanner/src/main/java/com/dp/dplanner/service/LockService.java +++ b/dplanner/src/main/java/com/dp/dplanner/service/LockService.java @@ -16,6 +16,7 @@ import java.time.LocalDateTime; import java.util.List; +import java.util.stream.Collectors; import static com.dp.dplanner.domain.club.ClubAuthorityType.*; import static com.dp.dplanner.adapter.dto.LockDto.*; @@ -89,7 +90,13 @@ public List getLocks(Long clubMemberId, Long resourceId, Period period List locks = lockRepository.findBetween(period.getStartDateTime(), period.getEndDateTime(), resourceId); - return Response.ofList(locks); + //todo 임시방편 코드 추후 락 관련 논의 필요 + LocalDateTime cutoffDate = LocalDateTime.now().plusDays(resource.getBookableSpan()).toLocalDate().atStartOfDay(); + List filteredLock = locks.stream() + .filter(lock -> !(lock.getPeriod().getStartDateTime().isAfter(cutoffDate) || lock.getPeriod().getEndDateTime().isAfter(cutoffDate))) + .collect(Collectors.toList()); + + return Response.ofList(filteredLock); }