fixing additional data issues

This commit is contained in:
2025-10-23 14:03:00 +02:00
parent 1188b5361d
commit bf783f8486

View File

@@ -2,14 +2,21 @@ package zw.qantra.tm.domain.workflows.handlers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import zw.qantra.tm.domain.enums.RequestType;
import zw.qantra.tm.domain.enums.Status; import zw.qantra.tm.domain.enums.Status;
import zw.qantra.tm.domain.models.AdditionalData;
import zw.qantra.tm.domain.models.Transaction; import zw.qantra.tm.domain.models.Transaction;
import zw.qantra.tm.domain.models.TransactionEvent; import zw.qantra.tm.domain.models.TransactionEvent;
import zw.qantra.tm.domain.services.AdditionalDataService;
import zw.qantra.tm.domain.services.TransactionEventService; import zw.qantra.tm.domain.services.TransactionEventService;
import zw.qantra.tm.domain.services.TransactionService; import zw.qantra.tm.domain.services.TransactionService;
import zw.qantra.tm.domain.services.factories.PaymentProcessorFactory; import zw.qantra.tm.domain.services.factories.PaymentProcessorFactory;
import zw.qantra.tm.domain.services.processors.TransactionProcessorInterface; import zw.qantra.tm.domain.services.processors.TransactionProcessorInterface;
import zw.qantra.tm.domain.services.processors.handlers.*; import zw.qantra.tm.domain.services.processors.handlers.*;
import zw.qantra.tm.utils.Utils;
import java.util.LinkedHashMap;
import java.util.List;
@Service("confirm") @Service("confirm")
@RequiredArgsConstructor @RequiredArgsConstructor
@@ -17,6 +24,7 @@ public class ConfirmHandler implements HandlerInterface {
private final TransactionEventService transactionEventService; private final TransactionEventService transactionEventService;
private final PaymentProcessorFactory paymentProcessorFactory; private final PaymentProcessorFactory paymentProcessorFactory;
private final TransactionService transactionService; private final TransactionService transactionService;
private final AdditionalDataService additionalDataService;
@Override @Override
public Object process(Transaction transaction) throws Exception { public Object process(Transaction transaction) throws Exception {
@@ -52,6 +60,15 @@ public class ConfirmHandler implements HandlerInterface {
transactionEvent.setMessage(transaction.getErrorMessage()); transactionEvent.setMessage(transaction.getErrorMessage());
transactionEventService.save(transactionEvent); transactionEventService.save(transactionEvent);
return transactionService.save(transaction); transaction = transactionService.save(transaction);
// fetch additionalData
AdditionalData data = additionalDataService.getAdditionalDataRepository()
.findByTransactionIdAndRequestType(
transaction.getId().toString(), RequestType.CONFIRM).orElse(null);
if(data != null) {
transaction.setAdditionalData(Utils.fromJson(data.getJsonString(), List.class));
}
return transaction;
} }
} }