修改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 package com.gamedog.vididin.beans
data class ZeroBuyResp (
val Code: Int,
val Message: String,
val UserId: Int,
val CurrentPurchases: String, data class ZeroBuyResp (
val FinishedPurchases: String, val code: Int,
var mCurrentList: List<ZeroBuyItem>?, val message: String,
var mFinishedList: List<ZeroBuyItem>?, val user_id: Int,
val current_purchases : List<ZeroBuyItem>,
val finished_purchases : List<ZeroBuyItem>?,
val Content: String, val Content: String,
var contentObj: ZeroBuyItem? var contentObj: ZeroBuyItem?
) )
@ -26,11 +25,12 @@ data class ZeroBuyItem (
val image:Int = 0, val image:Int = 0,
val current_users: List<Int>? = null, val current_users: List<Int>? = null,
val winners: List<Int>? = null, val winners: List<Int>? = null,
val redeem_code: String? = null, /*val redeem_code: String? = null,*/
val completed: Boolean = false, 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) { private fun updateUIs(data: ZeroBuyResp) {
if (data.mFinishedList.isNullOrEmpty()) { if (data.finished_purchases.isNullOrEmpty()) {
binding.tvNoDataHint.isVisible = true binding.tvNoDataHint.isVisible = true
binding.recyclerView.isVisible = false binding.recyclerView.isVisible = false
} else { } else {
binding.tvNoDataHint.isVisible = false binding.tvNoDataHint.isVisible = false
binding.recyclerView.isVisible = true 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) { private fun updateUIs(data: ZeroBuyResp) {
mAdapter.submitList(data.mCurrentList) mAdapter.submitList(data.current_purchases)
showCompletePurchasesInfo(data.mFinishedList) showCompletePurchasesInfo(data.finished_purchases)
} }
private fun showCompletePurchasesInfo(finishedList: List<ZeroBuyItem>?) { 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.NetworkUtil
import com.gamedog.vididin.netbase.Result import com.gamedog.vididin.netbase.Result
import com.gamedog.vididin.request.RequestUtil import com.gamedog.vididin.request.RequestUtil
import com.vididin.real.money.game.R
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.asStateFlow
@ -42,19 +43,15 @@ class ZeroBuyViewModel : ViewModel() {
requestParams.put("ActivityId", itemId.toString()) 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) { when (result) {
is Result.Success -> { is Result.Success -> {
val respObj = AndroidUtil.json2Object<ZeroBuyResp>(result.data.string())?.apply { val respObj = AndroidUtil.json2Object<ZeroBuyResp>(result.data.string())
mCurrentList = AndroidUtil.json2Object<List<ZeroBuyItem>>(CurrentPurchases)
mFinishedList = AndroidUtil.json2Object<List<ZeroBuyItem>>(FinishedPurchases)
contentObj = AndroidUtil.json2Object<ZeroBuyItem>(Content)
}
respObj?.contentObj?.let { respObj?.contentObj?.let {
val itemId = respObj?.contentObj?.id val itemId = respObj.contentObj?.id
if ((respObj.Code == 0 || respObj.Code == 10003) && itemId != null && itemId > 0) { if ((respObj.code == 0 || respObj.code == 10003) && itemId != null && itemId > 0) {
val mutableJoinedIdList = if(joinZeroBuyItemIds == null) mutableListOf<Int>() else joinZeroBuyItemIds.toMutableList() val mutableJoinedIdList = if(joinZeroBuyItemIds == null) mutableListOf<Int>() else joinZeroBuyItemIds.toMutableList()
mutableJoinedIdList.add(itemId) mutableJoinedIdList.add(itemId)
SpUtil.instance().putList(SpUtil.KEY_ZEROBUY_JOINED_ACTIVITY_IDS, mutableJoinedIdList) SpUtil.instance().putList(SpUtil.KEY_ZEROBUY_JOINED_ACTIVITY_IDS, mutableJoinedIdList)
@ -88,31 +85,22 @@ class ZeroBuyViewModel : ViewModel() {
requestParams.put("UserId", userId.toString()) requestParams.put("UserId", userId.toString())
} }
val joinZeroBuyItemIds = SpUtil.instance().getList<Int>(SpUtil.KEY_ZEROBUY_JOINED_ACTIVITY_IDS) 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) { when (result) {
is Result.Success -> { is Result.Success -> {
val respObj = AndroidUtil.json2Object<ZeroBuyResp>(result.data.string())?.apply { val respObj = AndroidUtil.json2Object<ZeroBuyResp>(result.data.string())
mCurrentList = AndroidUtil.json2Object<List<ZeroBuyItem>>(CurrentPurchases)
mFinishedList = AndroidUtil.json2Object<List<ZeroBuyItem>>(FinishedPurchases)
}
respObj?.UserId?.let { respObj?.user_id?.let {
if (userId <= 0) { if (userId <= 0) {
AccountManager.saveUserIdInfo(it) AccountManager.saveUserIdInfo(it)
} }
} }
// TODO - when to record joined activity Ids
/*respObj?.Join?.let {
if (userId <= 0) {
AccountManager.saveUserIdInfo(it)
}
}*/
_ZeroBuyListData.value = Result.Success(respObj!!) _ZeroBuyListData.value = Result.Success(respObj!!)
} }
is Result.Error -> { is Result.Error -> {
_ZeroBuyListData.value = Result.Error(result.exception, result.message) _ZeroBuyListData.value = Result.Error(result.exception, result.message)
AndroidUtil.showToast(R.string.net_error)
} }
else -> { } else -> { }
} }

View File

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

View File

@ -30,8 +30,8 @@ class ZeroBuyWinDialog(context: Activity, private val item: ZeroBuyItem) : Bindi
} }
} }
tvTitleSub.text = item.title + " - " + item.price tvTitleSub.text = item.title
tvPurchaseId.text = item.redeem_code 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_descr_daily_task_video">Completed: Watch Video task.</string>
<string name="record_gold_title_convert_2_cash">Convert Notes</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="record_gold_descr_convert_2_cash">You have exchanged %d gold coins.</string>
<string name="net_error">Erro de rede</string>
</resources> </resources>