From bf2f47c79a7a76b9612f01ced0adc209ba1411bb Mon Sep 17 00:00:00 2001 From: Jeeva Ramachandran Date: Mon, 28 Oct 2024 14:34:03 +0530 Subject: [PATCH] chore: update payment life cycle for smart retry analytics --- .../FailedPaymentsDistribution.res | 7 +++- .../PaymentsProcessed/PaymentsProcessed.res | 39 +++++++++++-------- .../PaymentsProcessedUtils.res | 26 +++++++++---- 3 files changed, 46 insertions(+), 26 deletions(-) diff --git a/src/screens/NewAnalytics/PaymentAnalytics/FailedPaymentsDistribution/FailedPaymentsDistribution.res b/src/screens/NewAnalytics/PaymentAnalytics/FailedPaymentsDistribution/FailedPaymentsDistribution.res index 20f67b512..f1b4ad2b3 100644 --- a/src/screens/NewAnalytics/PaymentAnalytics/FailedPaymentsDistribution/FailedPaymentsDistribution.res +++ b/src/screens/NewAnalytics/PaymentAnalytics/FailedPaymentsDistribution/FailedPaymentsDistribution.res @@ -12,14 +12,17 @@ module TableModule = { let (offset, setOffset) = React.useState(_ => 0) let {filterValueJson} = React.useContext(FilterContext.filterContext) let isSmartRetryEnabled = - filterValueJson->getString("is_smart_retry_enabled", "true")->getBoolFromString(true) + filterValueJson + ->getString("is_smart_retry_enabled", "true") + ->getBoolFromString(true) + ->getSmartRetryMetricType let defaultSort: Table.sortedObject = { key: "", order: Table.INC, } let tableBorderClass = "border-2 border-solid border-jp-gray-940 border-collapse border-opacity-30 dark:border-jp-gray-dark_table_border_color dark:border-opacity-30" - let defaultCol = isSmartRetryEnbldForFailedPmtDist(isSmartRetryEnabled->getSmartRetryMetricType) + let defaultCol = isSmartRetryEnbldForFailedPmtDist(isSmartRetryEnabled) let visibleColumns = [defaultCol]->Array.concat([selectedTab->getColumn]) let tableData = getTableData(data) diff --git a/src/screens/NewAnalytics/PaymentAnalytics/PaymentsProcessed/PaymentsProcessed.res b/src/screens/NewAnalytics/PaymentAnalytics/PaymentsProcessed/PaymentsProcessed.res index 4b4a958d6..7feb7aecf 100644 --- a/src/screens/NewAnalytics/PaymentAnalytics/PaymentsProcessed/PaymentsProcessed.res +++ b/src/screens/NewAnalytics/PaymentAnalytics/PaymentsProcessed/PaymentsProcessed.res @@ -3,30 +3,31 @@ open NewAnalyticsHelper open LineGraphTypes open NewPaymentAnalyticsEntity open PaymentsProcessedUtils - +open NewPaymentAnalyticsUtils module TableModule = { open LogicUtils - open PaymentsProcessedTypes + @react.component - let make = (~data, ~className="", ~isSmartRetryEnabled) => { + let make = (~data, ~className="") => { let (offset, setOffset) = React.useState(_ => 0) let defaultSort: Table.sortedObject = { key: "", order: Table.INC, } let tableBorderClass = "border-collapse border border-jp-gray-940 border-solid border-2 border-opacity-30 dark:border-jp-gray-dark_table_border_color dark:border-opacity-30" - + let {filterValueJson} = React.useContext(FilterContext.filterContext) let paymentsProcessed = switch data->getArrayFromJson([])->Array.get(0) { | Some(val) => val->getArrayDataFromJson(tableItemToObjMapper) | _ => [] }->Array.map(Nullable.make) - let defaultCols = isSmartRetryEnabled - ? [Payment_Processed_Amount, Payment_Processed_Count] - : [ - Payment_Processed_Amount_Without_Smart_Retries, - Payment_Processed_Count_Without_Smart_Retries, - ] + let isSmartRetryEnabled = + filterValueJson + ->getString("is_smart_retry_enabled", "true") + ->getBoolFromString(true) + ->getSmartRetryMetricType + + let defaultCols = isSmartRetryEnabled->isSmartRetryEnbldForPmtProcessed let visibleColumns = defaultCols->Array.concat(visibleColumns)
@@ -57,7 +58,7 @@ module TableModule = { module PaymentsProcessedHeader = { open NewAnalyticsTypes open NewAnalyticsUtils - open NewPaymentAnalyticsUtils + open LogicUtils @react.component let make = ( ~data: JSON.t, @@ -67,8 +68,13 @@ module PaymentsProcessedHeader = { ~setSelectedMetric, ~granularity, ~setGranularity, - ~isSmartRetryEnabled, ) => { + let {filterValueJson} = React.useContext(FilterContext.filterContext) + let isSmartRetryEnabled = + filterValueJson + ->getString("is_smart_retry_enabled", "true") + ->getBoolFromString(true) + ->getSmartRetryMetricType let primaryValue = getMetaDataValue( ~data, ~index=0, @@ -138,7 +144,10 @@ let make = ( let startTimeVal = filterValueJson->getString("startTime", "") let endTimeVal = filterValueJson->getString("endTime", "") let isSmartRetryEnabled = - filterValueJson->getString("is_smart_retry_enabled", "true")->getBoolFromString(true) + filterValueJson + ->getString("is_smart_retry_enabled", "true") + ->getBoolFromString(true) + ->getSmartRetryMetricType let getPaymentsProcessed = async () => { setScreenState(_ => PageLoaderWrapper.Loading) @@ -267,7 +276,6 @@ let make = ( setSelectedMetric granularity setGranularity - isSmartRetryEnabled />
{switch viewType { @@ -281,8 +289,7 @@ let make = ( )} className="mr-3" /> - | Table => - + | Table => }}
diff --git a/src/screens/NewAnalytics/PaymentAnalytics/PaymentsProcessed/PaymentsProcessedUtils.res b/src/screens/NewAnalytics/PaymentAnalytics/PaymentsProcessed/PaymentsProcessedUtils.res index bb1d8123c..402746206 100644 --- a/src/screens/NewAnalytics/PaymentAnalytics/PaymentsProcessed/PaymentsProcessedUtils.res +++ b/src/screens/NewAnalytics/PaymentAnalytics/PaymentsProcessed/PaymentsProcessedUtils.res @@ -192,19 +192,29 @@ let defaulGranularity = { let getKeyForModule = (key, ~isSmartRetryEnabled) => { let field = key->getVariantValueFromString switch (field, isSmartRetryEnabled) { - | (Payment_Processed_Amount, true) => Payment_Processed_Amount - | (Payment_Processed_Amount, false) => Payment_Processed_Amount_Without_Smart_Retries - | (Payment_Processed_Count, true) => Payment_Processed_Count - | (Payment_Processed_Count, false) | _ => Payment_Processed_Count_Without_Smart_Retries + | (Payment_Processed_Amount, Smart_Retry) => Payment_Processed_Amount + | (Payment_Processed_Count, Smart_Retry) => Payment_Processed_Count + | (Payment_Processed_Amount, Default) => Payment_Processed_Amount_Without_Smart_Retries + | (Payment_Processed_Count, Default) | _ => Payment_Processed_Count_Without_Smart_Retries }->getStringFromVariant } let getMetaDataMapper = (key, ~isSmartRetryEnabled) => { let field = key->getVariantValueFromString switch (field, isSmartRetryEnabled) { - | (Payment_Processed_Amount, true) => Total_Payment_Processed_Amount - | (Payment_Processed_Amount, false) => Total_Payment_Processed_Amount_Without_Smart_Retries - | (Payment_Processed_Count, true) => Total_Payment_Processed_Count - | (Payment_Processed_Count, false) | _ => Total_Payment_Processed_Count_Without_Smart_Retriess + | (Payment_Processed_Amount, Smart_Retry) => Total_Payment_Processed_Amount + | (Payment_Processed_Count, Smart_Retry) => Total_Payment_Processed_Count + | (Payment_Processed_Amount, Default) => Total_Payment_Processed_Amount_Without_Smart_Retries + | (Payment_Processed_Count, Default) | _ => Total_Payment_Processed_Count_Without_Smart_Retriess }->getStringFromVariant } + +let isSmartRetryEnbldForPmtProcessed = isEnabled => { + switch isEnabled { + | Smart_Retry => [Payment_Processed_Amount, Payment_Processed_Count] + | Default => [ + Payment_Processed_Amount_Without_Smart_Retries, + Payment_Processed_Count_Without_Smart_Retries, + ] + } +}