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"