NTP-60662 | Vedant Aggarwal | Existing customer check updated (#16081)
This commit is contained in:
@@ -26,6 +26,7 @@ import com.navi.pay.common.validatevpa.model.view.ValidateVpaEntity
|
||||
import com.navi.pay.management.common.utils.NaviPayPspManager
|
||||
import com.navi.pay.management.paytocontacts.model.network.PayToContactRequest
|
||||
import com.navi.pay.network.di.NaviPayGsonBuilder
|
||||
import com.navi.pay.onboarding.account.common.repository.AccountsRepository
|
||||
import com.navi.pay.onboarding.binding.model.view.NaviPayCustomerOnboardingEntity
|
||||
import com.navi.pay.utils.DEFAULT_RETRY_COUNT
|
||||
import com.navi.pay.utils.RETRY_INTERVAL_IN_SECONDS
|
||||
@@ -46,6 +47,7 @@ constructor(
|
||||
private val naviPaySessionHelper: NaviPaySessionHelper,
|
||||
private val naviPayPspManager: NaviPayPspManager,
|
||||
private val naviPayCustomerStatusHandler: NaviPayCustomerStatusHandler,
|
||||
private val accountsRepository: AccountsRepository,
|
||||
@NaviPayGsonBuilder private val gson: Gson,
|
||||
) {
|
||||
val naviPayAnalytics = NaviPayAnalytics.INSTANCE.NaviPayValidateVpaUseCase()
|
||||
@@ -222,17 +224,19 @@ constructor(
|
||||
return apiResponse
|
||||
}
|
||||
|
||||
// returns true if customer has done binding or has at least one account in db
|
||||
private suspend fun isCustomerOnboardedOnAnySupportedPsp(screenName: String): Boolean {
|
||||
val accounts = accountsRepository.getAllAccounts()
|
||||
if (accounts.isNotEmpty()) {
|
||||
return true
|
||||
}
|
||||
val supportedPspTypes =
|
||||
naviPayPspManager.getSupportedPspList(
|
||||
naviPayFlowType = NaviPayFlowType.VALIDATE_VPA,
|
||||
screenName = screenName,
|
||||
)
|
||||
val customerOnboardingData = naviPayCustomerStatusHandler.getAllCustomerOnboardingData()
|
||||
return customerOnboardingData.any { customerOnboardingEntity ->
|
||||
customerOnboardingEntity.pspType in supportedPspTypes &&
|
||||
customerOnboardingEntity.merchantCustomerId.isNotEmpty()
|
||||
}
|
||||
val customerStatusMap = naviPayCustomerStatusHandler.getCustomerStatusMap()
|
||||
return supportedPspTypes.any { psp -> customerStatusMap[psp]?.isBound == true }
|
||||
}
|
||||
|
||||
private fun <T> getVpaKeyParam(request: T): String {
|
||||
|
||||
Reference in New Issue
Block a user