File tree Expand file tree Collapse file tree
src/main/java/com/example/solidconnection/mentor Expand file tree Collapse file tree Original file line number Diff line number Diff line change 66import com .example .solidconnection .mentor .dto .MentoringCheckResponse ;
77import com .example .solidconnection .mentor .dto .MentoringConfirmRequest ;
88import com .example .solidconnection .mentor .dto .MentoringConfirmResponse ;
9+ import com .example .solidconnection .mentor .dto .MentoringCountResponse ;
910import com .example .solidconnection .mentor .dto .MentoringResponse ;
1011import com .example .solidconnection .mentor .service .MentoringCommandService ;
1112import com .example .solidconnection .mentor .service .MentoringQueryService ;
@@ -70,4 +71,12 @@ public ResponseEntity<MentoringCheckResponse> checkMentoring(
7071 MentoringCheckResponse response = mentoringCommandService .checkMentoring (siteUser .getId (), mentoringId );
7172 return ResponseEntity .ok (response );
7273 }
74+
75+ @ GetMapping ("/check" )
76+ public ResponseEntity <MentoringCountResponse > getNewMentoringsCount (
77+ @ AuthorizedUser SiteUser siteUser
78+ ) {
79+ MentoringCountResponse responses = mentoringQueryService .getNewMentoringsCount (siteUser .getId ());
80+ return ResponseEntity .ok (responses );
81+ }
7382}
Original file line number Diff line number Diff line change 1+ package com .example .solidconnection .mentor .dto ;
2+
3+ public record MentoringCountResponse (
4+ int mentoringCount
5+ ) {
6+
7+ public static MentoringCountResponse from (int mentoringCount ) {
8+ return new MentoringCountResponse (mentoringCount );
9+ }
10+ }
Original file line number Diff line number Diff line change 88public interface MentoringRepository extends JpaRepository <Mentoring , Long > {
99
1010 List <Mentoring > findAllByMentorId (Long mentorId );
11+ int countByMentorIdAndCheckedAtIsNull (Long mentorId );
1112}
Original file line number Diff line number Diff line change 33import com .example .solidconnection .common .exception .CustomException ;
44import com .example .solidconnection .mentor .domain .Mentor ;
55import com .example .solidconnection .mentor .domain .Mentoring ;
6+ import com .example .solidconnection .mentor .dto .MentoringCountResponse ;
67import com .example .solidconnection .mentor .dto .MentoringResponse ;
78import com .example .solidconnection .mentor .repository .MentorRepository ;
89import com .example .solidconnection .mentor .repository .MentoringRepository ;
@@ -33,4 +34,14 @@ public List<MentoringResponse> getMentorings(Long siteUserId) {
3334 .map (MentoringResponse ::from )
3435 .collect (Collectors .toList ());
3536 }
37+
38+ @ Transactional (readOnly = true )
39+ public MentoringCountResponse getNewMentoringsCount (Long siteUserId ) {
40+ Mentor mentor = mentorRepository .findBySiteUserId (siteUserId )
41+ .orElseThrow (() -> new CustomException (MENTOR_NOT_FOUND ));
42+
43+ int count = mentoringRepository .countByMentorIdAndCheckedAtIsNull (mentor .getId ());
44+
45+ return MentoringCountResponse .from (count );
46+ }
3647}
You can’t perform that action at this time.
0 commit comments