## ✨ 기능 설명 정산/구매 통계의 UX 보완 두 가지를 한 PR에 묶음. 커밋은 항목별로 분리. 1. **결제내역에 환불 정보 표시** — 환불된 거래(`status='Refunded'`)를 결제내역(`GET /api/prompts/purchases`)에서 식별 가능하도록 응답 확장 2. **월별 판매내역 페이지네이션** — `GET /api/settlements/sales/monthly`에 page/limit 파라미터 추가 ("더보기" UI 명세 #473 잔여) ## ✨ 개발 목록 ### Commit 1 — 결제내역 환불 표시 - [ ] `PurchaseRepository.findSucceededByUser` → 환불(`Refunded`) 행도 포함하도록 조건 변경 (또는 별도 함수) - [ ] `PurchaseHistoryItemDTO`에 `status`, `refunded_at` 필드 추가 - [ ] `PurchaseHistoryService.list`에서 status / refunded_at 매핑 - `payment.refund.refunded_at` 우선 사용 - [ ] `purchase.route.ts` Swagger 응답 schema 갱신 (`status` enum, `refunded_at` nullable) ### Commit 2 — `/sales/monthly` 페이지네이션 - [ ] 쿼리 파라미터 `page`(기본 1) + `limit`(기본 10, 최대 100) 추가 - [ ] `SettlementHistoryRepository.findSalesByMonth`에 `skip`/`take` 적용 + 총 건수 반환 - [ ] `MonthlySalesResponseDto`에 `pagination` 필드 추가: ``` pagination: { page, limit, total, total_pages, has_next } ``` - [ ] summary는 페이지가 아닌 **월 전체** 합계 그대로 유지 (정산 통계 일관성) - [ ] Swagger 갱신 ### Commit 3 — 검증 - [ ] `pnpm build` / `pnpm tsc --noEmit` - [ ] 응답 형식 확인 ## ✨ API 변경 (프론트 동기화) - `GET /api/prompts/purchases` 응답 items에 `status` + `refunded_at` 추가 - `GET /api/settlements/sales/monthly?year=&month=&page=&limit=` 신규 파라미터, 응답에 `pagination` 추가 ## ✨ 기타 / 질문 - 결제내역의 `status` 표시 범위: 모든 status 포함 vs 'Succeed'만 + Refunded 추가 — **권장: 'Succeed' + 'Refunded' 모두**, 실패한 결제는 노출 안 함 - summary는 페이지가 아닌 월 전체 합계 — 프론트 합의 필요 - 관련: #473 (잔여), #485, #488
✨ 기능 설명
정산/구매 통계의 UX 보완 두 가지를 한 PR에 묶음. 커밋은 항목별로 분리.
status='Refunded')를 결제내역(GET /api/prompts/purchases)에서 식별 가능하도록 응답 확장GET /api/settlements/sales/monthly에 page/limit 파라미터 추가 ("더보기" UI 명세 [FEAT] 정산 - 판매자 정보 변경 화면 API 및 LEGACY 은행코드 정리 #473 잔여)✨ 개발 목록
Commit 1 — 결제내역 환불 표시
PurchaseRepository.findSucceededByUser→ 환불(Refunded) 행도 포함하도록 조건 변경 (또는 별도 함수)PurchaseHistoryItemDTO에status,refunded_at필드 추가PurchaseHistoryService.list에서 status / refunded_at 매핑payment.refund.refunded_at우선 사용purchase.route.tsSwagger 응답 schema 갱신 (statusenum,refunded_atnullable)Commit 2 —
/sales/monthly페이지네이션page(기본 1) +limit(기본 10, 최대 100) 추가SettlementHistoryRepository.findSalesByMonth에skip/take적용 + 총 건수 반환MonthlySalesResponseDto에pagination필드 추가:Commit 3 — 검증
pnpm build/pnpm tsc --noEmit✨ API 변경 (프론트 동기화)
GET /api/prompts/purchases응답 items에status+refunded_at추가GET /api/settlements/sales/monthly?year=&month=&page=&limit=신규 파라미터, 응답에pagination추가✨ 기타 / 질문
status표시 범위: 모든 status 포함 vs 'Succeed'만 + Refunded 추가 — 권장: 'Succeed' + 'Refunded' 모두, 실패한 결제는 노출 안 함