From ce0d5084baf9113ebf3c1899a48ff34a60b1cc33 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Mon, 8 Dec 2025 18:26:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98userId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vididin/features/zero/ZeroBuyViewModel.kt | 27 +++++++++++++++++-- .../com/ama/core/architecture/util/SpUtil.kt | 1 + 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyViewModel.kt b/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyViewModel.kt index 5524122..982fcc3 100644 --- a/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyViewModel.kt +++ b/app/src/main/java/com/gamedog/vididin/features/zero/ZeroBuyViewModel.kt @@ -4,9 +4,11 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.ama.core.architecture.util.AndroidUtil import com.ama.core.architecture.util.DeviceUtil +import com.ama.core.architecture.util.SpUtil import com.gamedog.vididin.VidiConst import com.gamedog.vididin.beans.ZeroBuyItem import com.gamedog.vididin.beans.ZeroBuyResp +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 @@ -54,10 +56,18 @@ class ZeroBuyViewModel : ViewModel() { val curTimeSec = System.currentTimeMillis()/1000 val signStr = RequestUtil.getZeroBuyRequestSign(curTimeSec, operationVal) val requestHeaders = mapOf("Operation" to operationVal.toString(), "Timestamp" to curTimeSec.toString(), "Sign" to signStr) + val requestParams = mutableMapOf("AppId" to VidiConst.ZEROBUY_APPID, "DeviceId" to DeviceUtil.generateDeviceId()) + val userId = AccountManager.getAccount()?.userId?: 0 + if (userId > 0) { + requestParams.put("UserId", userId.toString()) + } + val joinZeroBuyItemIds = SpUtil.instance().getList(SpUtil.KEY_ZEROBUY_JOINED_ACTIVITY_IDS) + if (joinZeroBuyItemIds.isNotEmpty()) { + requestParams.put("JoinedPurchaseIds", AndroidUtil.object2Json(joinZeroBuyItemIds)) + } + - val requestParams = mapOf("AppId" to VidiConst.ZEROBUY_APPID, "DeviceId" to DeviceUtil.generateDeviceId()) val result = NetworkUtil.get("${VidiConst.URL_ZERO_BUY}/anynameisok", requestHeaders, requestParams) - when (result) { is Result.Success -> { val respObj = AndroidUtil.json2Object(result.data.string())?.apply { @@ -65,6 +75,19 @@ class ZeroBuyViewModel : ViewModel() { mFinishedList = AndroidUtil.json2Object>(FinishedPurchases) } + respObj?.UserId?.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 -> { diff --git a/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt b/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt index ad8d064..d31bed9 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt @@ -31,6 +31,7 @@ class SpUtil private constructor(spFileName: String) { const val KEY_NEWBIE_JOIN_DISCORD = "KEY_NEWBIE_JOIN_DISCORD" + const val KEY_ZEROBUY_JOINED_ACTIVITY_IDS = "KEY_ZEROBUY_JOINED_ACTIVITY_IDS"