TP-12345 | Mehul | bbps refresh timestamp from firebase (#11726)
Co-authored-by: sidharthbamba <sidharth.bamba@navi.com>
This commit is contained in:
@@ -8,7 +8,6 @@
|
||||
package com.navi.bbps.common.usecase
|
||||
|
||||
import com.navi.base.utils.retry
|
||||
import com.navi.bbps.common.BILLER_LIST_REFRESH_TIMESTAMP
|
||||
import com.navi.bbps.common.BbpsSharedPreferences
|
||||
import com.navi.bbps.common.DEFAULT_RETRY_COUNT
|
||||
import com.navi.bbps.common.KEY_BBPS_MY_BILLS_DB_LAST_REFRESHED_TIMESTAMP
|
||||
@@ -16,6 +15,7 @@ import com.navi.bbps.common.RETRY_INTERVAL_IN_SECONDS
|
||||
import com.navi.bbps.common.repository.BbpsCommonRepository
|
||||
import com.navi.bbps.feature.billerlist.BillerItemResponseToEntityMapper
|
||||
import com.navi.bbps.feature.billerlist.model.view.BillerItemEntity
|
||||
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
|
||||
import com.navi.common.network.models.isSuccessWithData
|
||||
import javax.inject.Inject
|
||||
import org.joda.time.DateTime
|
||||
@@ -35,7 +35,10 @@ constructor(
|
||||
)
|
||||
|
||||
val shouldFetchBillerList =
|
||||
(DateTime.now().millis - lastFetchBillerListTimeStamp > BILLER_LIST_REFRESH_TIMESTAMP)
|
||||
(DateTime.now().millis - lastFetchBillerListTimeStamp >
|
||||
FirebaseRemoteConfigHelper.getLong(
|
||||
FirebaseRemoteConfigHelper.NAVI_BBPS_BILLER_LIST_CACHE_MILLIS
|
||||
))
|
||||
|
||||
if (shouldFetchBillerList) {
|
||||
val billerListResponse =
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
|
||||
package com.navi.bbps.common.usecase
|
||||
|
||||
import com.navi.bbps.common.ALL_PHONE_SERIES_MAPPING_REFRESH_TIMESTAMP
|
||||
import com.navi.bbps.common.BbpsSharedPreferences
|
||||
import com.navi.bbps.common.KEY_BBPS_PHONE_SERIES_MAPPING_REFRESHED_TIMESTAMP
|
||||
import com.navi.bbps.common.repository.BbpsCommonRepository
|
||||
import com.navi.bbps.feature.prepaidrecharge.model.view.OperatorCircleSeriesMappingItemEntity
|
||||
import com.navi.bbps.parallelMap
|
||||
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
|
||||
import com.navi.common.network.models.isSuccessWithData
|
||||
import javax.inject.Inject
|
||||
import org.joda.time.DateTime
|
||||
@@ -25,15 +25,17 @@ constructor(
|
||||
) {
|
||||
suspend fun execute() {
|
||||
|
||||
val lastFetchBillerListTimeStamp =
|
||||
val lastPhoneSeriesToOperatorCircleMappingFetchedTimeStamp =
|
||||
bbpsSharedPreferences.getLong(
|
||||
key = KEY_BBPS_PHONE_SERIES_MAPPING_REFRESHED_TIMESTAMP,
|
||||
defValue = -1L
|
||||
)
|
||||
|
||||
val shouldFetchPhoneSeriesMapping =
|
||||
(DateTime.now().millis - lastFetchBillerListTimeStamp >
|
||||
ALL_PHONE_SERIES_MAPPING_REFRESH_TIMESTAMP)
|
||||
(DateTime.now().millis - lastPhoneSeriesToOperatorCircleMappingFetchedTimeStamp >
|
||||
FirebaseRemoteConfigHelper.getLong(
|
||||
FirebaseRemoteConfigHelper.NAVI_BBPS_PHONE_SERIES_MAPPING_CACHE_MILLIS
|
||||
))
|
||||
|
||||
if (shouldFetchPhoneSeriesMapping) {
|
||||
val mappingResponse = bbpsCommonRepository.fetchOperatorCircleMappingFromPhoneSeries()
|
||||
@@ -55,6 +57,11 @@ constructor(
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
bbpsSharedPreferences.saveLong(
|
||||
key = KEY_BBPS_PHONE_SERIES_MAPPING_REFRESHED_TIMESTAMP,
|
||||
value = System.currentTimeMillis()
|
||||
)
|
||||
}
|
||||
|
||||
private suspend fun savedMapping(mapping: List<OperatorCircleSeriesMappingItemEntity>) {
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
package com.navi.bbps.common.usecase
|
||||
|
||||
import com.navi.base.utils.retry
|
||||
import com.navi.bbps.common.ALL_PREPAID_PLANS_REFRESH_TIMESTAMP
|
||||
import com.navi.bbps.common.BbpsSharedPreferences
|
||||
import com.navi.bbps.common.DEFAULT_RETRY_COUNT
|
||||
import com.navi.bbps.common.KEY_BBPS_ALL_PREPAID_PLANS_LAST_REFRESHED_TIMESTAMP
|
||||
@@ -16,6 +15,7 @@ import com.navi.bbps.common.RETRY_INTERVAL_IN_SECONDS
|
||||
import com.navi.bbps.common.repository.BbpsCommonRepository
|
||||
import com.navi.bbps.feature.prepaidrecharge.model.network.MapListOfPrepaidPlansResponseToEntity
|
||||
import com.navi.bbps.feature.prepaidrecharge.model.view.PrepaidRechargeEntity
|
||||
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
|
||||
import com.navi.common.network.models.isSuccessWithData
|
||||
import javax.inject.Inject
|
||||
import org.joda.time.DateTime
|
||||
@@ -28,15 +28,17 @@ constructor(
|
||||
private val mapListOfPrepaidPlansResponseToEntity: MapListOfPrepaidPlansResponseToEntity
|
||||
) {
|
||||
suspend fun execute() {
|
||||
val lastFetchBillerListTimeStamp =
|
||||
val lastPrepaidPlansFetchedTimeStamp =
|
||||
bbpsSharedPreferences.getLong(
|
||||
key = KEY_BBPS_ALL_PREPAID_PLANS_LAST_REFRESHED_TIMESTAMP,
|
||||
defValue = -1L
|
||||
)
|
||||
|
||||
val shouldFetchAllPrepaidPlans =
|
||||
(DateTime.now().millis - lastFetchBillerListTimeStamp >
|
||||
ALL_PREPAID_PLANS_REFRESH_TIMESTAMP)
|
||||
(DateTime.now().millis - lastPrepaidPlansFetchedTimeStamp >
|
||||
FirebaseRemoteConfigHelper.getLong(
|
||||
FirebaseRemoteConfigHelper.NAVI_BBPS_PREPAID_PLANS_CACHE_MILLIS
|
||||
))
|
||||
|
||||
if (shouldFetchAllPrepaidPlans) {
|
||||
val allPlansResponse =
|
||||
|
||||
@@ -323,7 +323,13 @@ constructor(
|
||||
}
|
||||
|
||||
private suspend fun startTransactionStatusPolling() {
|
||||
// If transaction status is pending, then start transaction status polling
|
||||
// If not, check if bill acknowledgment status is pending, then start bill acknowledgment
|
||||
// status
|
||||
if (!isTransactionStatusPending()) {
|
||||
if (isBillAcknowledgmentStatusPending()) {
|
||||
startBillAcknowledgmentStatusPolling()
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -149,7 +149,10 @@ object FirebaseRemoteConfigHelper {
|
||||
const val NAVI_BBPS_CATEGORIES_CACHE_MILLIS = "NAVI_BBPS_CATEGORIES_CACHE_MILLIS"
|
||||
const val NAVI_BBPS_PREPAID_OPERATOR_CIRCLE_CACHE_KEY =
|
||||
"NAVI_BBPS_PREPAID_OPERATOR_CIRCLE_CACHE_KEY"
|
||||
const val NAVI_BBPS_PREPAID_PLANS_CACHE_KEY = "NAVI_BBPS_PREPAID_PLANS_CACHE_KEY"
|
||||
const val NAVI_BBPS_PREPAID_PLANS_CACHE_MILLIS = "NAVI_BBPS_PREPAID_PLANS_CACHE_MILLIS"
|
||||
const val NAVI_BBPS_BILLER_LIST_CACHE_MILLIS = "NAVI_BBPS_BILLER_LIST_CACHE_MILLIS"
|
||||
const val NAVI_BBPS_PHONE_SERIES_MAPPING_CACHE_MILLIS =
|
||||
"NAVI_BBPS_PHONE_SERIES_MAPPING_CACHE_MILLIS"
|
||||
const val NAVI_LOCATION_DECIMAL_PRECISION = "NAVI_LOCATION_DECIMAL_PRECISION"
|
||||
const val NAVI_BBPS_AB_TESTING_EXPERIMENTS_CACHE_KEY =
|
||||
"NAVI_BBPS_AB_TESTING_EXPERIMENTS_CACHE_KEY"
|
||||
|
||||
Reference in New Issue
Block a user