From 2b4fbbecf5f129794226288a302c71d0d8641b92 Mon Sep 17 00:00:00 2001 From: Vusumuzi Khoza Date: Tue, 28 Oct 2025 19:20:10 +0200 Subject: [PATCH] improving save logic --- .../processors/integrations/StewardIntegrationProcessor.java | 3 +-- .../zw/qantra/tm/domain/workflows/TransactionWorkflow.java | 2 +- .../tm/domain/workflows/handlers/IntegrationHandler.java | 4 +++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/zw/qantra/tm/domain/services/processors/integrations/StewardIntegrationProcessor.java b/src/main/java/zw/qantra/tm/domain/services/processors/integrations/StewardIntegrationProcessor.java index ac686f3..41c41cf 100644 --- a/src/main/java/zw/qantra/tm/domain/services/processors/integrations/StewardIntegrationProcessor.java +++ b/src/main/java/zw/qantra/tm/domain/services/processors/integrations/StewardIntegrationProcessor.java @@ -78,7 +78,6 @@ public class StewardIntegrationProcessor implements TransactionProcessorInterfac transaction.setCreditRef((String) body.get("creditRef")); transaction.setAdditionalData(body.get("additionalData")); transaction.setErrorMessage(null); // clear any previous error message - transactionService.save(transaction); AdditionalData additionalData = new AdditionalData(); additionalData.setTransactionId(transaction.getId().toString()); @@ -92,7 +91,7 @@ public class StewardIntegrationProcessor implements TransactionProcessorInterfac transaction.setErrorMessage((String) body.get("errorMessage")); } - return transactionService.save(transaction); + return transaction; } diff --git a/src/main/java/zw/qantra/tm/domain/workflows/TransactionWorkflow.java b/src/main/java/zw/qantra/tm/domain/workflows/TransactionWorkflow.java index c9b4c1b..556b788 100644 --- a/src/main/java/zw/qantra/tm/domain/workflows/TransactionWorkflow.java +++ b/src/main/java/zw/qantra/tm/domain/workflows/TransactionWorkflow.java @@ -164,7 +164,7 @@ public class TransactionWorkflow extends WorkflowDefinition { execution.setVariable("body", Utils.toJson(transaction)); return NextAction.moveToState(SALES_INVOICE, "Polling complete"); } catch (Exception e) { - e.printStackTrace(); + log.info(e.getMessage()); return NextAction.moveToState(FAILED, e.getMessage()); } } diff --git a/src/main/java/zw/qantra/tm/domain/workflows/handlers/IntegrationHandler.java b/src/main/java/zw/qantra/tm/domain/workflows/handlers/IntegrationHandler.java index 1fb302a..89e2c86 100644 --- a/src/main/java/zw/qantra/tm/domain/workflows/handlers/IntegrationHandler.java +++ b/src/main/java/zw/qantra/tm/domain/workflows/handlers/IntegrationHandler.java @@ -14,6 +14,7 @@ import zw.qantra.tm.domain.services.factories.PaymentProcessorFactory; import zw.qantra.tm.domain.services.processors.TransactionProcessorInterface; import zw.qantra.tm.domain.services.processors.handlers.LogicPipeline; import zw.qantra.tm.exceptions.ApiException; +import zw.qantra.tm.utils.Utils; @Service("integration") @RequiredArgsConstructor @@ -69,7 +70,8 @@ public class IntegrationHandler implements HandlerInterface { transactionEvent.setMessage(transaction.getErrorMessage()); transactionEventService.save(transactionEvent); + Transaction t1 = Utils.deepCopy(transaction, Transaction.class); transactionService.save(transaction); - return transaction; + return t1; } }