中奖记录页面,添加 领取奖励 click事件处理

This commit is contained in:
renhaoting 2025-12-25 18:12:30 +08:00
parent 6a8c0cc4df
commit 08a81b1c7e
7 changed files with 82 additions and 25 deletions

View File

@ -16,6 +16,7 @@ import com.gamedog.vididin.features.zero.ZeroBuyViewModel
import com.gamedog.vididin.features.zero.ZeroRecordAdapter
import com.vididin.real.money.game.R
import com.gamedog.vididin.main.interfaces.OnTabStyleListener
import com.gamedog.vididin.manager.ZeroManager
import com.gamedog.vididin.netbase.Result
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
@ -41,7 +42,9 @@ class WinRecordsActivity : AppViewsEmptyViewModelActivity<ViewBinding>(), OnTabS
with(recyclerView) {
mAdapter = ZeroRecordAdapter()
mAdapter = ZeroRecordAdapter({
ZeroManager.instance().startWithdrawProcess(this@WinRecordsActivity, it)
})
adapter = mAdapter
layoutManager = LinearLayoutManager(this@WinRecordsActivity, LinearLayoutManager.VERTICAL, false)
addItemDecoration(

View File

@ -10,11 +10,16 @@ import androidx.recyclerview.widget.RecyclerView
import com.ama.core.architecture.util.ResUtil
import com.gamedog.vididin.beans.ZeroBuyItem
import com.gamedog.vididin.core.login.login.AccountManager
import com.gamedog.vididin.manager.WithdrawManager.Companion.TRANSACTION_STATE_FAIL
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.WithdrawManager.Companion.TRANSACTION_STATE_UNSTART
import com.gamedog.vididin.manager.ZeroManager
import com.vididin.real.money.game.R
import java.text.SimpleDateFormat
import com.vididin.real.money.game.databinding.ZeroRecordWinBinding as ViewBinding
class ZeroRecordAdapter() : ListAdapter<ZeroBuyItem, ZeroRecordAdapter.ViewHolder>(DiffCallback()) {
class ZeroRecordAdapter(private val onWithdrawCallback: (ZeroBuyItem)-> Unit) : ListAdapter<ZeroBuyItem, ZeroRecordAdapter.ViewHolder>(DiffCallback()) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val binding = ViewBinding.inflate(LayoutInflater.from(parent.context), parent, false)
@ -47,6 +52,35 @@ class ZeroRecordAdapter() : ListAdapter<ZeroBuyItem, ZeroRecordAdapter.ViewHolde
tvDescWin.text = item.title
llRightWin.isVisible = isWinItem
llRightLost.isVisible = !isWinItem
if (isWinItem) {
val withdrawBean = ZeroManager.instance().getZeroWithdrawItem(item)
when (withdrawBean.withdrawState) {
TRANSACTION_STATE_UNSTART -> {
llRightWin.isClickable = true
tvWinRightBottom.text = ResUtil.getString(R.string.zero_win_state_withdrarw_unstart)
}
TRANSACTION_STATE_FAIL -> {
llRightWin.isClickable = true
tvWinRightBottom.text = ResUtil.getString(R.string.zero_win_state_failed)
}
TRANSACTION_STATE_ONGOING -> {
llRightWin.isClickable = false
tvWinRightBottom.text = ResUtil.getString(R.string.zero_win_state_withdrarw_ongoing)
}
TRANSACTION_STATE_SUCCESS -> {
llRightWin.isClickable = false
tvWinRightBottom.text = ResUtil.getString(R.string.zero_win_state_withdrarw_success)
}
}
llRightWin.setOnClickListener {
onWithdrawCallback(item)
}
}
}
}
}

View File

@ -54,29 +54,7 @@ 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)) {
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)
}
}
}
ZeroManager.instance().startWithdrawProcess(mActivity, item)
}

View File

@ -1,5 +1,6 @@
package com.gamedog.vididin.manager
import android.app.Activity
import com.ama.core.architecture.util.AndroidUtil
import com.ama.core.architecture.util.DeviceUtil
import com.ama.core.architecture.util.MD5Util
@ -9,6 +10,8 @@ import com.gamedog.vididin.VidiConst.ZEROBUY_SECRET
import com.gamedog.vididin.beans.ZeroBuyItem
import com.gamedog.vididin.beans.ZeroBuyResp
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_FAIL
import com.gamedog.vididin.manager.WithdrawManager.Companion.TRANSACTION_STATE_ONGOING
import com.gamedog.vididin.manager.WithdrawManager.Companion.TRANSACTION_STATE_SUCCESS
@ -182,6 +185,32 @@ class ZeroManager private constructor() {
}
}
fun startWithdrawProcess(activity: Activity, item: ZeroBuyItem) {
val zeroWithdrawInfoItem = getZeroWithdrawItem(item)
if (couldStartWithdraw(item)) {
val onConfirmed: (cashNum: Float)->Unit = {
}
if (AccountManager.isBankAccountExist()) {
WithdrawInfoConfirmDialog(activity, onConfirmed).setWithDrawCashNumStr(zeroWithdrawInfoItem.winCashNumStr!!).show()
} else {
WithdrawBindBankDialog(activity = activity, 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)
}
}
}
}
}

View File

@ -111,6 +111,7 @@
android:layout_marginEnd="5dp"
android:background="@mipmap/bg_record_lost_rgiht"
android:gravity="center"
android:visibility="gone"
>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_lost_right_top"

View File

@ -39,5 +39,10 @@
<string name="record_gold_title_convert_2_cash">Converter notas</string>
<string name="record_gold_descr_convert_2_cash">Você resgatou %d moedas de ouro.</string>
<!--0元购 提现提示语-->
<string name="zero_win_state_withdrarw_unstart">Pendente</string>
<string name="zero_win_state_withdrarw_ongoing">Processando</string>
<string name="zero_win_state_failed">Falhou</string>
<string name="zero_win_state_withdrarw_success">Concluído</string>
</resources>

View File

@ -207,4 +207,11 @@
<string name="has_claimed_reward">You have claimed this reward.</string>
<!--0元购 提现提示语-->
<string name="zero_win_state_withdrarw_unstart">Pending</string>
<string name="zero_win_state_withdrarw_ongoing">Processing</string>
<string name="zero_win_state_failed">Failed</string>
<string name="zero_win_state_withdrarw_success">Paid</string>
</resources>