From 9059a5a415d3aac288d0fc569d42865a13a43cdd Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Mon, 15 Dec 2025 17:30:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=A3=E5=87=8F=EF=BC=8C=E5=9B=9E=E5=A4=8D?= =?UTF-8?q?=20cash?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gamedog/vididin/login/AccountManager.kt | 18 +++++++++++++----- .../gamedog/vididin/manager/WithdrawManager.kt | 10 ++++++++++ .../vididin/manager/helpers/BoxTaskHelper.kt | 2 +- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt b/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt index bad52ca..81e5277 100644 --- a/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt +++ b/app/src/main/java/com/gamedog/vididin/login/AccountManager.kt @@ -72,10 +72,18 @@ object AccountManager { } @Synchronized - fun addCash(newCash: Float) { - mAccount?.cashCount += newCash - saveAccountInfo() - NotifyMan.instance().sendEvent(VididinEvents.Event_Account_Cash_Changed, null) + fun adjustAccountCash(newCash: Float): Boolean { + val result = false + mAccount?.let { + val newCashTotal = it.cashCount + newCash + if (newCashTotal >= 0F) { + it.cashCount = newCashTotal + saveAccountInfo() + NotifyMan.instance().sendEvent(VididinEvents.Event_Account_Cash_Changed, null) + return true + } + } + return result } fun getBankInfo(): BankInfo? { @@ -109,7 +117,7 @@ object AccountManager { mAccount?.goldCount?.let { if (it > costGoldNum) { addGold(-1 * costGoldNum.toInt()) - addCash(couldCovertCashTotal.toFloat()) + adjustAccountCash(couldCovertCashTotal.toFloat()) AndroidUtil.showToast("Has convert $costGoldNum gold to $couldCovertCashTotal cash.") return true } diff --git a/app/src/main/java/com/gamedog/vididin/manager/WithdrawManager.kt b/app/src/main/java/com/gamedog/vididin/manager/WithdrawManager.kt index c5ed629..3eaeccb 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/WithdrawManager.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/WithdrawManager.kt @@ -12,6 +12,7 @@ import com.gamedog.vididin.VididinEvents import com.gamedog.vididin.beans.req.PayInitReq import com.gamedog.vididin.beans.req.PayoutCheckReq import com.gamedog.vididin.beans.resp.WithdrawRecord +import com.gamedog.vididin.core.login.login.AccountManager import com.gamedog.vididin.features.withdraw.WithDrawActivity.Companion.FINAL_STATE_ONGING import com.gamedog.vididin.manager.WithdrawManager.Companion.STATE_NEED_WATCH_AD import com.gamedog.vididin.netbase.NetworkUtil @@ -182,9 +183,14 @@ class WithdrawManager private constructor() { mRecordLocker.unlock() } saveRecords2Sp() + adjustAccountCash(newRecord.cashNum * -1) loopCheckTransactionState() } + private fun adjustAccountCash(cashNum: Float) { + AccountManager.adjustAccountCash(cashNum) + } + private fun saveRecords2Sp() { SpUtil.instance().putList(SpUtil.KEY_WITHDRAW_HISTORY_LIST,getClonedRecordList()) } @@ -336,6 +342,10 @@ class WithdrawManager private constructor() { private fun handleTransactionFailed(recordNo: String, failedType: Int) { updateRecord(recordNo, TRANSACTION_STATE_FAIL, failedType) + val recordBean = WithdrawManager.instance?.getRecord(recordNo) + recordBean?.let { + adjustAccountCash(it.cashNum) + } notifyWithdrawCheckResult(recordNo) } diff --git a/app/src/main/java/com/gamedog/vididin/manager/helpers/BoxTaskHelper.kt b/app/src/main/java/com/gamedog/vididin/manager/helpers/BoxTaskHelper.kt index 783eacd..4e224a7 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/helpers/BoxTaskHelper.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/helpers/BoxTaskHelper.kt @@ -268,7 +268,7 @@ class BoxTaskHelper: BaseTaskHelper() { try { val couldClaimCashNum = getCouldClaimCashNum() if (couldClaimCashNum > 0F) { - AccountManager.addCash(couldClaimCashNum) + AccountManager.adjustAccountCash(couldClaimCashNum) mStateBean.tasks.forEachIndexed { index, box -> if (getBoxStateEnum(index) == STATE_FINISH) { box.hasClaimedReward = true