From 287d7504a93417d646c6c8e499b1fe0ef3941986 Mon Sep 17 00:00:00 2001 From: MagzhanArtykov Date: Mon, 4 Mar 2024 18:36:49 +0600 Subject: [PATCH] MODDCB-90 Accept existing circulation request ID --- .../controller/EcsTlrTransactionApiController.java | 10 +++++----- .../dcb/service/EcsTlrTransactionsService.java | 2 +- .../impl/EcsTlrTransactionsServiceImpl.java | 14 +++++++++----- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/folio/dcb/controller/EcsTlrTransactionApiController.java b/src/main/java/org/folio/dcb/controller/EcsTlrTransactionApiController.java index edad69f2..f6b42a40 100644 --- a/src/main/java/org/folio/dcb/controller/EcsTlrTransactionApiController.java +++ b/src/main/java/org/folio/dcb/controller/EcsTlrTransactionApiController.java @@ -21,15 +21,15 @@ public class EcsTlrTransactionApiController implements EcsRequestTransactionsApi @Override public ResponseEntity createEcsRequestTransactions( - String ecsTlrTransactionId, DcbTransaction dcbTransaction) { + String ecsTlrTransactionsId, DcbTransaction dcbTransaction) { log.info("createEcsTlrTransaction:: creating ECS TLR Transaction {} with id {} ", - dcbTransaction, ecsTlrTransactionId); + dcbTransaction, ecsTlrTransactionsId); TransactionStatusResponse transactionStatusResponse; try { - transactionStatusResponse = ecsTlrTransactionsService.createEcsTlrTransaction( - ecsTlrTransactionId, dcbTransaction); + transactionStatusResponse = ecsTlrTransactionsService.createEcsTlrTransactions( + ecsTlrTransactionsId, dcbTransaction); } catch (Exception ex) { - transactionAuditService.logErrorIfTransactionAuditNotExists(ecsTlrTransactionId, + transactionAuditService.logErrorIfTransactionAuditNotExists(ecsTlrTransactionsId, dcbTransaction, ex.getMessage()); throw ex; } diff --git a/src/main/java/org/folio/dcb/service/EcsTlrTransactionsService.java b/src/main/java/org/folio/dcb/service/EcsTlrTransactionsService.java index 6faabbea..3ec8059a 100644 --- a/src/main/java/org/folio/dcb/service/EcsTlrTransactionsService.java +++ b/src/main/java/org/folio/dcb/service/EcsTlrTransactionsService.java @@ -4,5 +4,5 @@ import org.folio.dcb.domain.dto.TransactionStatusResponse; public interface EcsTlrTransactionsService { - TransactionStatusResponse createEcsTlrTransaction(String dcbTransactionId, DcbTransaction dcbTransaction); + TransactionStatusResponse createEcsTlrTransactions(String ecsTlrTransactionsId, DcbTransaction dcbTransaction); } diff --git a/src/main/java/org/folio/dcb/service/impl/EcsTlrTransactionsServiceImpl.java b/src/main/java/org/folio/dcb/service/impl/EcsTlrTransactionsServiceImpl.java index c92d4869..930b2593 100644 --- a/src/main/java/org/folio/dcb/service/impl/EcsTlrTransactionsServiceImpl.java +++ b/src/main/java/org/folio/dcb/service/impl/EcsTlrTransactionsServiceImpl.java @@ -26,12 +26,15 @@ public class EcsTlrTransactionsServiceImpl implements EcsTlrTransactionsService private final CirculationRequestService circulationRequestService; @Override - public TransactionStatusResponse createEcsTlrTransaction(String dcbTransactionId, DcbTransaction dcbTransaction) { + public TransactionStatusResponse createEcsTlrTransactions(String ecsTlrTransactionsId, + DcbTransaction dcbTransaction) { log.info("createCirculationRequest:: creating new transaction request for role {} ", dcbTransaction.getRole()); - checkEcsTransactionExistsAndThrow(dcbTransactionId); - CirculationRequest circulationRequest = circulationRequestService.fetchRequestById(dcbTransaction.getRequestId()); - if(circulationRequest != null && RequestStatus.isRequestOpen(RequestStatus.from(circulationRequest.getStatus()))) { + checkEcsTransactionExistsAndThrow(ecsTlrTransactionsId); + CirculationRequest circulationRequest = circulationRequestService.fetchRequestById( + dcbTransaction.getRequestId()); + if(circulationRequest != null && RequestStatus.isRequestOpen( + RequestStatus.from(circulationRequest.getStatus()))) { if (dcbTransaction.getRole() == LENDER) { dcbTransaction.setItem(DcbItem.builder() .id(String.valueOf(circulationRequest.getItemId())) @@ -44,7 +47,8 @@ public TransactionStatusResponse createEcsTlrTransaction(String dcbTransactionId dcbTransaction.setPickup(DcbPickup.builder() .servicePointId(String.valueOf(circulationRequest.getPickupServicePointId())) .build()); - baseLibraryService.saveDcbTransaction(dcbTransactionId, dcbTransaction, dcbTransaction.getRequestId()); + baseLibraryService.saveDcbTransaction(ecsTlrTransactionsId, dcbTransaction, + dcbTransaction.getRequestId()); } else { throw new IllegalArgumentException("Unimplemented role: " + dcbTransaction.getRole()); }