https://github.com/Kernel360/F2_PLAY_BADMINTON_BE/pull/536
기존: 인기 Top 동호회를 조회할 때마다 모든 동호회에 대해 아래의 로직을 실행하고 있었습니다.
public double calculatePopularityScore() {
return registrationCount * 0.5 + visitedCount * 0.2;
}
public double calculateActivityScore() {
return leagueCount * 1.5 + registrationCount * 0.5 + visitedCount * 0.2;
}
@Component
public class ActivityClub implements Rank {
@Override
public List<ClubStatistics> arrangeByStrategy(List<ClubStatistics> statisticsList) {
return statisticsList.stream()
.sorted(Comparator.comparingDouble(ClubStatistics::calculateActivityScore).reversed())
.toList();
}
}
변경 후
private void updatePopularityScore() {
this.popularityScore = registrationCount * 0.5 + visitedCount * 0.2;
}
private void updateActivityScore() {
this.activityScore = leagueCount * 1.5 + registrationCount * 0.5 + visitedCount * 0.2;
}
private double popularityScore;
private double activityScore;