From d1056bda995c3f358d1e4533fddc1d7d5ee37094 Mon Sep 17 00:00:00 2001 From: klaus Date: Tue, 20 May 2025 18:40:41 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B5=AC=EB=A7=A4=20=ED=99=95=EC=9D=B8?= =?UTF-8?q?=20Dialog=20-=20=ED=8F=AC=EC=9D=B8=ED=8A=B8=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=EC=9D=B4=20=EA=B0=80=EB=8A=A5=ED=95=9C=20=EA=B2=BD?= =?UTF-8?q?=EC=9A=B0=20=ED=8F=AC=EC=9D=B8=ED=8A=B8=EB=A5=BC=20=EA=B0=99?= =?UTF-8?q?=EC=9D=B4=20=ED=91=9C=EC=8B=9C=ED=95=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../detail/AudioContentDetailActivity.kt | 1 + .../order/AudioContentOrderConfirmDialog.kt | 55 ++++++++++++++++--- .../dialog_audio_content_order_confirm.xml | 32 ++++++++++- 3 files changed, 80 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt index 49d70ed0..6c4399b2 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt @@ -1105,6 +1105,7 @@ class AudioContentDetailActivity : BaseActivity Unit, ) { @@ -62,12 +63,52 @@ class AudioContentOrderConfirmDialog( dialogView.tvDuration.text = duration - if (SharedPreferenceManager.userId == 17958L) { - dialogView.ivCan.visibility = View.GONE - dialogView.tvPrice.text = "${(price * 110).moneyFormat()}원" + val maxUsablePoint = if (orderType == OrderType.RENTAL && isAvailableUsePoint) { + price * 10 } else { - dialogView.ivCan.visibility = View.VISIBLE - dialogView.tvPrice.text = price.moneyFormat() + 0 + } + + val totalAvailablePoint = if (orderType == OrderType.RENTAL && isAvailableUsePoint) { + SharedPreferenceManager.point + } else { + 0 + } + + val usablePoint = (minOf(totalAvailablePoint, maxUsablePoint) / 10) * 10 + + if (SharedPreferenceManager.userId == 17958L) { + dialogView.ivPoint.visibility = View.GONE + dialogView.tvPoint.visibility = View.GONE + dialogView.tvPlus.visibility = View.GONE + dialogView.ivCan.visibility = View.GONE + dialogView.tvCan.text = "${(price * 110).moneyFormat()}원" + } else { + if (usablePoint > 0) { + dialogView.ivPoint.visibility = View.VISIBLE + dialogView.tvPoint.visibility = View.VISIBLE + dialogView.tvPoint.text = usablePoint.moneyFormat() + } else { + dialogView.ivPoint.visibility = View.GONE + dialogView.tvPoint.visibility = View.GONE + } + + val remainingCan = ((price * 10) - usablePoint) / 10 + + dialogView.tvPlus.visibility = if (usablePoint > 0 && remainingCan > 0) { + View.VISIBLE + } else { + View.GONE + } + + if (remainingCan > 0) { + dialogView.ivCan.visibility = View.VISIBLE + dialogView.tvCan.visibility = View.VISIBLE + dialogView.tvCan.text = remainingCan.moneyFormat() + } else { + dialogView.ivCan.visibility = View.GONE + dialogView.tvCan.visibility = View.GONE + } } if (SharedPreferenceManager.userId == 17958L) { @@ -78,9 +119,9 @@ class AudioContentOrderConfirmDialog( } } else { dialogView.tvNotice.text = if (orderType == OrderType.RENTAL) { - "콘텐츠를 대여하시겠습니까?\n아래 캔이 차감됩니다." + "콘텐츠를 대여하시겠습니까?\n아래 금액이 차감됩니다." } else { - "콘텐츠를 소장하시겠습니까?\n아래 캔이 차감됩니다." + "콘텐츠를 소장하시겠습니까?\n아래 금액이 차감됩니다." } } diff --git a/app/src/main/res/layout/dialog_audio_content_order_confirm.xml b/app/src/main/res/layout/dialog_audio_content_order_confirm.xml index 0b172160..6bdf5273 100644 --- a/app/src/main/res/layout/dialog_audio_content_order_confirm.xml +++ b/app/src/main/res/layout/dialog_audio_content_order_confirm.xml @@ -129,6 +129,36 @@ android:orientation="horizontal" android:paddingVertical="13.3dp"> + + + + + +