feat(gift): 보낸 선물 상세에 받을 주소를 노출한다
This commit is contained in:
@@ -7,6 +7,8 @@ import kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence.Gift
|
||||
import kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence.GiftCategoryRepository
|
||||
import kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence.GiftDelivery
|
||||
import kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence.GiftDeliveryRepository
|
||||
import kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence.GiftMailbox
|
||||
import kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence.GiftMailboxRepository
|
||||
import kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence.GiftRepository
|
||||
import kr.co.vividnext.sodalive.v2.gift.adapter.out.persistence.GiftSizePriceRepository
|
||||
import kr.co.vividnext.sodalive.v2.gift.domain.GiftDirection
|
||||
@@ -105,6 +107,7 @@ class GiftQueryService(
|
||||
private val giftRepository: GiftRepository,
|
||||
private val deliveryRepository: GiftDeliveryRepository,
|
||||
private val memberRepository: MemberRepository,
|
||||
private val giftMailboxRepository: GiftMailboxRepository,
|
||||
@Value("\${cloud.aws.cloud-front.host}")
|
||||
private val cloudFrontHost: String
|
||||
) {
|
||||
@@ -186,7 +189,7 @@ class GiftQueryService(
|
||||
),
|
||||
senderInfo = delivery.toSenderInfo().takeIf { direction == GiftDirection.SENT },
|
||||
recipientAddress = recipientAddress,
|
||||
mailbox = null,
|
||||
mailbox = mailboxFor(direction, gift.status),
|
||||
trackingRequired = direction == GiftDirection.SENT && gift.status == GiftStatus.RECEIVED,
|
||||
recipientAddressRequired = direction == GiftDirection.RECEIVED && recipientAddress == null &&
|
||||
gift.status !in TERMINAL_STATUSES,
|
||||
@@ -247,6 +250,17 @@ class GiftQueryService(
|
||||
return GiftAddressResult(name, phoneNumber, formatAddress(zipCode, address, recipientAddressDetail))
|
||||
}
|
||||
|
||||
private fun mailboxFor(direction: GiftDirection, status: GiftStatus): GiftMailboxResult? {
|
||||
if (direction != GiftDirection.SENT || status != GiftStatus.RECEIVED) return null
|
||||
return giftMailboxRepository.findByIdOrNull(GiftMailbox.SINGLETON_ID)?.let {
|
||||
GiftMailboxResult(
|
||||
name = it.name,
|
||||
address = formatAddress(it.zipCode, it.address, it.addressDetail),
|
||||
phoneNumber = it.phoneNumber
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun GiftDelivery.tracking() = if (courierCompanyName != null && trackingNumber != null) {
|
||||
"${courierCompanyName}_$trackingNumber"
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user