From 2820ed81ec3ad0cab09b3388c159496ae2328213 Mon Sep 17 00:00:00 2001 From: Develop-KIM Date: Wed, 1 Jul 2026 10:01:55 +0900 Subject: [PATCH] =?UTF-8?q?fix(achievement):=20=EB=AF=B8=EC=85=98=20?= =?UTF-8?q?=EC=A7=91=EA=B3=84=EC=97=90=EC=84=9C=20=EC=82=AD=EC=A0=9C?= =?UTF-8?q?=EB=90=9C=20=EC=9C=A0=EC=A0=80=20=EC=A0=9C=EC=99=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 레벨 분포는 삭제 안 된 유저만 세지만, 미션 현황 집계 쿼리는 유저 삭제 여부를 확인하지 않아 소프트 삭제된 유저의 미션까지 카운트되던 문제 수정. User 조인 + deletedAt IS NULL 조건을 추가해 레벨 분포와 집계 기준을 통일. Co-Authored-By: Claude Opus 4.8 --- .../application/achievement/required/UserMissionRepository.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/com/didit/application/achievement/required/UserMissionRepository.kt b/src/main/kotlin/com/didit/application/achievement/required/UserMissionRepository.kt index 03816b1c..baaf4383 100644 --- a/src/main/kotlin/com/didit/application/achievement/required/UserMissionRepository.kt +++ b/src/main/kotlin/com/didit/application/achievement/required/UserMissionRepository.kt @@ -99,8 +99,10 @@ interface UserMissionRepository : Repository { @Query( "SELECT m.level AS level, um.status AS status, COUNT(um) AS count " + - "FROM UserMission um, Mission m " + + "FROM UserMission um, Mission m, User u " + "WHERE um.missionId = m.id " + + "AND um.userId = u.id " + + "AND u.deletedAt IS NULL " + "GROUP BY m.level, um.status ORDER BY m.level", ) fun countGroupByLevelAndStatus(): List