NTP-60702 | Added check for recurrencePattern (#16773)
This commit is contained in:
committed by
GitHub
parent
baaddc3189
commit
8dc7c830e9
@@ -15,6 +15,7 @@ import com.navi.pay.analytics.NaviPayAnalytics
|
|||||||
import com.navi.pay.management.common.sendmoney.model.network.SplitDetailsItem
|
import com.navi.pay.management.common.sendmoney.model.network.SplitDetailsItem
|
||||||
import com.navi.pay.management.common.sendmoney.model.view.PayeeEntity
|
import com.navi.pay.management.common.sendmoney.model.view.PayeeEntity
|
||||||
import com.navi.pay.management.common.sendmoney.model.view.SplitDetailsType
|
import com.navi.pay.management.common.sendmoney.model.view.SplitDetailsType
|
||||||
|
import com.navi.pay.management.mandate.model.view.MandateRecurrence
|
||||||
import com.navi.pay.management.moneytransfer.scanpay.model.view.QrError
|
import com.navi.pay.management.moneytransfer.scanpay.model.view.QrError
|
||||||
import com.navi.pay.management.moneytransfer.scanpay.model.view.UpiUriResult
|
import com.navi.pay.management.moneytransfer.scanpay.model.view.UpiUriResult
|
||||||
import com.navi.pay.management.moneytransfer.scanpay.model.view.UriType
|
import com.navi.pay.management.moneytransfer.scanpay.model.view.UriType
|
||||||
@@ -121,6 +122,7 @@ class UpiUriParser @Inject constructor() {
|
|||||||
fun Uri.getPayeeEntity(isVerifiedVpa: Boolean = false): PayeeEntity {
|
fun Uri.getPayeeEntity(isVerifiedVpa: Boolean = false): PayeeEntity {
|
||||||
val amount =
|
val amount =
|
||||||
(getQueryParameter("am") ?: "").let { if (it.isAmountValidForSendMoney()) it else "" }
|
(getQueryParameter("am") ?: "").let { if (it.isAmountValidForSendMoney()) it else "" }
|
||||||
|
val recurrencePattern = getQueryParameter("recur")
|
||||||
return PayeeEntity(
|
return PayeeEntity(
|
||||||
name = getQueryParameter("pn") ?: "",
|
name = getQueryParameter("pn") ?: "",
|
||||||
vpa = getQueryParameter("pa") ?: "",
|
vpa = getQueryParameter("pa") ?: "",
|
||||||
@@ -167,9 +169,17 @@ fun Uri.getPayeeEntity(isVerifiedVpa: Boolean = false): PayeeEntity {
|
|||||||
mandateValidityEndDate = getQueryParameter("validityend"),
|
mandateValidityEndDate = getQueryParameter("validityend"),
|
||||||
mandateAmountRule =
|
mandateAmountRule =
|
||||||
getQueryParamValueOrDefault(getQueryParameter("amrule"), DEFAULT_MANDATE_AMOUNT_RULE),
|
getQueryParamValueOrDefault(getQueryParameter("amrule"), DEFAULT_MANDATE_AMOUNT_RULE),
|
||||||
mandateRecurrence = getQueryParameter("recur"),
|
mandateRecurrence = recurrencePattern,
|
||||||
mandateRecurrenceValue = getQueryParameter("recurvalue"),
|
mandateRecurrenceValue =
|
||||||
mandateRecurrenceType = getQueryParameter("recurtype"),
|
getValueBasedOnRecurrencePattern(
|
||||||
|
pattern = recurrencePattern,
|
||||||
|
value = getQueryParameter("recurvalue"),
|
||||||
|
),
|
||||||
|
mandateRecurrenceType =
|
||||||
|
getValueBasedOnRecurrencePattern(
|
||||||
|
pattern = recurrencePattern,
|
||||||
|
value = getQueryParameter("recurtype"),
|
||||||
|
),
|
||||||
mandateRevocable = getQueryParameter("rev"),
|
mandateRevocable = getQueryParameter("rev"),
|
||||||
mandateShareToPayee = getQueryParameter("share"),
|
mandateShareToPayee = getQueryParameter("share"),
|
||||||
mandateBlock = getQueryParameter("block"),
|
mandateBlock = getQueryParameter("block"),
|
||||||
@@ -180,6 +190,19 @@ fun Uri.getPayeeEntity(isVerifiedVpa: Boolean = false): PayeeEntity {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun getValueBasedOnRecurrencePattern(pattern: String?, value: String?): String? {
|
||||||
|
val recurringPatterns =
|
||||||
|
setOf(
|
||||||
|
MandateRecurrence.ONETIME.name,
|
||||||
|
MandateRecurrence.DAILY.name,
|
||||||
|
MandateRecurrence.ASPRESENTED.name,
|
||||||
|
)
|
||||||
|
return when {
|
||||||
|
pattern in recurringPatterns -> null
|
||||||
|
else -> value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun getValidatedNote(notes: String?): String {
|
private fun getValidatedNote(notes: String?): String {
|
||||||
if (notes == null) return ""
|
if (notes == null) return ""
|
||||||
return notes.filter { char -> NOTES_REGEX.matches(char.toString()) }.trim()
|
return notes.filter { char -> NOTES_REGEX.matches(char.toString()) }.trim()
|
||||||
|
|||||||
Reference in New Issue
Block a user