1.8 KiB
1.8 KiB
관리자 정산 콘텐츠 크리에이터별 조회 SQL 오류 수정 작업 계획
/admin/calculate/content-by-creator호출 경로(Controller/Service/Repository)와 SQL 생성 지점을 확인한다.ONLY_FULL_GROUP_BY위반 원인(content_settlement_ratio비집계 컬럼)을 제거하는 최소 수정안을 적용한다.- 수정된 쿼리가 기존 응답 스키마/정산 계산 로직과 호환되는지 코드 레벨로 검증한다.
lsp_diagnostics, 관련 테스트, 빌드를 실행해 정상 동작을 검증한다.
검증 기록
1차 수정
- 무엇을:
AdminCalculateQueryRepository#getCalculateContentByCreator의groupBy를member.id에서member.id, creatorSettlementRatio.contentSettlementRatio로 수정해 SELECT의 비집계 컬럼(contentSettlementRatio)이 GROUP BY에 포함되도록 변경했다. - 왜:
/admin/calculate/content-by-creator조회 시creator_settlement_ratio.content_settlement_ratio가 SELECT 절에 존재하지만 GROUP BY에 없어 MySQLONLY_FULL_GROUP_BY모드에서 SQLSyntaxErrorException이 발생했기 때문이다. - 어떻게:
- 경로/원인 확인:
AdminCalculateController#getCalculateContentByCreator->AdminCalculateService#getCalculateContentByCreator->AdminCalculateQueryRepository#getCalculateContentByCreator호출 체인을 확인했다. - 코드 수정:
src/main/kotlin/kr/co/vividnext/sodalive/admin/calculate/AdminCalculateQueryRepository.kt의 콘텐츠 크리에이터별 조회 쿼리groupBy를 보완했다. - 검증 실행 결과:
lsp_diagnostics(AdminCalculateQueryRepository.kt) -> Kotlin LSP 미설정으로 진단 불가./gradlew test-> 성공./gradlew build -x test-> 성공./gradlew tasks --all-> 성공
- 경로/원인 확인: