From 16822ddb0e0aba086ca622a04641d2344d14d881 Mon Sep 17 00:00:00 2001 From: seoyeon0103 Date: Sun, 12 Jan 2025 08:31:03 +0900 Subject: [PATCH 1/3] . --- .../Midnight/Snacker/web/controller/CalendarController.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/controller/CalendarController.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/controller/CalendarController.java index d2ed8bf..6d31dbd 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/controller/CalendarController.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/controller/CalendarController.java @@ -48,7 +48,7 @@ public ApiResponse registerCalendar( return ApiResponse.of(SuccessStatus.ADD_CALENDAR_OK, calendarId); } - @GetMapping("/api/calender/monthly") + @GetMapping("/monthly") @Operation( summary = "월별 기록 조회 API") public ApiResponse getMonthlyCalendar( @@ -61,7 +61,7 @@ public ApiResponse getMonthl return ApiResponse.of(SuccessStatus.INQUERY_MONTH_CALENDAR_OK,response); } - @GetMapping("/api/calender/count/daily") + @GetMapping("/daily") @Operation( summary = "일별 기록 조회 API") public ApiResponse> getDailyCalendar( @@ -83,7 +83,7 @@ public ApiResponse deleteCalendar( } - @GetMapping("/api/calender/count") + @GetMapping("/count") @Operation(summary = "한달 동안의 야식 카테고리 결산") public ApiResponse monthCategoryCount( @Parameter(name = "user", hidden = true) @AuthUser Member member) From fb3ab1dd2357e9dea99f26e743cd7da60c28f5e8 Mon Sep 17 00:00:00 2001 From: seoyeon0103 Date: Sun, 12 Jan 2025 08:49:48 +0900 Subject: [PATCH 2/3] . --- .../service/PostService/PostServiceImpl.java | 32 +++++++++++++++++-- .../dto/CommentDTO/CommentResponseDTO.java | 2 ++ .../web/dto/PostDTO/PostResponseDTO.java | 2 ++ 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java index ee32442..ca9ccfa 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java @@ -4,6 +4,8 @@ import com.example.Midnight.Snacker.domain.Comment; import com.example.Midnight.Snacker.domain.Member; import com.example.Midnight.Snacker.domain.Post; +import com.example.Midnight.Snacker.domain.enums.Color; +import com.example.Midnight.Snacker.repository.CalendarRepository; import com.example.Midnight.Snacker.repository.CommentRepository; import com.example.Midnight.Snacker.repository.MemberRepository; import com.example.Midnight.Snacker.repository.PostRepository; @@ -27,6 +29,7 @@ public class PostServiceImpl implements PostService { private final PostRepository postRepository; private final MemberRepository memberRepository; private final CommentRepository commentRepository; + private final CalendarRepository calendarRepository; @Override public Post AddPost(String title, String body, String imageUrl, LocalDateTime date, Member member) { @@ -46,7 +49,8 @@ public Post AddPost(String title, String body, String imageUrl, LocalDateTime da @Override public void DeletePost(long id) { - Post post = postRepository.findById(id).orElseThrow(() ->new PostHandler(ErrorStatus.POST_NOT_FOUND)); + Post post = postRepository.findById(id) + .orElseThrow(() ->new PostHandler(ErrorStatus.POST_NOT_FOUND)); postRepository.delete(post); } // 게시글 삭제 @@ -82,12 +86,28 @@ public List getComments(Long postId){ return comments.stream() . map(comment -> new CommentResponseDTO.CommentInfoDTO( comment.getId(), + comment.getMember().getId(), comment.getMember().getNickname(), + getRate(comment.getMember()), comment.getContent(), comment.getDate().toLocalDate() )).toList(); } + float getRate(Member member){ + LocalDateTime now = LocalDateTime.now(); + + LocalDateTime startOfMonth = now.withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0).withNano(0); + LocalDateTime endOfMonth = now.withHour(23).withMinute(59).withSecond(59).withNano(999999999); + + int blackCount = calendarRepository.countByMemberAndColorAndDateBetween(member, Color.BLACK, startOfMonth, endOfMonth); + + int totalCount = calendarRepository.countByMemberAndDateBetween(member, startOfMonth, endOfMonth); + + float rating = totalCount == 0 ? 0 : ((float) blackCount / totalCount) * 100; + return rating; + } + @Override @Transactional @@ -96,9 +116,15 @@ public PostResponseDTO.getIndiPostResponseDTO getPost(Long postId){ Post post = postRepository.findById(postId).get(); + return new PostResponseDTO.getIndiPostResponseDTO( - post.getMember().getNickname(), post.getTitle(), - post.getBody(), post.getImageUrl(), comments); + post.getMember().getId(), + post.getMember().getNickname(), + post.getTitle(), + post.getBody(), + post.getImageUrl(), + comments, + getRate(post.getMember())); } } diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/CommentDTO/CommentResponseDTO.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/CommentDTO/CommentResponseDTO.java index 08a26e1..a4adcfa 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/CommentDTO/CommentResponseDTO.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/CommentDTO/CommentResponseDTO.java @@ -24,7 +24,9 @@ public static class CommentPostResponseDTO{ @AllArgsConstructor public static class CommentInfoDTO{ private Long commentId; + private Long memberId; private String nickname; + private Float percent; private String content; private LocalDate date; } diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java index 869e219..9401a92 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java @@ -28,10 +28,12 @@ public static class getPostResponseDTO{ @NoArgsConstructor @AllArgsConstructor public static class getIndiPostResponseDTO{ + private Long memberId; private String nickname; private String title; private String body; private String imageUrl; private List comments; + private float rating; } } From 942ae5c74c856008fdcf351944a7b8fdc8eb3c1a Mon Sep 17 00:00:00 2001 From: seoyeon0103 Date: Sun, 12 Jan 2025 08:51:32 +0900 Subject: [PATCH 3/3] . --- .../Midnight/Snacker/service/PostService/PostServiceImpl.java | 3 ++- .../Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java index ca9ccfa..cb689b5 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/service/PostService/PostServiceImpl.java @@ -121,7 +121,8 @@ public PostResponseDTO.getIndiPostResponseDTO getPost(Long postId){ post.getMember().getId(), post.getMember().getNickname(), post.getTitle(), - post.getBody(), + post.getBody(),g + post.getDate().toLocalDate(), post.getImageUrl(), comments, getRate(post.getMember())); diff --git a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java index 9401a92..37ac9ef 100644 --- a/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java +++ b/Midnight-Snacker/src/main/java/com/example/Midnight/Snacker/web/dto/PostDTO/PostResponseDTO.java @@ -3,6 +3,7 @@ import com.example.Midnight.Snacker.web.dto.CommentDTO.CommentResponseDTO; import lombok.*; +import java.time.LocalDate; import java.util.List; public class PostResponseDTO { @@ -32,6 +33,7 @@ public static class getIndiPostResponseDTO{ private String nickname; private String title; private String body; + private LocalDate date; private String imageUrl; private List comments; private float rating;