参加0元购 优化

This commit is contained in:
renhaoting 2025-12-09 17:23:02 +08:00
parent a20e0053c1
commit 542420b17a
4 changed files with 20 additions and 13 deletions

View File

@ -9,7 +9,9 @@ import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import androidx.recyclerview.widget.GridLayoutManager
import com.ama.core.architecture.appBase.AppViewsEmptyViewModelActivity
import com.ama.core.architecture.util.AndroidUtil
import com.ama.core.architecture.util.CommonItemDecoration
import com.ama.core.architecture.util.SpUtil
import com.ama.core.architecture.util.setOnClickBatch
import com.vididin.real.money.game.R
import com.gamedog.vididin.beans.ZeroBuyItem
@ -20,6 +22,7 @@ import com.gamedog.vididin.router.Router
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import com.gamedog.vididin.netbase.Result
import kotlin.collections.contains
import com.vididin.real.money.game.databinding.ActivityZerobuyBinding as ViewBinding
@ -109,19 +112,24 @@ class ZeroBuyActivity : AppViewsEmptyViewModelActivity<ViewBinding>() {
private fun requestParticipateActivity(itemId: Int) {
lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.STARTED) {
viewModel.ZeroBuyJoinResult.collect { result ->
when (result) {
is Result.Loading -> { }
is Result.Success -> updateItemUI(result.data)
is Result.Error -> { }
val joinedItemIds: List<Int> = SpUtil.instance().getList<Int>(SpUtil.KEY_ZEROBUY_JOINED_ACTIVITY_IDS)
if (!joinedItemIds.contains(AccountManager.getAccount()?.userId)) {
lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.STARTED) {
viewModel.ZeroBuyJoinResult.collect { result ->
when (result) {
is Result.Loading -> { }
is Result.Success -> updateItemUI(result.data)
is Result.Error -> { }
}
}
}
}
}
viewModel.requestJoinZeroBuy(itemId)
viewModel.requestJoinZeroBuy(itemId)
} else {
AndroidUtil.showToast(R.string.has_joined_zerobuy)
}
}

View File

@ -57,7 +57,7 @@ class ZeroBuyViewModel : ViewModel() {
respObj?.contentObj?.let {
val itemId = respObj?.contentObj?.id
if (respObj.Code == 0 && itemId != null && itemId > 0 && !joinZeroBuyItemIds.contains(itemId)) {
if ((respObj.Code == 0 || respObj.Code == 10003) && itemId != null && itemId > 0 && !joinZeroBuyItemIds.contains(itemId)) {
val mutableJoinedIdList = if(joinZeroBuyItemIds == null) mutableListOf<Int>() else joinZeroBuyItemIds.toMutableList()
mutableJoinedIdList.add(itemId)
SpUtil.instance().putList(SpUtil.KEY_ZEROBUY_JOINED_ACTIVITY_IDS, mutableJoinedIdList)

View File

@ -77,9 +77,7 @@ class ZeroItemAdapter(private val joinCallback: (itemId: Int)->Unit) : ListAdapt
setOnClickBatch(flBottomBut) {
when (this) {
flBottomBut-> {
if (!item.completed && (item.current_users == null || !item.current_users!!.contains(AccountManager.getAccount()?.userId))) {
joinCallback(item.id)
}
joinCallback(item.id)
}
}
}

View File

@ -119,5 +119,6 @@
<string name="record_cash_title_hint">Total sacado até o momento:</string>
<string name="participar_ed">Já participou</string>
<string name="remain_time">Reembolso em</string>
<string name="has_joined_zerobuy">You have participated this activity.</string>
</resources>