[SRLT-160] 백오피스 PDF 유형 응답 추가#100
Hidden character warning
Conversation
|
Caution Review failedThe pull request is closed. Note
|
| Layer / File(s) | Summary |
|---|---|
결과 DTO 데이터 계약 확장 src/main/java/starlight/application/backoffice/businessplan/provided/dto/result/BackofficeBusinessPlanDetailResult.java, src/main/java/starlight/application/backoffice/member/provided/dto/result/BackofficeUserBusinessPlanRowResult.java, src/main/java/starlight/application/backoffice/member/required/dto/BackofficeUserBusinessPlanLookupResult.java |
BackofficeBusinessPlanDetailResult에 pdfBased 및 pdfUrl 필드 추가, BackofficeUserBusinessPlanRowResult에 pdfBased 필드 추가, BackofficeUserBusinessPlanLookupResult에 pdfBased 필드 추가. 각 결과 레코드의 정적 팩토리 메서드(of(...)) 시그니처와 생성자 호출을 업데이트하여 새 필드를 수용합니다. |
서비스 레이어 DTO 구성 src/main/java/starlight/application/backoffice/businessplan/BackofficeBusinessPlanQueryService.java, src/main/java/starlight/application/backoffice/member/BackofficeUserQueryService.java |
findBusinessPlanDetail에서 엔티티의 isPdfBased()와 getPdfUrl() 호출 결과를 BackofficeBusinessPlanDetailResult.of(...) 인자에 추가합니다. findUserBusinessPlans에서 plan.pdfBased()를 BackofficeUserBusinessPlanRowResult.of(...) 인자에 추가하여 서비스가 PDF 데이터를 전달하도록 와이링합니다. |
퍼시스턴스 쿼리 및 HTTP 응답 포매팅 src/main/java/starlight/adapter/backoffice/businessplan/persistence/BackofficeUserBusinessPlanRepository.java, src/main/java/starlight/adapter/backoffice/businessplan/webapi/dto/response/BackofficeBusinessPlanDetailResponse.java, src/main/java/starlight/adapter/backoffice/member/webapi/dto/response/BackofficeUserBusinessPlanRowResponse.java |
JPQL 쿼리의 select new BackofficeUserBusinessPlanLookupResult(...) 생성자에 bp.pdfUrl is not null 조건을 추가하여 PDF 존재 여부를 데이터베이스에서 조회합니다. API 응답 DTO(BackofficeBusinessPlanDetailResponse, BackofficeUserBusinessPlanRowResponse)의 from(...) 메서드에서 결과 객체의 pdfBased()와 pdfUrl() 값을 새 필드에 매핑하여 클라이언트 응답에 포함시킵니다. |
Estimated code review effort
🎯 2 (Simple) | ⏱️ ~12 minutes
이 PR은 일관된 패턴의 필드 추가 작업입니다. 모든 변경이 pdfBased/pdfUrl 두 필드를 여러 레코드와 서비스에 동일한 방식으로 추가하는 반복적인 구조를 따르므로, 검토 복잡도가 낮습니다. 데이터 흐름이 명확하고 로직 변경이 최소한이므로 빠르게 검증할 수 있습니다.
Possibly related PRs
- StartUpLight/STARLIGHT_BE#84: 백오피스 사용자/사업계획서 조회 기능 초기 구현 후, 이 PR이 동일한 쿼리(
BackofficeUserBusinessPlanRepository.findUserBusinessPlanPage) 및 결과 레코드들에 PDF 필드 흐름을 확장하므로 코드 레벨로 직접 연결됩니다.
Suggested labels
✨ FEAT, 📋 backend, 🔍 backoffice
✨ Finishing Touches
📝 Generate docstrings
- Create stacked PR
- Commit on current branch
🧪 Generate unit tests (beta)
- Create PR with unit tests
- Commit unit tests in branch
SRLT-160-백오피스-pdf-유형-추가
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands and usage tips.
Test Results266 tests 266 ✅ 10s ⏱️ Results for commit 668775a. |
🚀 Why - 해결하려는 문제가 무엇인가요?
✅ What - 무엇이 변경됐나요?
pdfBased,pdfUrl을 추가했습니다.pdfBased를 추가했습니다.🛠️ How - 어떻게 해결했나요?
BusinessPlan의pdfUrl존재 여부를 기준으로 PDF 기반 여부를 판단하도록 매핑했습니다.plan.isPdfBased()와plan.getPdfUrl()을 application result DTO와 web response DTO로 전달합니다.bp.pdfUrl is not null값을 조회해pdfBased로 내려줍니다.🖼️ Attachment
💬 기타 코멘트
검증:
./gradlew compileJava프론트 반영:
GET /v1/backoffice/users/{userId}/business-plans목록 row의pdfBased로 PDF 배지/아이콘을 표시하면 됩니다.GET /v1/backoffice/business-plans/{planId}상세의pdfBased가true이면pdfUrl로 PDF 뷰어를 렌더링하고,false이면 기존subSectionDetailList기반 UI를 렌더링하면 됩니다.Summary by CodeRabbit
새로운 기능