File tree Expand file tree Collapse file tree 2 files changed +16
-16
lines changed
src/main/java/org/withtime/be/withtimebe/domain/member Expand file tree Collapse file tree 2 files changed +16
-16
lines changed Original file line number Diff line number Diff line change 11package org .withtime .be .withtimebe .domain .member .repository ;
22
3- import java .util .Optional ;
4-
53import org .springframework .data .jpa .repository .JpaRepository ;
6- import org .springframework .data .jpa .repository .Query ;
7- import org .springframework .data .repository .query .Param ;
84import org .withtime .be .withtimebe .domain .member .entity .Grade ;
95
106public interface GradeRepository extends JpaRepository <Grade , Long > {
11-
12- @ Query ("SELECT g FROM Grade g " +
13- "WHERE g.requiredPoint <= :point " +
14- "ORDER BY g.requiredPoint DESC" )
15- Optional <Grade > findCurrentGrade (@ Param ("point" ) int point );
16-
17- @ Query ("SELECT g FROM Grade g " +
18- "WHERE g.requiredPoint > :point " +
19- "ORDER BY g.requiredPoint ASC" )
20- Optional <Grade > findNextGrade (@ Param ("point" ) int point );
217}
Original file line number Diff line number Diff line change 11package org .withtime .be .withtimebe .domain .member .service .query ;
22
3+ import java .util .Comparator ;
4+ import java .util .List ;
5+
36import org .springframework .stereotype .Service ;
47import org .springframework .web .ErrorResponseException ;
58import org .withtime .be .withtimebe .domain .member .converter .GradeConverter ;
@@ -23,10 +26,21 @@ public GradeResponseDTO.FindMyGrade findMyGrade(Member member) {
2326
2427 int currentPoint = member .getPoint ();
2528
26- Grade currentGrade = gradeRepository .findCurrentGrade (currentPoint )
29+ List <Grade > gradeList = gradeRepository .findAll ();
30+
31+ // ํ์ ํฌ์ธํธ ๊ธฐ์ค ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
32+ gradeList .sort (Comparator .comparingInt (Grade ::getRequiredPoint ));
33+
34+ // ํ์ฌ Grade
35+ Grade currentGrade = gradeList .stream ()
36+ .filter (g -> g .getRequiredPoint () <= currentPoint )
37+ .max (Comparator .comparingInt (Grade ::getRequiredPoint ))
2738 .orElseThrow (() -> new GradeException (GradeErrorCode .GRADE_NOT_FOUND ));
2839
29- Grade nextGrade = gradeRepository .findNextGrade (currentPoint )
40+ // ๋ค์ Grade
41+ Grade nextGrade = gradeList .stream ()
42+ .filter (g -> g .getRequiredPoint () > currentPoint )
43+ .findFirst ()
3044 .orElse (null );
3145
3246 return GradeConverter .toFindMyGrade (member , currentGrade , nextGrade );
You canโt perform that action at this time.
0 commit comments