From 128021758b47f3240beba3e16ab2bfa30e90078c Mon Sep 17 00:00:00 2001 From: Hwa Young Yang <110398814+sanchaehwa@users.noreply.github.com> Date: Mon, 1 Dec 2025 00:00:17 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20challengeCertificationRepository=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C=20=EB=B0=8F=20=ED=86=B5=ED=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ChallengeCertificationRepository.java | 12 ++++++++++ .../ChallengeCertificationRepository.java | 23 ------------------- .../service/WeeklyRankingService.java | 2 +- 3 files changed, 13 insertions(+), 24 deletions(-) delete mode 100644 src/main/java/com/example/green/domain/certification/repository/ChallengeCertificationRepository.java 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;