From 1c14063cb47cfb6a010df99b8bb4b0052083af56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=95=88=EC=A0=95=ED=9B=84?= Date: Wed, 31 Jul 2024 19:53:23 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20visitlist=20today=20=EB=B3=80=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../market/application/MarketInfoUseCase.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/api-module/src/main/java/com/likelion/apimodule/market/application/MarketInfoUseCase.java b/api-module/src/main/java/com/likelion/apimodule/market/application/MarketInfoUseCase.java index fa70d85..aa23c76 100644 --- a/api-module/src/main/java/com/likelion/apimodule/market/application/MarketInfoUseCase.java +++ b/api-module/src/main/java/com/likelion/apimodule/market/application/MarketInfoUseCase.java @@ -104,17 +104,26 @@ public Map> findVisitList(String accessToken) { return visitListInfosByDate; } - public Map> findTodayVisitList (String accessToken) { + public Map> findTodayVisitList(String accessToken) { String email = jwtUtil.getEmail(accessToken); User user = userQueryService.findByEmail(email); List visitLists = visitListQueryService.findVisitListsByUserId(user.getUserId()); - // 그룹화된 방문 리스트를 날짜별로 나누기 - Map> groupedByDate = visitLists.stream() + // Get today's date + LocalDate today = LocalDate.now(); + + // Filter out visit lists with today's date and visit_status not equal to VISITED + List filteredVisitLists = visitLists.stream() + .filter(vl -> vl.getCreatedAt().toLocalDate().isEqual(today)) + .filter(vl -> !vl.getVisit_status().equals(VisitStatus.VISITED)) + .toList(); + + // Group filtered visit lists by date + Map> groupedByDate = filteredVisitLists.stream() .collect(Collectors.groupingBy(vl -> vl.getCreatedAt().toLocalDate())); - // 날짜별 VisitListInfo 리스트를 저장할 Map + // Map to store VisitListInfo by date Map> visitListInfosByDate = new LinkedHashMap<>(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm"); @@ -123,12 +132,12 @@ public Map> findTodayVisitList (String accessToke LocalDate date = entry.getKey(); List visitListsForDate = entry.getValue(); - // LocalDateTime을 기준으로 정렬 + // Sort by LocalDateTime List sortedVisitListsForDate = visitListsForDate.stream() .sorted(Comparator.comparing(VisitList::getCreatedAt)) .toList(); - // 날짜별 VisitListInfo 리스트 생성 + // Create VisitListInfo list for the date List visitListInfos = sortedVisitListsForDate.stream() .map(visitList -> { Long id = visitList.getId(); @@ -154,6 +163,7 @@ public Map> findTodayVisitList (String accessToke return visitListInfosByDate; } + public void deleteVisitList(Long visitListId) { if (visitListQueryService.findVisitListById(visitListId) != null) {