Skip to content

Commit 56ffcb9

Browse files
authored
๐Ÿ› [FIX] Grade ์กฐํšŒ ๋กœ์ง ์ˆ˜์ • (#85)
2 parents 53fd85c + d1f7283 commit 56ffcb9

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed
Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,7 @@
11
package org.withtime.be.withtimebe.domain.member.repository;
22

3-
import java.util.Optional;
4-
53
import org.springframework.data.jpa.repository.JpaRepository;
6-
import org.springframework.data.jpa.repository.Query;
7-
import org.springframework.data.repository.query.Param;
84
import org.withtime.be.withtimebe.domain.member.entity.Grade;
95

106
public 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
}

โ€Žsrc/main/java/org/withtime/be/withtimebe/domain/member/service/query/GradeQueryServiceImpl.javaโ€Ž

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package org.withtime.be.withtimebe.domain.member.service.query;
22

3+
import java.util.Comparator;
4+
import java.util.List;
5+
36
import org.springframework.stereotype.Service;
47
import org.springframework.web.ErrorResponseException;
58
import 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);

0 commit comments

Comments
ย (0)