fixing additional data issues
This commit is contained in:
@@ -2,14 +2,21 @@ package zw.qantra.tm.domain.workflows.handlers;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import zw.qantra.tm.domain.enums.RequestType;
|
||||
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.TransactionEvent;
|
||||
import zw.qantra.tm.domain.services.AdditionalDataService;
|
||||
import zw.qantra.tm.domain.services.TransactionEventService;
|
||||
import zw.qantra.tm.domain.services.TransactionService;
|
||||
import zw.qantra.tm.domain.services.factories.PaymentProcessorFactory;
|
||||
import zw.qantra.tm.domain.services.processors.TransactionProcessorInterface;
|
||||
import zw.qantra.tm.domain.services.processors.handlers.*;
|
||||
import zw.qantra.tm.utils.Utils;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
@Service("confirm")
|
||||
@RequiredArgsConstructor
|
||||
@@ -17,6 +24,7 @@ public class ConfirmHandler implements HandlerInterface {
|
||||
private final TransactionEventService transactionEventService;
|
||||
private final PaymentProcessorFactory paymentProcessorFactory;
|
||||
private final TransactionService transactionService;
|
||||
private final AdditionalDataService additionalDataService;
|
||||
|
||||
@Override
|
||||
public Object process(Transaction transaction) throws Exception {
|
||||
@@ -52,6 +60,15 @@ public class ConfirmHandler implements HandlerInterface {
|
||||
transactionEvent.setMessage(transaction.getErrorMessage());
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user