From ee03934496b824d5f46f953b1226eaeb3baa25e1 Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 5 Mar 2026 17:13:06 +0900 Subject: [PATCH] =?UTF-8?q?fix(admin-charge):=20=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=EC=9E=90=20=EC=B6=A9=EC=A0=84=20=EC=83=81=EC=84=B8=20=EC=9D=91?= =?UTF-8?q?=EB=8B=B5=20=EC=8B=9D=EB=B3=84=EC=9E=90=EB=A5=BC=20chargeId?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/20260305_관리자충전상세응답필드수정.md | 12 ++++++++++++ .../admin/charge/AdminChargeStatusQueryRepository.kt | 2 +- .../admin/charge/AdminChargeStatusService.kt | 2 +- .../admin/charge/GetChargeStatusDetailQueryDto.kt | 2 +- .../admin/charge/GetChargeStatusDetailResponse.kt | 2 +- 5 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 docs/20260305_관리자충전상세응답필드수정.md diff --git a/docs/20260305_관리자충전상세응답필드수정.md b/docs/20260305_관리자충전상세응답필드수정.md new file mode 100644 index 00000000..238949ba --- /dev/null +++ b/docs/20260305_관리자충전상세응답필드수정.md @@ -0,0 +1,12 @@ +# 관리자 충전 상태 상세 응답 필드 수정 + +- [x] `GetChargeStatusDetailResponse`에서 `memberId` 제거 +- [x] `GetChargeStatusDetailResponse`에 `chargeId` 추가 +- [x] 연관 매핑 코드 반영 및 빌드 검증 + +## 검증 기록 + +### 1차 구현 +- 무엇을: 관리자 충전 상세 응답 DTO의 식별자를 `memberId`에서 `chargeId`로 변경하고, Query DTO/서비스 매핑/QueryDSL select 값을 동일하게 정합성 맞춰 수정했다. +- 왜: 충전 상세 응답에서 회원 식별자 대신 충전 건 식별자를 내려주도록 요구사항이 변경되었기 때문이다. +- 어떻게: `lsp_diagnostics`는 `.kt` 확장자 LSP 미설정으로 도구 검증이 불가해 사유를 확인했고, `./gradlew build`를 실행해 컴파일/테스트/체크를 통합 검증했으며 `BUILD SUCCESSFUL`을 확인했다. diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/AdminChargeStatusQueryRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/AdminChargeStatusQueryRepository.kt index df5d8977..ed9c2eb0 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/AdminChargeStatusQueryRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/AdminChargeStatusQueryRepository.kt @@ -118,7 +118,7 @@ class AdminChargeStatusQueryRepository(private val queryFactory: JPAQueryFactory return queryFactory .select( QGetChargeStatusDetailQueryDto( - member.id, + charge.id, member.nickname, payment.method.coalesce(""), payment.price, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/AdminChargeStatusService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/AdminChargeStatusService.kt index 18bf00da..5a73b91f 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/AdminChargeStatusService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/AdminChargeStatusService.kt @@ -46,7 +46,7 @@ class AdminChargeStatusService(val repository: AdminChargeStatusQueryRepository) return repository.getChargeStatusDetail(startDate, endDate, paymentGateway, currency) .map { GetChargeStatusDetailResponse( - memberId = it.memberId, + chargeId = it.chargeId, nickname = it.nickname, method = it.method, amount = it.amount, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/GetChargeStatusDetailQueryDto.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/GetChargeStatusDetailQueryDto.kt index 260c5381..d2ce711e 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/GetChargeStatusDetailQueryDto.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/GetChargeStatusDetailQueryDto.kt @@ -4,7 +4,7 @@ import com.querydsl.core.annotations.QueryProjection import java.math.BigDecimal data class GetChargeStatusDetailQueryDto @QueryProjection constructor( - val memberId: Long, + val chargeId: Long, val nickname: String, val method: String, val amount: BigDecimal, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/GetChargeStatusDetailResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/GetChargeStatusDetailResponse.kt index 8a6baeee..f96145f1 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/GetChargeStatusDetailResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/charge/GetChargeStatusDetailResponse.kt @@ -3,7 +3,7 @@ package kr.co.vividnext.sodalive.admin.charge import java.math.BigDecimal data class GetChargeStatusDetailResponse( - val memberId: Long, + val chargeId: Long, val nickname: String, val method: String, val amount: BigDecimal,