From 3335bea6e417153877895d843e43b1359444b8c5 Mon Sep 17 00:00:00 2001 From: Antony_Hruschev Date: Thu, 30 Jan 2025 16:42:41 +0400 Subject: [PATCH] UXPROD-5090 rolled back test code --- .../controller/TransactionApiController.java | 22 ------------- .../service/impl/ServicePointServiceImpl.java | 33 +++++++++++++++++-- .../org/folio/dcb/utils/DCBConstants.java | 3 ++ .../swagger.api/dcb_transaction.yaml | 15 --------- 4 files changed, 34 insertions(+), 39 deletions(-) diff --git a/src/main/java/org/folio/dcb/controller/TransactionApiController.java b/src/main/java/org/folio/dcb/controller/TransactionApiController.java index 4f9aac00..a856a34b 100644 --- a/src/main/java/org/folio/dcb/controller/TransactionApiController.java +++ b/src/main/java/org/folio/dcb/controller/TransactionApiController.java @@ -4,12 +4,8 @@ import lombok.extern.log4j.Log4j2; import org.folio.dcb.domain.dto.DcbTransaction; import org.folio.dcb.domain.dto.DcbUpdateTransaction; -import org.folio.dcb.domain.dto.IntervalIdEnum; -import org.folio.dcb.domain.dto.ServicePointExpirationPeriod; import org.folio.dcb.domain.dto.TransactionStatus; import org.folio.dcb.domain.dto.TransactionStatusResponseCollection; -import org.folio.dcb.domain.entity.ServicePointExpirationPeriodEntity; -import org.folio.dcb.repository.ServicePointExpirationPeriodRepository; import org.folio.dcb.rest.resource.TransactionsApi; import org.folio.dcb.domain.dto.TransactionStatusResponse; import org.folio.dcb.service.TransactionAuditService; @@ -18,7 +14,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RestController; import java.time.OffsetDateTime; -import java.util.Objects; @RestController @Log4j2 @@ -27,23 +22,6 @@ public class TransactionApiController implements TransactionsApi { private final TransactionsService transactionsService; private final TransactionAuditService transactionAuditService; - private final ServicePointExpirationPeriodRepository servicePointExpirationPeriodRepository; - - @Override - public ResponseEntity getSpPeriod() { - ServicePointExpirationPeriodEntity sp = servicePointExpirationPeriodRepository.findAll() - .stream() - .findFirst() - .orElseGet(() -> ServicePointExpirationPeriodEntity.builder().build()); -String id = Objects.isNull(sp.getId()) ? "" : sp.getId().toString(); -Integer duration = Objects.isNull(sp.getDuration()) ? null : sp.getDuration(); -IntervalIdEnum interval = Objects.isNull(sp.getIntervalId()) ? null : sp.getIntervalId(); - return ResponseEntity.status(HttpStatus.OK).body(ServicePointExpirationPeriod.builder() - .id(id) - .duration(duration) - .interval(interval) - .build()); - } @Override public ResponseEntity getTransactionStatusById(String dcbTransactionId) { diff --git a/src/main/java/org/folio/dcb/service/impl/ServicePointServiceImpl.java b/src/main/java/org/folio/dcb/service/impl/ServicePointServiceImpl.java index 54b8b11b..58df9094 100644 --- a/src/main/java/org/folio/dcb/service/impl/ServicePointServiceImpl.java +++ b/src/main/java/org/folio/dcb/service/impl/ServicePointServiceImpl.java @@ -1,13 +1,18 @@ package org.folio.dcb.service.impl; +import static org.folio.dcb.utils.DCBConstants.DEFAULT_SERVICE_POINT_PERIOD_DURATION; +import static org.folio.dcb.utils.DCBConstants.DEFAULT_SERVICE_POINT_PERIOD_INTERVAL; + +import java.util.Objects; import java.util.UUID; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.folio.dcb.client.feign.InventoryServicePointClient; import org.folio.dcb.domain.dto.DcbPickup; import org.folio.dcb.domain.dto.HoldShelfExpiryPeriod; -import org.folio.dcb.domain.dto.IntervalIdEnum; import org.folio.dcb.domain.dto.ServicePointRequest; +import org.folio.dcb.domain.entity.ServicePointExpirationPeriodEntity; +import org.folio.dcb.repository.ServicePointExpirationPeriodRepository; import org.folio.dcb.service.CalendarService; import org.folio.dcb.service.ServicePointService; import org.folio.util.StringUtil; @@ -20,6 +25,7 @@ public class ServicePointServiceImpl implements ServicePointService { private final InventoryServicePointClient servicePointClient; private final CalendarService calendarService; + private final ServicePointExpirationPeriodRepository servicePointExpirationPeriodRepository; public static final String HOLD_SHELF_CLOSED_LIBRARY_DATE_MANAGEMENT = "Keep_the_current_due_date"; @Override @@ -54,11 +60,34 @@ private ServicePointRequest createServicePointRequest(String id, String name, St .code(code) .discoveryDisplayName(name) .pickupLocation(true) - .holdShelfExpiryPeriod(HoldShelfExpiryPeriod.builder().duration(3).intervalId(IntervalIdEnum.DAYS).build()) + .holdShelfExpiryPeriod(getShelfExpiryPeriod()) .holdShelfClosedLibraryDateManagement(HOLD_SHELF_CLOSED_LIBRARY_DATE_MANAGEMENT) .build(); } + private HoldShelfExpiryPeriod getShelfExpiryPeriod() { + ServicePointExpirationPeriodEntity period = servicePointExpirationPeriodRepository.findAll() + .iterator() + .next(); + return Objects.isNull(period) ? getDefaultPeriod() : getCustomPeriod(period); + } + + private HoldShelfExpiryPeriod getCustomPeriod(ServicePointExpirationPeriodEntity period) { + return HoldShelfExpiryPeriod.builder() + .duration(period.getDuration()) + .intervalId(period.getIntervalId()) + .build(); + } + + private HoldShelfExpiryPeriod getDefaultPeriod() { + return HoldShelfExpiryPeriod.builder() + .duration(DEFAULT_SERVICE_POINT_PERIOD_DURATION) + .intervalId(DEFAULT_SERVICE_POINT_PERIOD_INTERVAL) + .build(); + } + + + private String getServicePointName(String libraryCode, String servicePointName){ return String.format("DCB_%s_%s", libraryCode, servicePointName); } diff --git a/src/main/java/org/folio/dcb/utils/DCBConstants.java b/src/main/java/org/folio/dcb/utils/DCBConstants.java index acf871b1..4484e676 100644 --- a/src/main/java/org/folio/dcb/utils/DCBConstants.java +++ b/src/main/java/org/folio/dcb/utils/DCBConstants.java @@ -1,5 +1,6 @@ package org.folio.dcb.utils; +import org.folio.dcb.domain.dto.IntervalIdEnum; import org.folio.dcb.domain.dto.ItemStatus; import java.util.List; @@ -37,4 +38,6 @@ private DCBConstants() {} public static final String HOLDING_SOURCE = "folio"; public static final String DCB_CALENDAR_NAME = "DCB Calendar"; public static final List holdItemStatus = List.of(IN_TRANSIT, CHECKED_OUT, PAGED, AWAITING_PICKUP, AWAITING_DELIVERY); + public static final int DEFAULT_SERVICE_POINT_PERIOD_DURATION = 10; + public static final IntervalIdEnum DEFAULT_SERVICE_POINT_PERIOD_INTERVAL = IntervalIdEnum.DAYS; } diff --git a/src/main/resources/swagger.api/dcb_transaction.yaml b/src/main/resources/swagger.api/dcb_transaction.yaml index dc8b4072..a64bc437 100644 --- a/src/main/resources/swagger.api/dcb_transaction.yaml +++ b/src/main/resources/swagger.api/dcb_transaction.yaml @@ -4,15 +4,6 @@ info: description: mod DCB FOLIO API version: 1.0.0 paths: - /transactions/a: - get: - description: get SP period - operationId: getSpPeriod - tags: - - circulation - responses: - '200': - $ref: '#/components/responses/SPPeriod' /transactions/{dcbTransactionId}: description: DCB Circulation Transaction endpoint post: @@ -143,12 +134,6 @@ components: schema: $ref: "schemas/dcbUpdateTransaction.yaml#/DcbUpdateTransaction" responses: - SPPeriod: - description: SP Period - content: - application/json: - schema: - $ref: "schemas/servicePointExpirationPeriod.yaml#/ServicePointExpirationPeriod" TransactionStatus: description: Transaction Status object content: