updating mpgs related changes
This commit is contained in:
@@ -5,14 +5,12 @@ import lombok.RequiredArgsConstructor;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.jpa.domain.Specification;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -20,7 +18,6 @@ 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.Provider;
|
||||
import zw.qantra.tm.domain.models.Recipient;
|
||||
import zw.qantra.tm.domain.models.Transaction;
|
||||
import zw.qantra.tm.domain.repositories.TransactionRepository;
|
||||
import zw.qantra.tm.domain.services.factories.PaymentProcessorFactory;
|
||||
@@ -31,6 +28,8 @@ import zw.qantra.tm.domain.services.processors.handlers.FormattingHandler;
|
||||
import zw.qantra.tm.domain.services.processors.handlers.LogicPipeline;
|
||||
import zw.qantra.tm.domain.services.processors.handlers.RecipientsUpdateHandler;
|
||||
import zw.qantra.tm.domain.services.processors.handlers.ValidationHandler;
|
||||
import zw.qantra.tm.domain.services.processors.handlers.erp.PurchaseInvoiceHandler;
|
||||
import zw.qantra.tm.domain.services.processors.handlers.erp.SalesInvoiceHandler;
|
||||
import zw.qantra.tm.exceptions.ApiException;
|
||||
import zw.qantra.tm.utils.Utils;
|
||||
|
||||
@@ -76,6 +75,12 @@ public class TransactionService {
|
||||
transactionRepository.save(transaction);
|
||||
return transaction;
|
||||
}
|
||||
|
||||
// run post integration logic
|
||||
LogicPipeline<Transaction, Transaction> postTransactionLogic =
|
||||
new LogicPipeline<>(new PurchaseInvoiceHandler());
|
||||
transaction = postTransactionLogic.execute(transaction);
|
||||
|
||||
return transaction;
|
||||
}
|
||||
|
||||
@@ -85,6 +90,10 @@ public class TransactionService {
|
||||
}
|
||||
|
||||
Transaction transaction = transactionRepository.findById(uuid).get();
|
||||
// if the transaction is already successful, return it
|
||||
if(transaction.getStatus() == Status.SUCCESS){
|
||||
return transaction;
|
||||
}
|
||||
|
||||
// no persistence happens during polling unless the transaction status changes
|
||||
String label = getLabel(transaction);
|
||||
@@ -97,11 +106,12 @@ public class TransactionService {
|
||||
transactionProcessorInterface.poll(transaction);
|
||||
|
||||
// if tran was successful deep copy transaction & push integration to the aggregator
|
||||
Transaction transactionCopy = Utils.deepCopy(transaction, Transaction.class);
|
||||
transactionCopy.setType(RequestType.INTEGRATION);
|
||||
transactionCopy.setId(null);
|
||||
integration(transactionCopy);
|
||||
|
||||
if(transaction.getStatus() == Status.SUCCESS){
|
||||
Transaction transactionCopy = Utils.deepCopy(transaction, Transaction.class);
|
||||
transactionCopy.setType(RequestType.INTEGRATION);
|
||||
transactionCopy.setId(null);
|
||||
integration(transactionCopy);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
transaction.setStatus(Status.FAILED);
|
||||
@@ -143,7 +153,8 @@ public class TransactionService {
|
||||
|
||||
// run post transaction logic
|
||||
LogicPipeline<Transaction, Transaction> postTransactionLogic =
|
||||
new LogicPipeline<>(new RecipientsUpdateHandler(recipientService));
|
||||
new LogicPipeline<>(new RecipientsUpdateHandler(recipientService))
|
||||
.addHandler(new SalesInvoiceHandler());
|
||||
transaction = postTransactionLogic.execute(transaction);
|
||||
|
||||
return transaction;
|
||||
|
||||
Reference in New Issue
Block a user