docs(gift): 관리자 선물함 클라이언트 계약을 기록한다
This commit is contained in:
@@ -42,6 +42,8 @@ PRD에는 상세 API 계약, request/response 예시, 요구사항을 유지한
|
|||||||
| 사용자 | Method | URI | 역할 | Request | Response |
|
| 사용자 | Method | URI | 역할 | Request | Response |
|
||||||
|---|---:|---|---|---|---|
|
|---|---:|---|---|---|---|
|
||||||
| 관리자 | GET | `/api/v2/admin/gift-categories` | 선물 카테고리 목록을 조회한다. | 없음 | `AdminGiftCategoryResponse[]` |
|
| 관리자 | GET | `/api/v2/admin/gift-categories` | 선물 카테고리 목록을 조회한다. | 없음 | `AdminGiftCategoryResponse[]` |
|
||||||
|
| 관리자 | GET | `/api/v2/admin/gifts` | 전체 선물함 목록을 조회하고 상태/신청번호/닉네임으로 검색한다. | query: `status`, `applicationNo`, `nickname`, `page`, `size` | `totalCount`, `items[]`, `page`, `size`, `hasNext` |
|
||||||
|
| 관리자 | GET | `/api/v2/admin/gifts/{applicationNo}` | 선물 상세와 발송인/수취인 개인정보, 상품/배송/상태 정보를 조회한다. | path: `applicationNo` | `applicationNo`, `senderInfo`, `recipientInfo`, `productInfo`, `inboundDeliveryInfo`, `status`, `statusName`, `availableActions` |
|
||||||
| 관리자 | POST | `/api/v2/admin/gift-categories` | 선물 카테고리를 등록한다. | body: `classificationNumber`, `categoryCode`, `name`, `receiptCode`, `representativeItem`, `requiresDamageWaiver`, `isActive` | `categoryId`, `classificationNumber`, `categoryCode`, `name`, `receiptCode`, `representativeItem`, `requiresDamageWaiver`, `isActive` |
|
| 관리자 | POST | `/api/v2/admin/gift-categories` | 선물 카테고리를 등록한다. | body: `classificationNumber`, `categoryCode`, `name`, `receiptCode`, `representativeItem`, `requiresDamageWaiver`, `isActive` | `categoryId`, `classificationNumber`, `categoryCode`, `name`, `receiptCode`, `representativeItem`, `requiresDamageWaiver`, `isActive` |
|
||||||
| 관리자 | PUT | `/api/v2/admin/gift-categories/{categoryId}` | 선물 카테고리를 수정한다. | path: `categoryId`, body: `classificationNumber`, `categoryCode`, `name`, `receiptCode`, `representativeItem`, `requiresDamageWaiver`, `isActive` | `categoryId`, `classificationNumber`, `categoryCode`, `name`, `receiptCode`, `representativeItem`, `requiresDamageWaiver`, `isActive` |
|
| 관리자 | PUT | `/api/v2/admin/gift-categories/{categoryId}` | 선물 카테고리를 수정한다. | path: `categoryId`, body: `classificationNumber`, `categoryCode`, `name`, `receiptCode`, `representativeItem`, `requiresDamageWaiver`, `isActive` | `categoryId`, `classificationNumber`, `categoryCode`, `name`, `receiptCode`, `representativeItem`, `requiresDamageWaiver`, `isActive` |
|
||||||
| 관리자 | DELETE | `/api/v2/admin/gift-categories/{categoryId}` | 선물 카테고리를 비활성화한다. | path: `categoryId` | `categoryId`, `classificationNumber`, `categoryCode`, `name`, `receiptCode`, `representativeItem`, `requiresDamageWaiver`, `isActive=false` |
|
| 관리자 | DELETE | `/api/v2/admin/gift-categories/{categoryId}` | 선물 카테고리를 비활성화한다. | path: `categoryId` | `categoryId`, `classificationNumber`, `categoryCode`, `name`, `receiptCode`, `representativeItem`, `requiresDamageWaiver`, `isActive=false` |
|
||||||
@@ -55,6 +57,9 @@ PRD에는 상세 API 계약, request/response 예시, 요구사항을 유지한
|
|||||||
관리자 응답 DTO 요약:
|
관리자 응답 DTO 요약:
|
||||||
|
|
||||||
- `AdminGiftCategoryResponse`: `categoryId`, `classificationNumber`, `categoryCode`, `name`, `receiptCode`, `representativeItem`, `requiresDamageWaiver`, `isActive`
|
- `AdminGiftCategoryResponse`: `categoryId`, `classificationNumber`, `categoryCode`, `name`, `receiptCode`, `representativeItem`, `requiresDamageWaiver`, `isActive`
|
||||||
|
- `AdminGiftListResponse`: `totalCount`, `items`, `page`, `size`, `hasNext`
|
||||||
|
- `AdminGiftListItemResponse`: `applicationNo`, `senderNickname`, `recipientNickname`, `sizeCode`, `sizeName`, `categoryName`, `classificationNumber`, `courierCompanyName`, `trackingNumber`, `status`, `statusName`, `availableActions`
|
||||||
|
- `AdminGiftDetailResponse`: `applicationNo`, `senderInfo`, `recipientInfo`, `productInfo`, `inboundDeliveryInfo`, `status`, `statusName`, `availableActions`
|
||||||
- `AdminGiftSizePriceResponse`: `sizeCode`, `name`, `basePriceCan`, `salePriceCan`, `isActive`
|
- `AdminGiftSizePriceResponse`: `sizeCode`, `name`, `basePriceCan`, `salePriceCan`, `isActive`
|
||||||
- `AdminGiftOperationStatusResponse`: `applicationNo`, `status`, `statusName`, `occurredAt`
|
- `AdminGiftOperationStatusResponse`: `applicationNo`, `status`, `statusName`, `occurredAt`
|
||||||
|
|
||||||
@@ -282,6 +287,59 @@ data class AdminGiftCategoryResponse(
|
|||||||
val isActive: Boolean
|
val isActive: Boolean
|
||||||
)
|
)
|
||||||
|
|
||||||
|
data class AdminGiftListResponse(
|
||||||
|
val totalCount: Long,
|
||||||
|
val items: List<AdminGiftListItemResponse>,
|
||||||
|
val page: Int,
|
||||||
|
val size: Int,
|
||||||
|
val hasNext: Boolean
|
||||||
|
)
|
||||||
|
|
||||||
|
data class AdminGiftListItemResponse(
|
||||||
|
val applicationNo: String,
|
||||||
|
val senderNickname: String,
|
||||||
|
val recipientNickname: String,
|
||||||
|
val sizeCode: String,
|
||||||
|
val sizeName: String,
|
||||||
|
val categoryName: String,
|
||||||
|
val classificationNumber: String,
|
||||||
|
val courierCompanyName: String?,
|
||||||
|
val trackingNumber: String?,
|
||||||
|
val status: String,
|
||||||
|
val statusName: String,
|
||||||
|
val availableActions: List<String>
|
||||||
|
)
|
||||||
|
|
||||||
|
data class AdminGiftDetailResponse(
|
||||||
|
val applicationNo: String,
|
||||||
|
val senderInfo: AdminGiftMemberInfoResponse,
|
||||||
|
val recipientInfo: AdminGiftMemberInfoResponse,
|
||||||
|
val productInfo: AdminGiftProductInfoResponse,
|
||||||
|
val inboundDeliveryInfo: AdminGiftInboundDeliveryInfoResponse,
|
||||||
|
val status: String,
|
||||||
|
val statusName: String,
|
||||||
|
val availableActions: List<String>
|
||||||
|
)
|
||||||
|
|
||||||
|
data class AdminGiftMemberInfoResponse(
|
||||||
|
val nickname: String,
|
||||||
|
val name: String,
|
||||||
|
val phoneNumber: String,
|
||||||
|
val address: String
|
||||||
|
)
|
||||||
|
|
||||||
|
data class AdminGiftProductInfoResponse(
|
||||||
|
val sizeCode: String,
|
||||||
|
val sizeName: String,
|
||||||
|
val categoryName: String,
|
||||||
|
val classificationNumber: String
|
||||||
|
)
|
||||||
|
|
||||||
|
data class AdminGiftInboundDeliveryInfoResponse(
|
||||||
|
val courierCompanyName: String?,
|
||||||
|
val trackingNumber: String?
|
||||||
|
)
|
||||||
|
|
||||||
data class AdminGiftSizePriceResponse(
|
data class AdminGiftSizePriceResponse(
|
||||||
val sizeCode: String,
|
val sizeCode: String,
|
||||||
val name: String,
|
val name: String,
|
||||||
|
|||||||
Reference in New Issue
Block a user