0元购 接入领取奖励 确认、绑定银行dialog
This commit is contained in:
parent
461a24de94
commit
95cb9da2af
|
|
@ -18,6 +18,7 @@ import com.vididin.real.money.game.databinding.DialogWithdrawBindingBankBinding
|
|||
class WithdrawBindBankDialog(activity: Activity, private val onConfirmedWithdraw: ((cashNum: Float)->Unit)?) : BindingDialog<ViewBinding>(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
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import com.vididin.real.money.game.databinding.DialogWithdrawInfoConfirmBinding
|
|||
class WithdrawInfoConfirmDialog(context: Activity, private val onConfirmed: (cashNum: Float)->Unit) : BindingDialog<ViewBinding>(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
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -203,6 +203,8 @@
|
|||
<string name="record_gold_title_convert_2_cash">Convert Notes</string>
|
||||
<string name="record_gold_descr_convert_2_cash">You have exchanged %d gold coins.</string>
|
||||
<string name="net_error">Erro de rede</string>
|
||||
<string name="claim_reward_onging">This purchase reward claim is ongoing.</string>
|
||||
<string name="has_claimed_reward">You have claimed this reward.</string>
|
||||
|
||||
|
||||
</resources>
|
||||
Loading…
Reference in New Issue