1010import org .springframework .web .bind .annotation .RestController ;
1111
1212import java .time .LocalDateTime ;
13+ import java .time .temporal .TemporalAdjusters ;
1314import java .util .List ;
1415
1516@ RestController
@@ -28,4 +29,67 @@ public ResponseEntity<List<SinceCommitResponseDto>> getCommits(
2829
2930 return ResponseEntity .ok (sinceCommits );
3031 }
32+
33+ // 시즌 별 커밋 수 불러오기
34+
35+ // 봄 시즌
36+ @ GetMapping ("/api/github/commits-spring" )
37+ public ResponseEntity <List <SinceCommitResponseDto >> getSpringSeasonCommits (
38+ @ RequestParam String owner ,
39+ @ RequestParam String repo
40+ ) {
41+ int currentYear = LocalDateTime .now ().getYear ();
42+ LocalDateTime since = LocalDateTime .of (2024 , 3 , 1 , 0 , 0 );
43+ LocalDateTime until = LocalDateTime .of (2024 , 5 , 31 , 23 , 59 , 59 );
44+
45+ List <SinceCommitResponseDto > sinceCommits = sinceCommitService .getSinceCommits (owner , repo , since , until );
46+
47+ return ResponseEntity .ok (sinceCommits );
48+ }
49+
50+ // 여름 시즌
51+ @ GetMapping ("/api/github/commits-summer" )
52+ public ResponseEntity <List <SinceCommitResponseDto >> getSummerSeasonCommits (
53+ @ RequestParam String owner ,
54+ @ RequestParam String repo
55+ ) {
56+ 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 );
61+
62+ return ResponseEntity .ok (sinceCommits );
63+ }
64+
65+ // 가을 시즌
66+ @ GetMapping ("/api/github/commits-fall" )
67+ public ResponseEntity <List <SinceCommitResponseDto >> getFallSeasonCommits (
68+ @ RequestParam String owner ,
69+ @ RequestParam String repo
70+ ) {
71+ 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 );
76+
77+ return ResponseEntity .ok (sinceCommits );
78+ }
79+
80+ // 겨울 시즌
81+ @ GetMapping ("/api/github/commits-winter" )
82+ public ResponseEntity <List <SinceCommitResponseDto >> getWinterSeasonCommits (
83+ @ RequestParam String owner ,
84+ @ RequestParam String repo
85+ ) {
86+ 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 ()); // 윤년 고려
90+
91+ List <SinceCommitResponseDto > sinceCommits = sinceCommitService .getSinceCommits (owner , repo , since , until );
92+
93+ return ResponseEntity .ok (sinceCommits );
94+ }
3195}
0 commit comments