From 95cb9da2af4678b1401bc7c335a5dd3268e0107e Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Thu, 25 Dec 2025 16:53:59 +0800 Subject: [PATCH] =?UTF-8?q?0=E5=85=83=E8=B4=AD=20=E6=8E=A5=E5=85=A5?= =?UTF-8?q?=E9=A2=86=E5=8F=96=E5=A5=96=E5=8A=B1=20=E7=A1=AE=E8=AE=A4?= =?UTF-8?q?=E3=80=81=E7=BB=91=E5=AE=9A=E9=93=B6=E8=A1=8Cdialog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dialogs/WithdrawBindBankDialog.kt | 18 +++++++++++- .../dialogs/WithdrawInfoConfirmDialog.kt | 12 ++++++++ .../features/zero/dialogs/ZeroBuyWinDialog.kt | 29 ++++++++++++++++++- .../gamedog/vididin/manager/ZeroManager.kt | 4 +++ app/src/main/res/values/strings.xml | 2 ++ 5 files changed, 63 insertions(+), 2 deletions(-) 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