diff --git a/src/main/java/com/example/green/domain/certification/domain/ChallengeCertificationRepository.java b/src/main/java/com/example/green/domain/certification/domain/ChallengeCertificationRepository.java index 25bc8194..c1b43c67 100644 --- a/src/main/java/com/example/green/domain/certification/domain/ChallengeCertificationRepository.java +++ b/src/main/java/com/example/green/domain/certification/domain/ChallengeCertificationRepository.java @@ -1,9 +1,13 @@ package com.example.green.domain.certification.domain; import java.time.LocalDate; +import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; + +import com.example.green.domain.certification.infra.projections.MemberCertifiedCountProjection; public interface ChallengeCertificationRepository extends JpaRepository { @@ -28,4 +32,12 @@ SELECT COUNT(cc) > 0 boolean existsByPersonalChallenge(Long challengeId, LocalDate challengeDate, Long memberId); int countChallengeCertificationByMemberMemberId(Long memberId); + + //여러 회원 인증 수 (한번에 조회) + @Query("SELECT c.member.memberId AS memberId, COUNT(c) AS certifiedCount " + + "FROM ChallengeCertification c " + + "WHERE c.member.memberId IN :memberIds " + + "GROUP BY c.member.memberId") + List findCertifiedCountByMemberIds(@Param("memberIds") List memberIds); + } diff --git a/src/main/java/com/example/green/domain/certification/repository/ChallengeCertificationRepository.java b/src/main/java/com/example/green/domain/certification/repository/ChallengeCertificationRepository.java deleted file mode 100644 index 1b0cdddb..00000000 --- a/src/main/java/com/example/green/domain/certification/repository/ChallengeCertificationRepository.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.example.green.domain.certification.repository; - -import java.util.List; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.query.Param; - -import com.example.green.domain.certification.domain.ChallengeCertification; -import com.example.green.domain.certification.infra.projections.MemberCertifiedCountProjection; - -public interface ChallengeCertificationRepository extends JpaRepository { - - //단일 회원 인증 수 - int countChallengeCertificationByMemberMemberId(Long memberId); - - //여러 회원 인증 수 (한번에 조회) - @Query("SELECT c.member.memberId AS memberId, COUNT(c) AS certifiedCount " + - "FROM ChallengeCertification c " + - "WHERE c.member.memberId IN :memberIds " + - "GROUP BY c.member.memberId") - List findCertifiedCountByMemberIds(@Param("memberIds") List memberIds); -} diff --git a/src/main/java/com/example/green/domain/dashboard/rankingmodule/service/WeeklyRankingService.java b/src/main/java/com/example/green/domain/dashboard/rankingmodule/service/WeeklyRankingService.java index 85953c98..d6dc48b2 100644 --- a/src/main/java/com/example/green/domain/dashboard/rankingmodule/service/WeeklyRankingService.java +++ b/src/main/java/com/example/green/domain/dashboard/rankingmodule/service/WeeklyRankingService.java @@ -13,8 +13,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.example.green.domain.certification.domain.ChallengeCertificationRepository; import com.example.green.domain.certification.infra.projections.MemberCertifiedCountProjection; -import com.example.green.domain.certification.repository.ChallengeCertificationRepository; import com.example.green.domain.dashboard.rankingmodule.dto.response.MemberPointResponse; import com.example.green.domain.dashboard.rankingmodule.dto.response.TopMemberPointResponse; import com.example.green.domain.dashboard.rankingmodule.entity.WeeklyRanking;