修改bean,替换 0元购新接口

This commit is contained in:
renhaoting 2025-12-25 14:08:27 +08:00
parent adfa6bca79
commit 5c03d0cb06
7 changed files with 29 additions and 41 deletions

View File

@ -1,15 +1,14 @@
package com.gamedog.vididin.beans
data class ZeroBuyResp (
val Code: Int,
val Message: String,
val UserId: Int,
val CurrentPurchases: String,
val FinishedPurchases: String,
var mCurrentList: List<ZeroBuyItem>?,
var mFinishedList: List<ZeroBuyItem>?,
data class ZeroBuyResp (
val code: Int,
val message: String,
val user_id: Int,
val current_purchases : List<ZeroBuyItem>,
val finished_purchases : List<ZeroBuyItem>?,
val Content: String,
var contentObj: ZeroBuyItem?
)
@ -26,11 +25,12 @@ data class ZeroBuyItem (
val image:Int = 0,
val current_users: List<Int>? = null,
val winners: List<Int>? = null,
val redeem_code: String? = null,
/*val redeem_code: String? = null,*/
val completed: Boolean = false,
// Not from server
var mCountDownTimeStr: String = ""
)

View File

@ -91,13 +91,13 @@ class WinRecordsActivity : AppViewsEmptyViewModelActivity<ViewBinding>(), OnTabS
}
private fun updateUIs(data: ZeroBuyResp) {
if (data.mFinishedList.isNullOrEmpty()) {
if (data.finished_purchases.isNullOrEmpty()) {
binding.tvNoDataHint.isVisible = true
binding.recyclerView.isVisible = false
} else {
binding.tvNoDataHint.isVisible = false
binding.recyclerView.isVisible = true
mAdapter.submitList(data.mFinishedList)
mAdapter.submitList(data.finished_purchases)
}
}

View File

@ -173,8 +173,8 @@ class ZeroBuyActivity : AppViewsEmptyViewModelActivity<ViewBinding>() {
private fun updateUIs(data: ZeroBuyResp) {
mAdapter.submitList(data.mCurrentList)
showCompletePurchasesInfo(data.mFinishedList)
mAdapter.submitList(data.current_purchases)
showCompletePurchasesInfo(data.finished_purchases)
}
private fun showCompletePurchasesInfo(finishedList: List<ZeroBuyItem>?) {

View File

@ -12,6 +12,7 @@ import com.gamedog.vididin.core.login.login.AccountManager
import com.gamedog.vididin.netbase.NetworkUtil
import com.gamedog.vididin.netbase.Result
import com.gamedog.vididin.request.RequestUtil
import com.vididin.real.money.game.R
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
@ -42,19 +43,15 @@ class ZeroBuyViewModel : ViewModel() {
requestParams.put("ActivityId", itemId.toString())
val result = NetworkUtil.post("${VidiConst.URL_ZERO_BUY}/query", requestHeaders, requestParams, joinZeroBuyItemIds)
val result = NetworkUtil.post("${VidiConst.URL_ZERO_BUY}/any", requestHeaders, requestParams, joinZeroBuyItemIds)
when (result) {
is Result.Success -> {
val respObj = AndroidUtil.json2Object<ZeroBuyResp>(result.data.string())?.apply {
mCurrentList = AndroidUtil.json2Object<List<ZeroBuyItem>>(CurrentPurchases)
mFinishedList = AndroidUtil.json2Object<List<ZeroBuyItem>>(FinishedPurchases)
contentObj = AndroidUtil.json2Object<ZeroBuyItem>(Content)
}
val respObj = AndroidUtil.json2Object<ZeroBuyResp>(result.data.string())
respObj?.contentObj?.let {
val itemId = respObj?.contentObj?.id
if ((respObj.Code == 0 || respObj.Code == 10003) && itemId != null && itemId > 0) {
val itemId = respObj.contentObj?.id
if ((respObj.code == 0 || respObj.code == 10003) && itemId != null && itemId > 0) {
val mutableJoinedIdList = if(joinZeroBuyItemIds == null) mutableListOf<Int>() else joinZeroBuyItemIds.toMutableList()
mutableJoinedIdList.add(itemId)
SpUtil.instance().putList(SpUtil.KEY_ZEROBUY_JOINED_ACTIVITY_IDS, mutableJoinedIdList)
@ -88,31 +85,22 @@ class ZeroBuyViewModel : ViewModel() {
requestParams.put("UserId", userId.toString())
}
val joinZeroBuyItemIds = SpUtil.instance().getList<Int>(SpUtil.KEY_ZEROBUY_JOINED_ACTIVITY_IDS)
val result = NetworkUtil.post("${VidiConst.URL_ZERO_BUY}/query", requestHeaders, requestParams, joinZeroBuyItemIds)
val result = NetworkUtil.post("${VidiConst.URL_ZERO_BUY}/any", requestHeaders, requestParams, joinZeroBuyItemIds)
when (result) {
is Result.Success -> {
val respObj = AndroidUtil.json2Object<ZeroBuyResp>(result.data.string())?.apply {
mCurrentList = AndroidUtil.json2Object<List<ZeroBuyItem>>(CurrentPurchases)
mFinishedList = AndroidUtil.json2Object<List<ZeroBuyItem>>(FinishedPurchases)
}
val respObj = AndroidUtil.json2Object<ZeroBuyResp>(result.data.string())
respObj?.UserId?.let {
respObj?.user_id?.let {
if (userId <= 0) {
AccountManager.saveUserIdInfo(it)
}
}
// TODO - when to record joined activity Ids
/*respObj?.Join?.let {
if (userId <= 0) {
AccountManager.saveUserIdInfo(it)
}
}*/
_ZeroBuyListData.value = Result.Success(respObj!!)
}
is Result.Error -> {
_ZeroBuyListData.value = Result.Error(result.exception, result.message)
AndroidUtil.showToast(R.string.net_error)
}
else -> { }
}

View File

@ -58,8 +58,8 @@ class ZeroItemAdapter(private val joinCallback: (itemId: Int, diamondCost: Int)-
mCountDownTimer.start()
}
override fun submitList(list: List<ZeroBuyItem?>?) {
val sortedList = list?.sortedByDescending { it?.start_time }
override fun submitList(list: List<ZeroBuyItem>?) {
val sortedList = list?.sortedByDescending { it.start_time }
super.submitList(sortedList)
}

View File

@ -30,8 +30,8 @@ class ZeroBuyWinDialog(context: Activity, private val item: ZeroBuyItem) : Bindi
}
}
tvTitleSub.text = item.title + " - " + item.price
tvPurchaseId.text = item.redeem_code
tvTitleSub.text = item.title
tvPurchaseId.text = item.price
}
}

View File

@ -201,7 +201,7 @@
<string name="record_gold_descr_daily_task_video">Completed: Watch Video task.</string>
<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>
</resources>