fix(gift): 전달 완료 가능 액션의 수취인 조건을 반영한다
This commit is contained in:
+8
-4
@@ -137,7 +137,7 @@ class GiftAdminQueryService(
|
||||
),
|
||||
status = gift.status,
|
||||
statusName = gift.status.displayName,
|
||||
availableActions = gift.status.availableActions()
|
||||
availableActions = gift.status.availableActions(delivery)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -153,13 +153,17 @@ class GiftAdminQueryService(
|
||||
trackingNumber = context.delivery(this).trackingNumber,
|
||||
status = status,
|
||||
statusName = status.displayName,
|
||||
availableActions = status.availableActions()
|
||||
availableActions = status.availableActions(context.delivery(this))
|
||||
)
|
||||
|
||||
private fun GiftStatus.availableActions() = when (this) {
|
||||
private fun GiftStatus.availableActions(delivery: GiftDelivery) = when (this) {
|
||||
GiftStatus.TRACKING_REGISTERED -> listOf("ARRIVE_MAILBOX", "MARK_UNDELIVERABLE")
|
||||
GiftStatus.ARRIVED_AT_MAILBOX -> listOf("COMPLETE_INSPECTION", "MARK_UNDELIVERABLE")
|
||||
GiftStatus.INSPECTION_COMPLETED -> listOf("COMPLETE_DELIVERY", "MARK_UNDELIVERABLE")
|
||||
GiftStatus.INSPECTION_COMPLETED -> if (delivery.hasCompleteRecipientInformation()) {
|
||||
listOf("COMPLETE_DELIVERY", "MARK_UNDELIVERABLE")
|
||||
} else {
|
||||
listOf("MARK_UNDELIVERABLE")
|
||||
}
|
||||
GiftStatus.RECEIVED, GiftStatus.DELIVERED, GiftStatus.UNDELIVERABLE, GiftStatus.CANCELED -> emptyList()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user