11package cmf .commitField .domain .commit .sinceCommit .controller ;
22
3+ import cmf .commitField .domain .commit .sinceCommit .dto .CommitAnalysisResponseDto ;
34import cmf .commitField .domain .commit .sinceCommit .dto .SinceCommitResponseDto ;
45import cmf .commitField .domain .commit .sinceCommit .service .SinceCommitService ;
56import lombok .RequiredArgsConstructor ;
@@ -24,72 +25,79 @@ public ResponseEntity<List<SinceCommitResponseDto>> getCommits(
2425 @ RequestParam String repo ,
2526 @ RequestParam @ DateTimeFormat (iso = DateTimeFormat .ISO .DATE_TIME ) LocalDateTime since ,
2627 @ RequestParam @ DateTimeFormat (iso = DateTimeFormat .ISO .DATE_TIME ) LocalDateTime until
27- ) {
28+ ) {
2829 List <SinceCommitResponseDto > sinceCommits = sinceCommitService .getSinceCommits (owner , repo , since , until );
29-
3030 return ResponseEntity .ok (sinceCommits );
3131 }
3232
33- // 시즌 별 커밋 수 불러오기
33+ // 연속 커밋 일수와 같은 추가 분석 정보를 포함하여 반환
34+ @ GetMapping ("/api/github/commits-analysis" )
35+ public ResponseEntity <CommitAnalysisResponseDto > getCommitsAnalysis (
36+ @ RequestParam String owner ,
37+ @ RequestParam String repo ,
38+ @ RequestParam @ DateTimeFormat (iso = DateTimeFormat .ISO .DATE_TIME ) LocalDateTime since ,
39+ @ RequestParam @ DateTimeFormat (iso = DateTimeFormat .ISO .DATE_TIME ) LocalDateTime until
40+ ) {
41+ CommitAnalysisResponseDto analysis = sinceCommitService .getCommitAnalysis (owner , repo , since , until );
42+ return ResponseEntity .ok (analysis );
43+ }
44+
45+ // 시즌 별 커밋 정보 불러오기(테스트용으로 2024년 설정)
3446
35- // 봄 시즌
47+ // 봄 시즌(3/1 - 5/31)
3648 @ GetMapping ("/api/github/commits-spring" )
37- public ResponseEntity <List < SinceCommitResponseDto > > getSpringSeasonCommits (
49+ public ResponseEntity <CommitAnalysisResponseDto > getSpringSeasonCommits (
3850 @ RequestParam String owner ,
3951 @ RequestParam String repo
4052 ) {
4153 int currentYear = LocalDateTime .now ().getYear ();
4254 LocalDateTime since = LocalDateTime .of (2024 , 3 , 1 , 0 , 0 );
4355 LocalDateTime until = LocalDateTime .of (2024 , 5 , 31 , 23 , 59 , 59 );
4456
45- List <SinceCommitResponseDto > sinceCommits = sinceCommitService .getSinceCommits (owner , repo , since , until );
46-
47- return ResponseEntity .ok (sinceCommits );
57+ CommitAnalysisResponseDto analysis = sinceCommitService .getCommitAnalysis (owner , repo , since , until );
58+ return ResponseEntity .ok (analysis );
4859 }
4960
50- // 여름 시즌
61+ // 여름 시즌(6/1 - 8/31)
5162 @ GetMapping ("/api/github/commits-summer" )
52- public ResponseEntity <List < SinceCommitResponseDto > > getSummerSeasonCommits (
63+ public ResponseEntity <CommitAnalysisResponseDto > getSummerSeasonCommits (
5364 @ RequestParam String owner ,
5465 @ RequestParam String repo
5566 ) {
5667 int currentYear = LocalDateTime .now ().getYear ();
57- LocalDateTime since = LocalDateTime .of (currentYear , 6 , 1 , 0 , 0 );
58- LocalDateTime until = LocalDateTime .of (currentYear , 8 , 31 , 23 , 59 , 59 );
59-
60- List <SinceCommitResponseDto > sinceCommits = sinceCommitService .getSinceCommits (owner , repo , since , until );
68+ LocalDateTime since = LocalDateTime .of (2024 , 6 , 1 , 0 , 0 );
69+ LocalDateTime until = LocalDateTime .of (2024 , 8 , 31 , 23 , 59 , 59 );
6170
62- return ResponseEntity .ok (sinceCommits );
71+ CommitAnalysisResponseDto analysis = sinceCommitService .getCommitAnalysis (owner , repo , since , until );
72+ return ResponseEntity .ok (analysis );
6373 }
6474
65- // 가을 시즌
75+ // 가을 시즌(9/1 - 11/30)
6676 @ GetMapping ("/api/github/commits-fall" )
67- public ResponseEntity <List < SinceCommitResponseDto > > getFallSeasonCommits (
77+ public ResponseEntity <CommitAnalysisResponseDto > getFallSeasonCommits (
6878 @ RequestParam String owner ,
6979 @ RequestParam String repo
7080 ) {
7181 int currentYear = LocalDateTime .now ().getYear ();
72- LocalDateTime since = LocalDateTime .of (currentYear , 9 , 1 , 0 , 0 );
73- LocalDateTime until = LocalDateTime .of (currentYear , 11 , 30 , 23 , 59 , 59 );
74-
75- List <SinceCommitResponseDto > sinceCommits = sinceCommitService .getSinceCommits (owner , repo , since , until );
82+ LocalDateTime since = LocalDateTime .of (2024 , 9 , 1 , 0 , 0 );
83+ LocalDateTime until = LocalDateTime .of (2024 , 11 , 30 , 23 , 59 , 59 );
7684
77- return ResponseEntity .ok (sinceCommits );
85+ CommitAnalysisResponseDto analysis = sinceCommitService .getCommitAnalysis (owner , repo , since , until );
86+ return ResponseEntity .ok (analysis );
7887 }
7988
80- // 겨울 시즌
89+ // 겨울 시즌(이전 년도 12/1 - 다음 년도 2/30)
8190 @ GetMapping ("/api/github/commits-winter" )
82- public ResponseEntity <List < SinceCommitResponseDto > > getWinterSeasonCommits (
91+ public ResponseEntity <CommitAnalysisResponseDto > getWinterSeasonCommits (
8392 @ RequestParam String owner ,
8493 @ RequestParam String repo
8594 ) {
8695 int currentYear = LocalDateTime .now ().getYear ();
87- LocalDateTime since = LocalDateTime .of (currentYear , 12 , 1 , 0 , 0 );
88- LocalDateTime until = LocalDateTime .of (currentYear + 1 , 2 , 1 , 23 , 59 , 59 )
89- .with (TemporalAdjusters .lastDayOfMonth ()); // 윤년 고려
96+ LocalDateTime since = LocalDateTime .of (2023 , 12 , 1 , 0 , 0 );
97+ LocalDateTime until = LocalDateTime .of (2024 + 1 , 2 , 1 , 23 , 59 , 59 )
98+ .with (TemporalAdjusters .lastDayOfMonth ());
9099
91- List <SinceCommitResponseDto > sinceCommits = sinceCommitService .getSinceCommits (owner , repo , since , until );
92-
93- return ResponseEntity .ok (sinceCommits );
100+ CommitAnalysisResponseDto analysis = sinceCommitService .getCommitAnalysis (owner , repo , since , until );
101+ return ResponseEntity .ok (analysis );
94102 }
95103}
0 commit comments