TP-68222 | t-store refactoring (#11744)

This commit is contained in:
Mohit Rajput
2024-07-08 07:06:46 -07:00
committed by GitHub
parent 3fc5774ec1
commit daaaf32bec
6 changed files with 32 additions and 102 deletions

View File

@@ -29,15 +29,6 @@ class NaviBbpsDateUtils @Inject constructor() {
} ?: return null
}
fun getDateTimeObjectFromEpoch(
dateTime: String?,
timeZone: DateTimeZone = DateTimeZone.getDefault()
): DateTime? {
dateTime?.toLongOrNull()?.let {
return DateTime(it).withZone(timeZone)
} ?: return null
}
fun getFormattedDate(utcDateString: String?, outputFormat: String): String {
val dateTime =
getDateTimeObjectFromDateTimeString(
@@ -54,7 +45,10 @@ class NaviBbpsDateUtils @Inject constructor() {
fun getFormattedDateFromEpoch(epochTime: String?, outputFormat: String): String {
val dateTime =
getDateTimeObjectFromEpoch(dateTime = epochTime, timeZone = DateTimeZone.getDefault())
DateUtils.getDateTimeObjectFromEpoch(
dateTime = epochTime,
timeZone = DateTimeZone.getDefault()
)
return dateTime?.let {
DateUtils.getFormattedDateTimeAsStringFromDateTimeObject(
dateTime = dateTime,

View File

@@ -7,6 +7,7 @@
package com.navi.bbps.feature.paybill.util
import com.navi.base.utils.DateUtils
import com.navi.bbps.common.utils.NaviBbpsDateUtils
import com.navi.bbps.feature.billhistorydetail.model.view.BillTransactionItemEntity
import com.navi.bbps.feature.category.model.view.BillCategoryEntity
@@ -84,20 +85,13 @@ private fun getBBPSOrderDetailsMetadata(
private fun getDateTimeObjectFromPaymentPayload(paymentResponseMetadata: JSONObject): DateTime? {
val naviBbpsDateUtils = NaviBbpsDateUtils()
return if (!paymentResponseMetadata.optString("timestamp").isNullOrBlank()) {
try {
naviBbpsDateUtils.getDateTimeObjectFromDateTimeString(
dateTime = paymentResponseMetadata.optString("timestamp"),
timeZone = DateTimeZone.UTC
)
} catch (e: Exception) {
naviBbpsDateUtils.getDateTimeObjectFromEpoch(
dateTime = System.currentTimeMillis().toString(),
timeZone = DateTimeZone.UTC
)
}
} else {
naviBbpsDateUtils.getDateTimeObjectFromEpoch(
return try {
naviBbpsDateUtils.getDateTimeObjectFromDateTimeString(
dateTime = paymentResponseMetadata.getString("timestamp"),
timeZone = DateTimeZone.UTC
)
} catch (e: Exception) {
DateUtils.getDateTimeObjectFromEpoch(
dateTime = System.currentTimeMillis().toString(),
timeZone = DateTimeZone.UTC
)

View File

@@ -310,12 +310,17 @@ object NaviPayCommonUtils {
}
fun getDateTimeObjectFromEpochString(epochMillis: Long): DateTime {
val dateTime = DateTime(epochMillis, DateTimeZone.UTC)
val dateTimeString = dateTime.toString()
return getDateTimeObjectFromDateTimeString(
dateTime = dateTimeString,
timeZone = DateTimeZone.UTC
) ?: DateTime()
return try {
val dateTime = DateTime(epochMillis, DateTimeZone.UTC)
val dateTimeString = dateTime.toString()
return getDateTimeObjectFromDateTimeString(
dateTime = dateTimeString,
timeZone = DateTimeZone.UTC
) ?: DateTime()
} catch (e: Exception) {
FirebaseCrashlytics.getInstance().recordException(e)
DateTime()
}
}
suspend fun validateSimInfo(

View File

@@ -16,7 +16,6 @@ import com.navi.pay.common.sync.repository.SyncRepository
import com.navi.pay.onboarding.account.add.repository.BankRepository
import com.navi.pay.tstore.details.ui.upi.NaviPayTransactionDetailsMetadata
import com.navi.pay.tstore.list.model.network.OrderHistoryRequest
import com.navi.pay.tstore.list.model.network.OrderItem
import com.navi.pay.tstore.list.model.network.toOrderEntity
import com.navi.pay.tstore.list.repository.OrderRepository
import com.navi.pay.utils.NAVI_PAY_SYNC_TABLE_ORDER_HISTORY_KEY
@@ -24,7 +23,6 @@ import com.navi.pay.utils.parallelMap
import java.util.concurrent.atomic.AtomicBoolean
import javax.inject.Inject
import javax.inject.Singleton
import kotlinx.coroutines.withContext
@Singleton
class SyncOrderHistoryUseCase
@@ -65,11 +63,7 @@ constructor(
break
}
val orderHistoryItemList =
preprocessOrderHistoryList(
orderHistoryItemList =
orderHistoryAPIResponse.data?.orderItemList ?: emptyList()
)
val orderHistoryItemList = orderHistoryAPIResponse.data?.orderItemList.orEmpty()
val bankCodeList =
orderHistoryItemList.flatMap { listOfNotNull(it.bankCode) }.distinct()
@@ -112,37 +106,4 @@ constructor(
}
}
}
private suspend fun preprocessOrderHistoryList(
orderHistoryItemList: List<OrderItem>
): List<OrderItem> {
val filteredOrderHistoryListPostSelfTransfer =
filterOrderHistoryListForSelfTransferCase(orderHistoryItemList = orderHistoryItemList)
val processedOrderHistoryList =
updateOrderHistoryDataForMandateCase(
orderHistoryItemList = filteredOrderHistoryListPostSelfTransfer
)
return processedOrderHistoryList
}
private fun filterOrderHistoryListForSelfTransferCase(
orderHistoryItemList: List<OrderItem>
): List<OrderItem> {
// for self transfer backend send both payer and payee transaction, so we are filtering out
// payee transaction
return orderHistoryItemList
}
private suspend fun updateOrderHistoryDataForMandateCase(
orderHistoryItemList: List<OrderItem>
): List<OrderItem> =
withContext(coroutineDispatcherProvider.io) {
// In case of mandate transaction, payerName is UMN in callback hence we manually update
// it
return@withContext orderHistoryItemList
}
}

View File

@@ -63,14 +63,9 @@ fun OrderItem.getOrderCategoryTagsWithSeparator(
OrderCategory.MERCHANT_DEBITED,
OrderCategory.CUSTOMER_DEBITED_TO_MERCHANT,
OrderCategory.CUSTOMER_CREDITED_FROM_MERCHANT
)
) {
eligibleTags.add(TransactionCategoryTags.MERCHANT_PAYMENTS.value)
}
if (
(naviPayMetadata?.payeeInfo?.mcc?.isNotBlank() == true &&
naviPayMetadata.payeeInfo.mcc != NAVI_PAY_DEFAULT_MCC) ||
) ||
(naviPayMetadata?.payeeInfo?.mcc?.isNotBlank() == true &&
naviPayMetadata.payeeInfo.mcc != NAVI_PAY_DEFAULT_MCC) ||
(naviPayMetadata?.payerInfo?.mcc?.isNotBlank() == true &&
naviPayMetadata.payerInfo.mcc != NAVI_PAY_DEFAULT_MCC)
) {
@@ -136,11 +131,6 @@ fun OrderItem.getPaymentModeTags(
OrderPaymentMode.MANDATE_PRESENTATION -> {
eligibleTags.add(TransactionPaymentModeTags.MANDATE.value)
}
OrderPaymentMode.DEBIT_CARD,
OrderPaymentMode.UPI,
OrderPaymentMode.NETBANKING -> {
eligibleTags.add(TransactionPaymentModeTags.BANK_ACCOUNT.value)
}
else -> {
eligibleTags.add(TransactionPaymentModeTags.BANK_ACCOUNT.value)
}

View File

@@ -87,9 +87,11 @@ constructor(
private val rewardsNudgeEntityFetchUseCase: RewardsNudgeEntityFetchUseCase
) : NaviPayBaseVM(NaviPayVmData(screenName = NaviPayAnalytics.NAVI_PAY_ORDER_HISTORY)) {
private val SEARCH_QUERY_DEBOUNCE_TIME = 300.milliseconds
private val MONTH_FILTER_MAX_DURATION = 18
private val DEFAULT_PAGE_SIZE = 10
companion object {
private val SEARCH_QUERY_DEBOUNCE_TIME = 300.milliseconds
private const val MONTH_FILTER_MAX_DURATION = 18
private const val DEFAULT_PAGE_SIZE = 10
}
val naviPayAnalytics = NaviPayAnalytics.INSTANCE.TStoreOrderList()
@@ -669,22 +671,6 @@ constructor(
private fun updateEnabledStateForTags(
orderHistoryScreenBottomSheetUIState: OrderHistoryScreenBottomSheetUIState
) {
// if (
// !FirebaseRemoteConfigHelper.getBoolean(
// key = NAVI_PAY_TRANSACTION_HISTORY_DYNAMIC_FILTER_ENABLED,
// defaultValue = true
// )
// ) {
// naviPayAnalytics.onDynamicFilterDisabledViaFireBase()
// return
// }
//
// if (tagEnablingStateJob?.isActive == true) {
// naviPayAnalytics.onTagEnablingStateJobRunning()
// return
// }
tagEnablingStateJob =
viewModelScope.launch(Dispatchers.IO) {
when (orderHistoryScreenBottomSheetUIState) {