diff --git a/app/src/main/java/com/gamedog/vididin/features/withdraw/dialogs/WithdrawBindBankDialog.kt b/app/src/main/java/com/gamedog/vididin/features/withdraw/dialogs/WithdrawBindBankDialog.kt index bbe29ea..fb50a2b 100644 --- a/app/src/main/java/com/gamedog/vididin/features/withdraw/dialogs/WithdrawBindBankDialog.kt +++ b/app/src/main/java/com/gamedog/vididin/features/withdraw/dialogs/WithdrawBindBankDialog.kt @@ -18,6 +18,7 @@ import com.vididin.real.money.game.databinding.DialogWithdrawBindingBankBinding class WithdrawBindBankDialog(activity: Activity, private val onConfirmedWithdraw: ((cashNum: Float)->Unit)?) : BindingDialog(activity, ViewBinding::inflate) { private var mWithdrawCashNum: Float = 0F + private var mWithdrawCashNumStr: String = "" init { build() @@ -40,7 +41,13 @@ class WithdrawBindBankDialog(activity: Activity, private val onConfirmedWithdraw tvConfirm -> { saveBankAccount(mBinding.tvCpfEdit.text.toString().trim()) if (mWithdrawCashNum > 0F) { - WithdrawInfoConfirmDialog(mActivity, onConfirmedWithdraw!!).setWithDrawCashNum(mWithdrawCashNum).show() + val dialogBuilder = WithdrawInfoConfirmDialog(mActivity, onConfirmedWithdraw!!) + if (mWithdrawCashNum > 0F) { + dialogBuilder.setWithDrawCashNum(mWithdrawCashNum) + } else { + dialogBuilder.setWithDrawCashNumStr(mWithdrawCashNumStr) + } + dialogBuilder.show() } dismiss() @@ -115,5 +122,14 @@ class WithdrawBindBankDialog(activity: Activity, private val onConfirmedWithdraw return this } + fun setWithDrawCashNumStr(withdrawNumStr: String): WithdrawBindBankDialog { + mWithdrawCashNumStr = withdrawNumStr + + if (mWithdrawCashNum == 0F) { + mBinding.tvConfirm.text = ResUtil.getString(R.string.confirm) + } + return this + } + } diff --git a/app/src/main/java/com/gamedog/vididin/features/withdraw/dialogs/WithdrawInfoConfirmDialog.kt b/app/src/main/java/com/gamedog/vididin/features/withdraw/dialogs/WithdrawInfoConfirmDialog.kt index a30b5f9..3504fbe 100644 --- a/app/src/main/java/com/gamedog/vididin/features/withdraw/dialogs/WithdrawInfoConfirmDialog.kt +++ b/app/src/main/java/com/gamedog/vididin/features/withdraw/dialogs/WithdrawInfoConfirmDialog.kt @@ -14,6 +14,7 @@ import com.vididin.real.money.game.databinding.DialogWithdrawInfoConfirmBinding class WithdrawInfoConfirmDialog(context: Activity, private val onConfirmed: (cashNum: Float)->Unit) : BindingDialog(context, ViewBinding::inflate) { private var mWithdrawCashNum: Float = 0F + private var mWithdrawCashNumStr: String = "" init { build() @@ -67,5 +68,16 @@ class WithdrawInfoConfirmDialog(context: Activity, private val onConfirmed: (cas return this } + fun setWithDrawCashNumStr(withdrawNumStr: String): WithdrawInfoConfirmDialog { + mWithdrawCashNumStr = withdrawNumStr + + mBinding.tvCashNum.text = buildString { + append(mWithdrawCashNumStr) + } + mBinding.tvCpfAccount.text = AccountManager.getBankInfo()?.bankAccount + + return this + } + } diff --git a/app/src/main/java/com/gamedog/vididin/features/zero/dialogs/ZeroBuyWinDialog.kt b/app/src/main/java/com/gamedog/vididin/features/zero/dialogs/ZeroBuyWinDialog.kt index f6202bd..091a32d 100644 --- a/app/src/main/java/com/gamedog/vididin/features/zero/dialogs/ZeroBuyWinDialog.kt +++ b/app/src/main/java/com/gamedog/vididin/features/zero/dialogs/ZeroBuyWinDialog.kt @@ -1,11 +1,19 @@ package com.gamedog.vididin.features.zero.dialogs + import android.app.Activity +import com.ama.core.architecture.util.AndroidUtil import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.widget.BindingDialog import com.gamedog.vididin.beans.ZeroBuyItem +import com.gamedog.vididin.core.login.login.AccountManager +import com.gamedog.vididin.features.withdraw.dialogs.WithdrawBindBankDialog +import com.gamedog.vididin.features.withdraw.dialogs.WithdrawInfoConfirmDialog +import com.gamedog.vididin.manager.WithdrawManager.Companion.TRANSACTION_STATE_ONGOING +import com.gamedog.vididin.manager.WithdrawManager.Companion.TRANSACTION_STATE_SUCCESS import com.gamedog.vididin.manager.ZeroManager +import com.vididin.real.money.game.R import com.vididin.real.money.game.databinding.DialogZeroBuyWinBinding as ViewBinding @@ -46,9 +54,28 @@ class ZeroBuyWinDialog(context: Activity, private val item: ZeroBuyItem) : Bindi private fun handleWithdraw(item: ZeroBuyItem) { ZeroManager.instance().addWinWithdrawItem(item) + val zeroWithdrawInfoItem = ZeroManager.instance().getZeroWithdrawItem(item) if (ZeroManager.instance().couldStartWithdraw(item)) { - ZeroManager.instance().startWithdrawForWinPurchase(item) + val onConfirmed: (cashNum: Float)->Unit = { + + } + + if (AccountManager.isBankAccountExist()) { + WithdrawInfoConfirmDialog(mActivity, onConfirmed).setWithDrawCashNumStr(zeroWithdrawInfoItem.winCashNumStr!!).show() + } else { + WithdrawBindBankDialog(activity = mActivity, onConfirmed).setWithDrawCashNumStr(zeroWithdrawInfoItem.winCashNumStr!!).show() + } + } else { + when (zeroWithdrawInfoItem.withdrawState) { + TRANSACTION_STATE_ONGOING -> { + AndroidUtil.showToast(R.string.claim_reward_onging) + } + + TRANSACTION_STATE_SUCCESS -> { + AndroidUtil.showToast(R.string.has_claimed_reward) + } + } } } diff --git a/app/src/main/java/com/gamedog/vididin/manager/ZeroManager.kt b/app/src/main/java/com/gamedog/vididin/manager/ZeroManager.kt index 23ffc25..b4138d8 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/ZeroManager.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/ZeroManager.kt @@ -80,6 +80,10 @@ class ZeroManager private constructor() { } } + fun getZeroWithdrawItem(zeroItem: ZeroBuyItem): WinZeroWithdrawInfoItem { + return mWinZeroList.filter { zeroItem.id == it.purchase_id }[0] + } + fun couldStartWithdraw(zeroItem: ZeroBuyItem): Boolean { val userId = AccountManager.getAccount().userId zeroItem.winners?.let { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b125d23..0633b57 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -203,6 +203,8 @@ Convert Notes You have exchanged %d gold coins. Erro de rede + This purchase reward claim is ongoing. + You have claimed this reward. \ No newline at end of file