From ab9c61fdddbbdf01b88663673e5e3ab30e02f230 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 29 Aug 2025 09:00:50 +0000 Subject: [PATCH] Workflow saved --- failed_payments_retry/main.py | 28 +++++++++++++++++++++++ failed_payments_retry/main.py.notebook | 31 ++++++++++++++++++++++++++ failed_payments_retry/main.workflow | 2 +- 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/failed_payments_retry/main.py b/failed_payments_retry/main.py index e05fefa..3a330b8 100644 --- a/failed_payments_retry/main.py +++ b/failed_payments_retry/main.py @@ -204,3 +204,31 @@ failed_payments_update_mapper_df.createOrReplaceTempView("failed_payments_update print(payment_api_df.columns) success_payment_filter_df = spark.sql("select * from payment_api_df where response_body.success=\'true\'") success_payment_filter_df.createOrReplaceTempView('success_payment_filter_df') + +# %% + +_success_payments_mapper_select_clause=success_payment_filter_df.columns if False else [] + +_success_payments_mapper_select_clause.append("uuid() AS id") + +_success_payments_mapper_select_clause.append("account_id AS account_id") + +_success_payments_mapper_select_clause.append("currency AS currency") + +_success_payments_mapper_select_clause.append("payment_id AS payment_id") + +_success_payments_mapper_select_clause.append("gateway AS gateway") + +_success_payments_mapper_select_clause.append("payment_method AS payment_method") + +_success_payments_mapper_select_clause.append("payment_date AS payment_date") + +_success_payments_mapper_select_clause.append("date_format(current_timestamp(), \"yyyy-MM-dd\'T\'HH:mm:ss.SSS\") AS created_at") + +_success_payments_mapper_select_clause.append("date_format(current_timestamp(), \"yyyy-MM-dd\'T\'HH:mm:ss.SSS\") AS updated_at") + +_success_payments_mapper_select_clause.append("CAST(amount AS DECIMAL(10,2)) AS amount") + + +success_payments_mapper_df=spark.sql(("SELECT " + ', '.join(_success_payments_mapper_select_clause) + " FROM success_payment_filter_df").replace("{job_id}",f"'{job_id}'")) +success_payments_mapper_df.createOrReplaceTempView("success_payments_mapper_df") diff --git a/failed_payments_retry/main.py.notebook b/failed_payments_retry/main.py.notebook index 2c6c5fe..d4c3781 100644 --- a/failed_payments_retry/main.py.notebook +++ b/failed_payments_retry/main.py.notebook @@ -230,6 +230,37 @@ def success_payment_filter(payment_api_df, spark): print(payment_api_df.columns) success_payment_filter_df = spark.sql("select * from payment_api_df where response_body.success=\'true\'") success_payment_filter_df.createOrReplaceTempView('success_payment_filter_df') + return (success_payment_filter_df,) + + +@app.cell +def success_payments_mapper(job_id, spark, success_payment_filter_df): + + _success_payments_mapper_select_clause=success_payment_filter_df.columns if False else [] + + _success_payments_mapper_select_clause.append("uuid() AS id") + + _success_payments_mapper_select_clause.append("account_id AS account_id") + + _success_payments_mapper_select_clause.append("currency AS currency") + + _success_payments_mapper_select_clause.append("payment_id AS payment_id") + + _success_payments_mapper_select_clause.append("gateway AS gateway") + + _success_payments_mapper_select_clause.append("payment_method AS payment_method") + + _success_payments_mapper_select_clause.append("payment_date AS payment_date") + + _success_payments_mapper_select_clause.append("date_format(current_timestamp(), \"yyyy-MM-dd\'T\'HH:mm:ss.SSS\") AS created_at") + + _success_payments_mapper_select_clause.append("date_format(current_timestamp(), \"yyyy-MM-dd\'T\'HH:mm:ss.SSS\") AS updated_at") + + _success_payments_mapper_select_clause.append("CAST(amount AS DECIMAL(10,2)) AS amount") + + + success_payments_mapper_df=spark.sql(("SELECT " + ', '.join(_success_payments_mapper_select_clause) + " FROM success_payment_filter_df").replace("{job_id}",f"'{job_id}'")) + success_payments_mapper_df.createOrReplaceTempView("success_payments_mapper_df") return diff --git a/failed_payments_retry/main.workflow b/failed_payments_retry/main.workflow index 7b47b63..4cb1c0c 100644 --- a/failed_payments_retry/main.workflow +++ b/failed_payments_retry/main.workflow @@ -1 +1 @@ -{"version":"v1alpha","kind":"VisualBuilder","metadata":{"name":"failed_payments_retry","description":"Failed payments retry workflow.","runtime":"spark"},"spec":{"ui":{"edges":[{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"data-reader__0","target":"filter__1","id":"xy-edge__data-reader__0-filter__1"},{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"filter__1","target":"rest-api-invoke__2","id":"xy-edge__filter__1-rest-api-invoke__2"},{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"rest-api-invoke__2","target":"data-mapper__3","id":"xy-edge__rest-api-invoke__2-data-mapper__3"},{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"rest-api-invoke__2","target":"filter__4","id":"xy-edge__rest-api-invoke__2-filter__4"},{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"filter__4","target":"data-mapper__7","id":"xy-edge__filter__4-data-mapper__7"},{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"data-mapper__3","target":"data-writer__5","id":"xy-edge__data-mapper__3-data-writer__5"},{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"data-mapper__7","target":"data-writer__6","id":"xy-edge__data-mapper__7-data-writer__6"}],"nodes":[{"id":"data-reader__0","type":"workflowNode","position":{"x":562,"y":64},"data":{"nodeType":"data-reader","id":"data-reader__0"},"measured":{"width":320,"height":110},"selected":false,"dragging":false},{"id":"filter__1","type":"workflowNode","position":{"x":992.5,"y":63.5},"data":{"nodeType":"filter","id":"filter__1"},"measured":{"width":320,"height":110},"selected":false,"dragging":false},{"id":"rest-api-invoke__2","type":"workflowNode","position":{"x":1398.5,"y":59.5},"data":{"nodeType":"rest-api-invoke","id":"rest-api-invoke__2"},"measured":{"width":320,"height":110},"selected":false,"dragging":false},{"id":"data-mapper__3","type":"workflowNode","position":{"x":1938.5,"y":-206.5},"data":{"nodeType":"data-mapper","id":"data-mapper__3"},"measured":{"width":320,"height":110},"selected":false,"dragging":false},{"id":"filter__4","type":"workflowNode","position":{"x":1928.5,"y":307.5},"data":{"nodeType":"filter","id":"filter__4"},"measured":{"width":320,"height":110},"selected":false,"dragging":false},{"id":"data-writer__5","type":"workflowNode","position":{"x":2548.5,"y":-227.0003498950315},"data":{"nodeType":"data-writer","id":"data-writer__5"},"measured":{"width":320,"height":142},"selected":false,"dragging":false},{"id":"data-writer__6","type":"workflowNode","position":{"x":2735.500699790063,"y":291.2484254723583},"data":{"nodeType":"data-writer","id":"data-writer__6"},"measured":{"width":320,"height":142},"selected":true,"dragging":false},{"id":"data-mapper__7","type":"workflowNode","position":{"x":2320.501399580126,"y":293.9989503149055},"data":{"nodeType":"data-mapper","id":"data-mapper__7"},"measured":{"width":320,"height":142},"selected":false,"dragging":false}],"nodesData":{"data-reader__0":{"name":"failed_payments_reader","type":"SparkIcebergReader","table_name":"failedpayments","iceberg_catalog":"dremio","region":"us-west-1","credentials":{"accessKey":"S3_ACCESS_KEY","secretKey":"S3_SECRET_KEY"},"options":{},"typeLabel":"Spark","isDefault":false},"filter__1":{"name":"failed_payments_filter","type":"Filter","datasource":"failed_payments_reader","condition":"retry_attempt_count < 3 AND gateway = \\'CCS\\' AND (retry_status = \\'new\\' OR retry_status = \\'failed\\') and payment_id = \\'pi_3RvDQqP0JqbrujP90uuhk13h\\'","isDefault":false},"rest-api-invoke__2":{"name":"payment_api","type":"RESTInvoke","datasource":"failed_payments_filter","url":"https://cod.uat.arconecloud.com/fw-notification/outbound-message-config/publish","method":"POST","headers":{"Content-Type":{"value":"application/json","secret":null},"api-key":{"value":null,"secret":"API_KEY"}},"bodyTemplate":"{\n \"msgData\": {\n \"canDistribute\": true,\n \"payment\": [\n {\n \"accountId3\": \"{{account_id}}\",\n \"currency2\": \"{{currency}}\",\n \"paymentAmount2\": \"{{amount}}\"\n }\n ],\n \"paymentDate\": \"{{payment_date[:10]}}\",\n \"paymentTender\": [\n {\n \"currency3\": \"{{currency}}\",\n \"name\": \"NAME\",\n \"payorAccountId2\": \"{{account_id}}\",\n \"tenderAmount\": \"{{amount}}\",\n \"tenderType2\": \"CASH\"\n }\n ],\n \"payorAccountId\": \"{{account_id}}\",\n \"shouldAllPaymentsFreeze\": true,\n \"tndrSrceCd\": \"CASH-01\",\n \"user\": \"\"\n },\n \"outMsgConfigCode\": \"EXP_CREATE_PAYMENT\"\n}","isDefault":false},"data-mapper__3":{"name":"failed_payments_update_mapper","type":"DataMapping","fromDataReader":"payment_api","includeExistingColumns":false,"toSchema":[{"fieldName":"id","valueExpression":"id"},{"fieldName":"retry_attempt_count","valueExpression":"retry_attempt_count + 1"},{"fieldName":"batch_processed","valueExpression":"TRUE"},{"fieldName":"batch_job_id","valueExpression":"{job_id}"},{"fieldName":"retry_status","valueExpression":"CASE WHEN response_body.success = \\'true\\' THEN \\'success\\' WHEN retry_attempt_count >= 3 THEN \\'permanently_failed\\' ELSE \\'failed\\' END"},{"fieldName":"account_id","valueExpression":"account_id"},{"fieldName":"failure_reason","valueExpression":"failure_reason"},{"fieldName":"failure_timestamp","valueExpression":"failure_timestamp"},{"fieldName":"amount","valueExpression":"CAST(amount AS DECIMAL(10,2))"},{"fieldName":"created_at","valueExpression":"created_at"},{"fieldName":"payment_id","valueExpression":"payment_id"},{"fieldName":"source_of_failure","valueExpression":"source_of_failure"},{"fieldName":"currency","valueExpression":"currency"},{"fieldName":"gateway","valueExpression":"gateway"},{"fieldName":"payment_method","valueExpression":"payment_method"},{"fieldName":"payment_date","valueExpression":"payment_date"},{"fieldName":"last_retry_timestamp","valueExpression":"date_format(current_timestamp(), \\\"yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\\")"},{"fieldName":"updated_at","valueExpression":"date_format(current_timestamp(), \\\"yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\\")"}],"additionalData":{"isGlossaryAssisted":false,"selectedSourceGlossary":"","selectedTargetGlossary":"","manualMappings":[{"id":"mapping-1756456867713","newFieldName":"id","mappingType":"sourceColumn","value":"id"},{"id":"mapping-1756456889320","newFieldName":"retry_attempt_count","mappingType":"expression","value":"retry_attempt_count + 1"},{"id":"mapping-1756456904719","newFieldName":"batch_processed","mappingType":"expression","value":"TRUE"},{"id":"mapping-1756456928950","newFieldName":"batch_job_id","mappingType":"expression","value":"{job_id}"},{"id":"mapping-1756456989777","newFieldName":"retry_status","mappingType":"expression","value":"CASE WHEN response_body.success = 'true' THEN 'success' WHEN retry_attempt_count >= 3 THEN 'permanently_failed' ELSE 'failed' END"},{"id":"mapping-1756457003714","newFieldName":"account_id","mappingType":"sourceColumn","value":"account_id"},{"id":"mapping-1756457017554","newFieldName":"failure_reason","mappingType":"sourceColumn","value":"failure_reason"},{"id":"mapping-1756457036311","newFieldName":"failure_timestamp","mappingType":"sourceColumn","value":"failure_timestamp"},{"id":"mapping-1756457056991","newFieldName":"amount","mappingType":"expression","value":"CAST(amount AS DECIMAL(10,2))"},{"id":"mapping-1756457071099","newFieldName":"created_at","mappingType":"sourceColumn","value":"created_at"},{"id":"mapping-1756457084487","newFieldName":"payment_id","mappingType":"sourceColumn","value":"payment_id"},{"id":"mapping-1756457099675","newFieldName":"source_of_failure","mappingType":"sourceColumn","value":"source_of_failure"},{"id":"mapping-1756457113076","newFieldName":"currency","mappingType":"sourceColumn","value":"currency"},{"id":"mapping-1756457122532","newFieldName":"gateway","mappingType":"sourceColumn","value":"gateway"},{"id":"mapping-1756457133792","newFieldName":"payment_method","mappingType":"sourceColumn","value":"payment_method"},{"id":"mapping-1756457145773","newFieldName":"payment_date","mappingType":"sourceColumn","value":"payment_date"},{"id":"mapping-1756457758929","newFieldName":"last_retry_timestamp","mappingType":"expression","value":"date_format(current_timestamp(), \\\"yyyy-MM-dd'T'HH:mm:ss.SSS\\\")"},{"id":"mapping-1756457763548","newFieldName":"updated_at","mappingType":"expression","value":"date_format(current_timestamp(), \\\"yyyy-MM-dd'T'HH:mm:ss.SSS\\\")"}],"confirmedMapping":[],"mappingBatchKeysAfterConfirm":[],"after":"","totalSourceTerms":0},"isDefault":false},"filter__4":{"name":"success_payment_filter","type":"Filter","datasource":"payment_api","condition":"response_body.success=\\'true\\'","isDefault":false}}},"blocks":[{"name":"failed_payments_reader","type":"SparkIcebergReader","options":{},"table_name":"failedpayments","iceberg_catalog":"dremio","region":"us-west-1","credentials":{"accessKey":"S3_ACCESS_KEY","secretKey":"S3_SECRET_KEY"},"typeLabel":"Spark","isDefault":false},{"name":"failed_payments_filter","type":"Filter","options":{},"datasource":"failed_payments_reader","condition":"retry_attempt_count < 3 AND gateway = \\'CCS\\' AND (retry_status = \\'new\\' OR retry_status = \\'failed\\') and payment_id = \\'pi_3RvDQqP0JqbrujP90uuhk13h\\'","isDefault":false},{"name":"payment_api","type":"RESTInvoke","options":{},"datasource":"failed_payments_filter","url":"https://cod.uat.arconecloud.com/fw-notification/outbound-message-config/publish","method":"POST","headers":{"Content-Type":{"value":"application/json","secret":null},"api-key":{"value":null,"secret":"API_KEY"}},"bodyTemplate":"{\n \"msgData\": {\n \"canDistribute\": true,\n \"payment\": [\n {\n \"accountId3\": \"{{account_id}}\",\n \"currency2\": \"{{currency}}\",\n \"paymentAmount2\": \"{{amount}}\"\n }\n ],\n \"paymentDate\": \"{{payment_date[:10]}}\",\n \"paymentTender\": [\n {\n \"currency3\": \"{{currency}}\",\n \"name\": \"NAME\",\n \"payorAccountId2\": \"{{account_id}}\",\n \"tenderAmount\": \"{{amount}}\",\n \"tenderType2\": \"CASH\"\n }\n ],\n \"payorAccountId\": \"{{account_id}}\",\n \"shouldAllPaymentsFreeze\": true,\n \"tndrSrceCd\": \"CASH-01\",\n \"user\": \"\"\n },\n \"outMsgConfigCode\": \"EXP_CREATE_PAYMENT\"\n}","isDefault":false},{"name":"failed_payments_update_mapper","type":"DataMapping","options":{},"fromDataReader":"payment_api","includeExistingColumns":false,"toSchema":[{"fieldName":"id","valueExpression":"id"},{"fieldName":"retry_attempt_count","valueExpression":"retry_attempt_count + 1"},{"fieldName":"batch_processed","valueExpression":"TRUE"},{"fieldName":"batch_job_id","valueExpression":"{job_id}"},{"fieldName":"retry_status","valueExpression":"CASE WHEN response_body.success = \\'true\\' THEN \\'success\\' WHEN retry_attempt_count >= 3 THEN \\'permanently_failed\\' ELSE \\'failed\\' END"},{"fieldName":"account_id","valueExpression":"account_id"},{"fieldName":"failure_reason","valueExpression":"failure_reason"},{"fieldName":"failure_timestamp","valueExpression":"failure_timestamp"},{"fieldName":"amount","valueExpression":"CAST(amount AS DECIMAL(10,2))"},{"fieldName":"created_at","valueExpression":"created_at"},{"fieldName":"payment_id","valueExpression":"payment_id"},{"fieldName":"source_of_failure","valueExpression":"source_of_failure"},{"fieldName":"currency","valueExpression":"currency"},{"fieldName":"gateway","valueExpression":"gateway"},{"fieldName":"payment_method","valueExpression":"payment_method"},{"fieldName":"payment_date","valueExpression":"payment_date"},{"fieldName":"last_retry_timestamp","valueExpression":"date_format(current_timestamp(), \\\"yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\\")"},{"fieldName":"updated_at","valueExpression":"date_format(current_timestamp(), \\\"yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\\")"}],"additionalData":{"isGlossaryAssisted":false,"selectedSourceGlossary":"","selectedTargetGlossary":"","manualMappings":[{"id":"mapping-1756456867713","newFieldName":"id","mappingType":"sourceColumn","value":"id"},{"id":"mapping-1756456889320","newFieldName":"retry_attempt_count","mappingType":"expression","value":"retry_attempt_count + 1"},{"id":"mapping-1756456904719","newFieldName":"batch_processed","mappingType":"expression","value":"TRUE"},{"id":"mapping-1756456928950","newFieldName":"batch_job_id","mappingType":"expression","value":"{job_id}"},{"id":"mapping-1756456989777","newFieldName":"retry_status","mappingType":"expression","value":"CASE WHEN response_body.success = 'true' THEN 'success' WHEN retry_attempt_count >= 3 THEN 'permanently_failed' ELSE 'failed' END"},{"id":"mapping-1756457003714","newFieldName":"account_id","mappingType":"sourceColumn","value":"account_id"},{"id":"mapping-1756457017554","newFieldName":"failure_reason","mappingType":"sourceColumn","value":"failure_reason"},{"id":"mapping-1756457036311","newFieldName":"failure_timestamp","mappingType":"sourceColumn","value":"failure_timestamp"},{"id":"mapping-1756457056991","newFieldName":"amount","mappingType":"expression","value":"CAST(amount AS DECIMAL(10,2))"},{"id":"mapping-1756457071099","newFieldName":"created_at","mappingType":"sourceColumn","value":"created_at"},{"id":"mapping-1756457084487","newFieldName":"payment_id","mappingType":"sourceColumn","value":"payment_id"},{"id":"mapping-1756457099675","newFieldName":"source_of_failure","mappingType":"sourceColumn","value":"source_of_failure"},{"id":"mapping-1756457113076","newFieldName":"currency","mappingType":"sourceColumn","value":"currency"},{"id":"mapping-1756457122532","newFieldName":"gateway","mappingType":"sourceColumn","value":"gateway"},{"id":"mapping-1756457133792","newFieldName":"payment_method","mappingType":"sourceColumn","value":"payment_method"},{"id":"mapping-1756457145773","newFieldName":"payment_date","mappingType":"sourceColumn","value":"payment_date"},{"id":"mapping-1756457758929","newFieldName":"last_retry_timestamp","mappingType":"expression","value":"date_format(current_timestamp(), \\\"yyyy-MM-dd'T'HH:mm:ss.SSS\\\")"},{"id":"mapping-1756457763548","newFieldName":"updated_at","mappingType":"expression","value":"date_format(current_timestamp(), \\\"yyyy-MM-dd'T'HH:mm:ss.SSS\\\")"}],"confirmedMapping":[],"mappingBatchKeysAfterConfirm":[],"after":"","totalSourceTerms":0},"isDefault":false},{"name":"success_payment_filter","type":"Filter","options":{},"datasource":"payment_api","condition":"response_body.success=\\'true\\'","isDefault":false}]}} \ No newline at end of file +{"version":"v1alpha","kind":"VisualBuilder","metadata":{"name":"failed_payments_retry","description":"Failed payments retry workflow.","runtime":"spark"},"spec":{"ui":{"edges":[{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"data-reader__0","target":"filter__1","id":"xy-edge__data-reader__0-filter__1"},{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"filter__1","target":"rest-api-invoke__2","id":"xy-edge__filter__1-rest-api-invoke__2"},{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"rest-api-invoke__2","target":"data-mapper__3","id":"xy-edge__rest-api-invoke__2-data-mapper__3"},{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"rest-api-invoke__2","target":"filter__4","id":"xy-edge__rest-api-invoke__2-filter__4"},{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"filter__4","target":"data-mapper__7","id":"xy-edge__filter__4-data-mapper__7"},{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"data-mapper__3","target":"data-writer__5","id":"xy-edge__data-mapper__3-data-writer__5"},{"style":{"stroke":"var(--color-primary-lighter)","strokeWidth":1},"source":"data-mapper__7","target":"data-writer__6","id":"xy-edge__data-mapper__7-data-writer__6"}],"nodes":[{"id":"data-reader__0","type":"workflowNode","position":{"x":562,"y":64},"data":{"nodeType":"data-reader","id":"data-reader__0"},"measured":{"width":320,"height":110},"selected":false,"dragging":false},{"id":"filter__1","type":"workflowNode","position":{"x":992.5,"y":63.5},"data":{"nodeType":"filter","id":"filter__1"},"measured":{"width":320,"height":110},"selected":false,"dragging":false},{"id":"rest-api-invoke__2","type":"workflowNode","position":{"x":1398.5,"y":59.5},"data":{"nodeType":"rest-api-invoke","id":"rest-api-invoke__2"},"measured":{"width":320,"height":110},"selected":false,"dragging":false},{"id":"data-mapper__3","type":"workflowNode","position":{"x":1938.5,"y":-206.5},"data":{"nodeType":"data-mapper","id":"data-mapper__3"},"measured":{"width":320,"height":110},"selected":false,"dragging":false},{"id":"filter__4","type":"workflowNode","position":{"x":1928.5,"y":307.5},"data":{"nodeType":"filter","id":"filter__4"},"measured":{"width":320,"height":110},"selected":false,"dragging":false},{"id":"data-writer__5","type":"workflowNode","position":{"x":2548.5,"y":-227.0003498950315},"data":{"nodeType":"data-writer","id":"data-writer__5"},"measured":{"width":320,"height":142},"selected":false,"dragging":false},{"id":"data-writer__6","type":"workflowNode","position":{"x":2737.2505248425477,"y":270.25052484254724},"data":{"nodeType":"data-writer","id":"data-writer__6"},"measured":{"width":320,"height":142},"selected":false,"dragging":false},{"id":"data-mapper__7","type":"workflowNode","position":{"x":2322.25122463261,"y":300.99825052484255},"data":{"nodeType":"data-mapper","id":"data-mapper__7"},"measured":{"width":320,"height":110},"selected":true,"dragging":false}],"nodesData":{"data-reader__0":{"name":"failed_payments_reader","type":"SparkIcebergReader","table_name":"failedpayments","iceberg_catalog":"dremio","region":"us-west-1","credentials":{"accessKey":"S3_ACCESS_KEY","secretKey":"S3_SECRET_KEY"},"options":{},"typeLabel":"Spark","isDefault":false},"filter__1":{"name":"failed_payments_filter","type":"Filter","datasource":"failed_payments_reader","condition":"retry_attempt_count < 3 AND gateway = \\'CCS\\' AND (retry_status = \\'new\\' OR retry_status = \\'failed\\') and payment_id = \\'pi_3RvDQqP0JqbrujP90uuhk13h\\'","isDefault":false},"rest-api-invoke__2":{"name":"payment_api","type":"RESTInvoke","datasource":"failed_payments_filter","url":"https://cod.uat.arconecloud.com/fw-notification/outbound-message-config/publish","method":"POST","headers":{"Content-Type":{"value":"application/json","secret":null},"api-key":{"value":null,"secret":"API_KEY"}},"bodyTemplate":"{\n \"msgData\": {\n \"canDistribute\": true,\n \"payment\": [\n {\n \"accountId3\": \"{{account_id}}\",\n \"currency2\": \"{{currency}}\",\n \"paymentAmount2\": \"{{amount}}\"\n }\n ],\n \"paymentDate\": \"{{payment_date[:10]}}\",\n \"paymentTender\": [\n {\n \"currency3\": \"{{currency}}\",\n \"name\": \"NAME\",\n \"payorAccountId2\": \"{{account_id}}\",\n \"tenderAmount\": \"{{amount}}\",\n \"tenderType2\": \"CASH\"\n }\n ],\n \"payorAccountId\": \"{{account_id}}\",\n \"shouldAllPaymentsFreeze\": true,\n \"tndrSrceCd\": \"CASH-01\",\n \"user\": \"\"\n },\n \"outMsgConfigCode\": \"EXP_CREATE_PAYMENT\"\n}","isDefault":false},"data-mapper__3":{"name":"failed_payments_update_mapper","type":"DataMapping","fromDataReader":"payment_api","includeExistingColumns":false,"toSchema":[{"fieldName":"id","valueExpression":"id"},{"fieldName":"retry_attempt_count","valueExpression":"retry_attempt_count + 1"},{"fieldName":"batch_processed","valueExpression":"TRUE"},{"fieldName":"batch_job_id","valueExpression":"{job_id}"},{"fieldName":"retry_status","valueExpression":"CASE WHEN response_body.success = \\'true\\' THEN \\'success\\' WHEN retry_attempt_count >= 3 THEN \\'permanently_failed\\' ELSE \\'failed\\' END"},{"fieldName":"account_id","valueExpression":"account_id"},{"fieldName":"failure_reason","valueExpression":"failure_reason"},{"fieldName":"failure_timestamp","valueExpression":"failure_timestamp"},{"fieldName":"amount","valueExpression":"CAST(amount AS DECIMAL(10,2))"},{"fieldName":"created_at","valueExpression":"created_at"},{"fieldName":"payment_id","valueExpression":"payment_id"},{"fieldName":"source_of_failure","valueExpression":"source_of_failure"},{"fieldName":"currency","valueExpression":"currency"},{"fieldName":"gateway","valueExpression":"gateway"},{"fieldName":"payment_method","valueExpression":"payment_method"},{"fieldName":"payment_date","valueExpression":"payment_date"},{"fieldName":"last_retry_timestamp","valueExpression":"date_format(current_timestamp(), \\\"yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\\")"},{"fieldName":"updated_at","valueExpression":"date_format(current_timestamp(), \\\"yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\\")"}],"additionalData":{"isGlossaryAssisted":false,"selectedSourceGlossary":"","selectedTargetGlossary":"","manualMappings":[{"id":"mapping-1756456867713","newFieldName":"id","mappingType":"sourceColumn","value":"id"},{"id":"mapping-1756456889320","newFieldName":"retry_attempt_count","mappingType":"expression","value":"retry_attempt_count + 1"},{"id":"mapping-1756456904719","newFieldName":"batch_processed","mappingType":"expression","value":"TRUE"},{"id":"mapping-1756456928950","newFieldName":"batch_job_id","mappingType":"expression","value":"{job_id}"},{"id":"mapping-1756456989777","newFieldName":"retry_status","mappingType":"expression","value":"CASE WHEN response_body.success = 'true' THEN 'success' WHEN retry_attempt_count >= 3 THEN 'permanently_failed' ELSE 'failed' END"},{"id":"mapping-1756457003714","newFieldName":"account_id","mappingType":"sourceColumn","value":"account_id"},{"id":"mapping-1756457017554","newFieldName":"failure_reason","mappingType":"sourceColumn","value":"failure_reason"},{"id":"mapping-1756457036311","newFieldName":"failure_timestamp","mappingType":"sourceColumn","value":"failure_timestamp"},{"id":"mapping-1756457056991","newFieldName":"amount","mappingType":"expression","value":"CAST(amount AS DECIMAL(10,2))"},{"id":"mapping-1756457071099","newFieldName":"created_at","mappingType":"sourceColumn","value":"created_at"},{"id":"mapping-1756457084487","newFieldName":"payment_id","mappingType":"sourceColumn","value":"payment_id"},{"id":"mapping-1756457099675","newFieldName":"source_of_failure","mappingType":"sourceColumn","value":"source_of_failure"},{"id":"mapping-1756457113076","newFieldName":"currency","mappingType":"sourceColumn","value":"currency"},{"id":"mapping-1756457122532","newFieldName":"gateway","mappingType":"sourceColumn","value":"gateway"},{"id":"mapping-1756457133792","newFieldName":"payment_method","mappingType":"sourceColumn","value":"payment_method"},{"id":"mapping-1756457145773","newFieldName":"payment_date","mappingType":"sourceColumn","value":"payment_date"},{"id":"mapping-1756457758929","newFieldName":"last_retry_timestamp","mappingType":"expression","value":"date_format(current_timestamp(), \\\"yyyy-MM-dd'T'HH:mm:ss.SSS\\\")"},{"id":"mapping-1756457763548","newFieldName":"updated_at","mappingType":"expression","value":"date_format(current_timestamp(), \\\"yyyy-MM-dd'T'HH:mm:ss.SSS\\\")"}],"confirmedMapping":[],"mappingBatchKeysAfterConfirm":[],"after":"","totalSourceTerms":0},"isDefault":false},"filter__4":{"name":"success_payment_filter","type":"Filter","datasource":"payment_api","condition":"response_body.success=\\'true\\'","isDefault":false},"data-mapper__7":{"name":"success_payments_mapper","type":"DataMapping","fromDataReader":"success_payment_filter","includeExistingColumns":false,"toSchema":[{"fieldName":"id","valueExpression":"uuid()"},{"fieldName":"account_id","valueExpression":"account_id"},{"fieldName":"currency","valueExpression":"currency"},{"fieldName":"payment_id","valueExpression":"payment_id"},{"fieldName":"gateway","valueExpression":"gateway"},{"fieldName":"payment_method","valueExpression":"payment_method"},{"fieldName":"payment_date","valueExpression":"payment_date"},{"fieldName":"created_at","valueExpression":"date_format(current_timestamp(), \\\"yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\\")"},{"fieldName":"updated_at","valueExpression":"date_format(current_timestamp(), \\\"yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\\")"},{"fieldName":"amount","valueExpression":"CAST(amount AS DECIMAL(10,2))"}],"additionalData":{"isGlossaryAssisted":false,"selectedSourceGlossary":"","selectedTargetGlossary":"","manualMappings":[{"id":"mapping-1756457870596","newFieldName":"id","mappingType":"expression","value":"uuid()"},{"id":"mapping-1756457890475","newFieldName":"account_id","mappingType":"sourceColumn","value":"account_id"},{"id":"mapping-1756457899135","newFieldName":"currency","mappingType":"sourceColumn","value":"currency"},{"id":"mapping-1756457910151","newFieldName":"payment_id","mappingType":"sourceColumn","value":"payment_id"},{"id":"mapping-1756457921605","newFieldName":"gateway","mappingType":"sourceColumn","value":"gateway"},{"id":"mapping-1756457934131","newFieldName":"payment_method","mappingType":"sourceColumn","value":"payment_method"},{"id":"mapping-1756457946139","newFieldName":"payment_date","mappingType":"sourceColumn","value":"payment_date"},{"id":"mapping-1756457976501","newFieldName":"created_at","mappingType":"expression","value":"date_format(current_timestamp(), \\\"yyyy-MM-dd'T'HH:mm:ss.SSS\\\")"},{"id":"mapping-1756458001426","newFieldName":"updated_at","mappingType":"expression","value":"date_format(current_timestamp(), \\\"yyyy-MM-dd'T'HH:mm:ss.SSS\\\")"},{"id":"mapping-1756458013249","newFieldName":"amount","mappingType":"expression","value":"CAST(amount AS DECIMAL(10,2))"}],"confirmedMapping":[],"mappingBatchKeysAfterConfirm":[],"after":"","totalSourceTerms":0},"isDefault":false}}},"blocks":[{"name":"failed_payments_reader","type":"SparkIcebergReader","options":{},"table_name":"failedpayments","iceberg_catalog":"dremio","region":"us-west-1","credentials":{"accessKey":"S3_ACCESS_KEY","secretKey":"S3_SECRET_KEY"},"typeLabel":"Spark","isDefault":false},{"name":"failed_payments_filter","type":"Filter","options":{},"datasource":"failed_payments_reader","condition":"retry_attempt_count < 3 AND gateway = \\'CCS\\' AND (retry_status = \\'new\\' OR retry_status = \\'failed\\') and payment_id = \\'pi_3RvDQqP0JqbrujP90uuhk13h\\'","isDefault":false},{"name":"payment_api","type":"RESTInvoke","options":{},"datasource":"failed_payments_filter","url":"https://cod.uat.arconecloud.com/fw-notification/outbound-message-config/publish","method":"POST","headers":{"Content-Type":{"value":"application/json","secret":null},"api-key":{"value":null,"secret":"API_KEY"}},"bodyTemplate":"{\n \"msgData\": {\n \"canDistribute\": true,\n \"payment\": [\n {\n \"accountId3\": \"{{account_id}}\",\n \"currency2\": \"{{currency}}\",\n \"paymentAmount2\": \"{{amount}}\"\n }\n ],\n \"paymentDate\": \"{{payment_date[:10]}}\",\n \"paymentTender\": [\n {\n \"currency3\": \"{{currency}}\",\n \"name\": \"NAME\",\n \"payorAccountId2\": \"{{account_id}}\",\n \"tenderAmount\": \"{{amount}}\",\n \"tenderType2\": \"CASH\"\n }\n ],\n \"payorAccountId\": \"{{account_id}}\",\n \"shouldAllPaymentsFreeze\": true,\n \"tndrSrceCd\": \"CASH-01\",\n \"user\": \"\"\n },\n \"outMsgConfigCode\": \"EXP_CREATE_PAYMENT\"\n}","isDefault":false},{"name":"failed_payments_update_mapper","type":"DataMapping","options":{},"fromDataReader":"payment_api","includeExistingColumns":false,"toSchema":[{"fieldName":"id","valueExpression":"id"},{"fieldName":"retry_attempt_count","valueExpression":"retry_attempt_count + 1"},{"fieldName":"batch_processed","valueExpression":"TRUE"},{"fieldName":"batch_job_id","valueExpression":"{job_id}"},{"fieldName":"retry_status","valueExpression":"CASE WHEN response_body.success = \\'true\\' THEN \\'success\\' WHEN retry_attempt_count >= 3 THEN \\'permanently_failed\\' ELSE \\'failed\\' END"},{"fieldName":"account_id","valueExpression":"account_id"},{"fieldName":"failure_reason","valueExpression":"failure_reason"},{"fieldName":"failure_timestamp","valueExpression":"failure_timestamp"},{"fieldName":"amount","valueExpression":"CAST(amount AS DECIMAL(10,2))"},{"fieldName":"created_at","valueExpression":"created_at"},{"fieldName":"payment_id","valueExpression":"payment_id"},{"fieldName":"source_of_failure","valueExpression":"source_of_failure"},{"fieldName":"currency","valueExpression":"currency"},{"fieldName":"gateway","valueExpression":"gateway"},{"fieldName":"payment_method","valueExpression":"payment_method"},{"fieldName":"payment_date","valueExpression":"payment_date"},{"fieldName":"last_retry_timestamp","valueExpression":"date_format(current_timestamp(), \\\"yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\\")"},{"fieldName":"updated_at","valueExpression":"date_format(current_timestamp(), \\\"yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\\")"}],"additionalData":{"isGlossaryAssisted":false,"selectedSourceGlossary":"","selectedTargetGlossary":"","manualMappings":[{"id":"mapping-1756456867713","newFieldName":"id","mappingType":"sourceColumn","value":"id"},{"id":"mapping-1756456889320","newFieldName":"retry_attempt_count","mappingType":"expression","value":"retry_attempt_count + 1"},{"id":"mapping-1756456904719","newFieldName":"batch_processed","mappingType":"expression","value":"TRUE"},{"id":"mapping-1756456928950","newFieldName":"batch_job_id","mappingType":"expression","value":"{job_id}"},{"id":"mapping-1756456989777","newFieldName":"retry_status","mappingType":"expression","value":"CASE WHEN response_body.success = 'true' THEN 'success' WHEN retry_attempt_count >= 3 THEN 'permanently_failed' ELSE 'failed' END"},{"id":"mapping-1756457003714","newFieldName":"account_id","mappingType":"sourceColumn","value":"account_id"},{"id":"mapping-1756457017554","newFieldName":"failure_reason","mappingType":"sourceColumn","value":"failure_reason"},{"id":"mapping-1756457036311","newFieldName":"failure_timestamp","mappingType":"sourceColumn","value":"failure_timestamp"},{"id":"mapping-1756457056991","newFieldName":"amount","mappingType":"expression","value":"CAST(amount AS DECIMAL(10,2))"},{"id":"mapping-1756457071099","newFieldName":"created_at","mappingType":"sourceColumn","value":"created_at"},{"id":"mapping-1756457084487","newFieldName":"payment_id","mappingType":"sourceColumn","value":"payment_id"},{"id":"mapping-1756457099675","newFieldName":"source_of_failure","mappingType":"sourceColumn","value":"source_of_failure"},{"id":"mapping-1756457113076","newFieldName":"currency","mappingType":"sourceColumn","value":"currency"},{"id":"mapping-1756457122532","newFieldName":"gateway","mappingType":"sourceColumn","value":"gateway"},{"id":"mapping-1756457133792","newFieldName":"payment_method","mappingType":"sourceColumn","value":"payment_method"},{"id":"mapping-1756457145773","newFieldName":"payment_date","mappingType":"sourceColumn","value":"payment_date"},{"id":"mapping-1756457758929","newFieldName":"last_retry_timestamp","mappingType":"expression","value":"date_format(current_timestamp(), \\\"yyyy-MM-dd'T'HH:mm:ss.SSS\\\")"},{"id":"mapping-1756457763548","newFieldName":"updated_at","mappingType":"expression","value":"date_format(current_timestamp(), \\\"yyyy-MM-dd'T'HH:mm:ss.SSS\\\")"}],"confirmedMapping":[],"mappingBatchKeysAfterConfirm":[],"after":"","totalSourceTerms":0},"isDefault":false},{"name":"success_payment_filter","type":"Filter","options":{},"datasource":"payment_api","condition":"response_body.success=\\'true\\'","isDefault":false},{"name":"success_payments_mapper","type":"DataMapping","options":{},"fromDataReader":"success_payment_filter","includeExistingColumns":false,"toSchema":[{"fieldName":"id","valueExpression":"uuid()"},{"fieldName":"account_id","valueExpression":"account_id"},{"fieldName":"currency","valueExpression":"currency"},{"fieldName":"payment_id","valueExpression":"payment_id"},{"fieldName":"gateway","valueExpression":"gateway"},{"fieldName":"payment_method","valueExpression":"payment_method"},{"fieldName":"payment_date","valueExpression":"payment_date"},{"fieldName":"created_at","valueExpression":"date_format(current_timestamp(), \\\"yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\\")"},{"fieldName":"updated_at","valueExpression":"date_format(current_timestamp(), \\\"yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\\")"},{"fieldName":"amount","valueExpression":"CAST(amount AS DECIMAL(10,2))"}],"additionalData":{"isGlossaryAssisted":false,"selectedSourceGlossary":"","selectedTargetGlossary":"","manualMappings":[{"id":"mapping-1756457870596","newFieldName":"id","mappingType":"expression","value":"uuid()"},{"id":"mapping-1756457890475","newFieldName":"account_id","mappingType":"sourceColumn","value":"account_id"},{"id":"mapping-1756457899135","newFieldName":"currency","mappingType":"sourceColumn","value":"currency"},{"id":"mapping-1756457910151","newFieldName":"payment_id","mappingType":"sourceColumn","value":"payment_id"},{"id":"mapping-1756457921605","newFieldName":"gateway","mappingType":"sourceColumn","value":"gateway"},{"id":"mapping-1756457934131","newFieldName":"payment_method","mappingType":"sourceColumn","value":"payment_method"},{"id":"mapping-1756457946139","newFieldName":"payment_date","mappingType":"sourceColumn","value":"payment_date"},{"id":"mapping-1756457976501","newFieldName":"created_at","mappingType":"expression","value":"date_format(current_timestamp(), \\\"yyyy-MM-dd'T'HH:mm:ss.SSS\\\")"},{"id":"mapping-1756458001426","newFieldName":"updated_at","mappingType":"expression","value":"date_format(current_timestamp(), \\\"yyyy-MM-dd'T'HH:mm:ss.SSS\\\")"},{"id":"mapping-1756458013249","newFieldName":"amount","mappingType":"expression","value":"CAST(amount AS DECIMAL(10,2))"}],"confirmedMapping":[],"mappingBatchKeysAfterConfirm":[],"after":"","totalSourceTerms":0},"isDefault":false}]}} \ No newline at end of file