From cf2175e1dbd3e5b13069a70ed72bd9b266828a3a Mon Sep 17 00:00:00 2001 From: yel-m Date: Sun, 9 Jun 2024 23:39:13 +0900 Subject: [PATCH 1/4] =?UTF-8?q?fix=20:=20=ED=96=89=EB=B3=B5=20=ED=8A=B8?= =?UTF-8?q?=EB=A0=8C=EB=93=9C=EC=9D=98=20=ED=96=89=EB=B3=B5=20=EC=9E=A5?= =?UTF-8?q?=EC=86=8C=20BEST=203=EB=A5=BC=20=EC=98=A4=EB=8A=98=20=EA=B8=B0?= =?UTF-8?q?=EC=A4=80=20=EB=8D=B0=EC=9D=B4=ED=84=B0=EB=A7=8C=20=EB=B3=B4?= =?UTF-8?q?=EC=97=AC=EC=A3=BC=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/record/repository/RecordRepository.java | 8 ++++++++ .../report/application/TrendLocationRankingService.java | 7 +++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hobak/happinessql/domain/record/repository/RecordRepository.java b/src/main/java/com/hobak/happinessql/domain/record/repository/RecordRepository.java index 2af6957..4973048 100644 --- a/src/main/java/com/hobak/happinessql/domain/record/repository/RecordRepository.java +++ b/src/main/java/com/hobak/happinessql/domain/record/repository/RecordRepository.java @@ -14,11 +14,19 @@ public interface RecordRepository extends JpaRepository { Page findByUserOrderByRecordIdDesc(User user, Pageable pageRequest); + Page findByRecordIdLessThanAndUserOrderByRecordIdDesc(Long recordId, User user, Pageable pageRequest); + List findAllByCreatedAtBetweenAndUser(LocalDateTime startOfMonth, LocalDateTime endOfMonth, User user); + + List findAllByCreatedAtBetween(LocalDateTime startOfMonth, LocalDateTime endOfMonth); + List findAllByUser(User user); + Long countAllByUser(User user); + Long countAllByCreatedAtBetweenAndUser(LocalDateTime startDate, LocalDateTime endDate, User user); + @Query("SELECT r.activity, COUNT(r) as count FROM Record r WHERE r.createdAt >= :time GROUP BY r.activity ORDER BY count DESC limit 3") List findPopularActivities(@Param("time")LocalDateTime time); diff --git a/src/main/java/com/hobak/happinessql/domain/report/application/TrendLocationRankingService.java b/src/main/java/com/hobak/happinessql/domain/report/application/TrendLocationRankingService.java index 8131dcb..5b517fc 100644 --- a/src/main/java/com/hobak/happinessql/domain/report/application/TrendLocationRankingService.java +++ b/src/main/java/com/hobak/happinessql/domain/report/application/TrendLocationRankingService.java @@ -7,6 +7,8 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.List; @Service @@ -16,8 +18,9 @@ public class TrendLocationRankingService { private final RecordRepository recordRepository; public List getTop3HappyLocationsWithActivities(User user) { - List records = recordRepository.findAllByUser(user); + LocalDateTime startOfDay = LocalDate.now().atStartOfDay(); + LocalDateTime endOfDay = LocalDate.now().atTime(23, 59, 59); + List records = recordRepository.findAllByCreatedAtBetween(startOfDay, endOfDay); return LocationHappinessAnalyzer.getLocationActivityRankings(records, 3); - } } From a0dc6eb3a7692751290f5689a9fd55c0f1bd4893 Mon Sep 17 00:00:00 2001 From: yel-m Date: Sun, 9 Jun 2024 23:39:50 +0900 Subject: [PATCH 2/4] =?UTF-8?q?fix=20:=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20user=20=ED=8C=8C=EB=9D=BC?= =?UTF-8?q?=EB=AF=B8=ED=84=B0=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/report/application/TrendLocationRankingService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/hobak/happinessql/domain/report/application/TrendLocationRankingService.java b/src/main/java/com/hobak/happinessql/domain/report/application/TrendLocationRankingService.java index 5b517fc..3889644 100644 --- a/src/main/java/com/hobak/happinessql/domain/report/application/TrendLocationRankingService.java +++ b/src/main/java/com/hobak/happinessql/domain/report/application/TrendLocationRankingService.java @@ -17,7 +17,7 @@ public class TrendLocationRankingService { private final RecordRepository recordRepository; - public List getTop3HappyLocationsWithActivities(User user) { + public List getTop3HappyLocationsWithActivities() { LocalDateTime startOfDay = LocalDate.now().atStartOfDay(); LocalDateTime endOfDay = LocalDate.now().atTime(23, 59, 59); List records = recordRepository.findAllByCreatedAtBetween(startOfDay, endOfDay); From 92ce6bc97f4d91bcb02bf578ffe6929da05cffdd Mon Sep 17 00:00:00 2001 From: yel-m Date: Sun, 9 Jun 2024 23:41:04 +0900 Subject: [PATCH 3/4] =?UTF-8?q?refactor=20:=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20import=EB=AC=B8=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/report/application/TrendLocationRankingService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/hobak/happinessql/domain/report/application/TrendLocationRankingService.java b/src/main/java/com/hobak/happinessql/domain/report/application/TrendLocationRankingService.java index 3889644..517fa39 100644 --- a/src/main/java/com/hobak/happinessql/domain/report/application/TrendLocationRankingService.java +++ b/src/main/java/com/hobak/happinessql/domain/report/application/TrendLocationRankingService.java @@ -3,7 +3,6 @@ import com.hobak.happinessql.domain.record.domain.Record; import com.hobak.happinessql.domain.record.repository.RecordRepository; import com.hobak.happinessql.domain.report.dto.LocationActivityRankingResponseDto; -import com.hobak.happinessql.domain.user.domain.User; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; From d1f8ce710c97b5e0ebc067d0c7d59faa724c2bae Mon Sep 17 00:00:00 2001 From: yel-m Date: Sun, 9 Jun 2024 23:47:00 +0900 Subject: [PATCH 4/4] =?UTF-8?q?fix=20:=20=EC=9D=B8=EC=9E=90=EB=A1=9C=20?= =?UTF-8?q?=EB=84=98=EA=B8=B4=20user=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hobak/happinessql/domain/report/api/TrendController.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/hobak/happinessql/domain/report/api/TrendController.java b/src/main/java/com/hobak/happinessql/domain/report/api/TrendController.java index 2b145c7..d8dadb6 100644 --- a/src/main/java/com/hobak/happinessql/domain/report/api/TrendController.java +++ b/src/main/java/com/hobak/happinessql/domain/report/api/TrendController.java @@ -66,9 +66,8 @@ public DataResponseDto getSummary(@RequestParam(required = false) AgeGro @Operation(summary = "행복도가 높은 장소와 활동 Top3", description = "전체 유저가 행복했던 장소 Top 3의 이름, 위치, 그 장소에서 가장 행복도가 높았던 활동을 조회합니다.") @GetMapping("/top-locations") - public DataResponseDto> getTop3HappiestLocations(@AuthenticationPrincipal UserDetails userDetails) { - User user = userFindService.findByUserDetails(userDetails); - List responseDto = trendLocationRankingService.getTop3HappyLocationsWithActivities(user); + public DataResponseDto> getTop3HappiestLocations() { + List responseDto = trendLocationRankingService.getTop3HappyLocationsWithActivities(); return DataResponseDto.of(responseDto, "행복도가 높은 장소와 활동 Top3를 성공적으로 조회했습니다."); } }