From 8ea6d18e6793109d73eb362a03cc8b822e8a06f5 Mon Sep 17 00:00:00 2001 From: kristenhaerum Date: Mon, 16 Sep 2024 07:40:54 +0200 Subject: [PATCH] Add PENDING_COMPLETE status and refactor order status handling #deploy-organisasjon-bestilling-service Introduce the PENDING_COMPLETE status to track orders awaiting completion. Removed logging in OrganisasjonBestillingConsumer and refactored OrderServiceV2 to return appropriate statuses. Commented out unused methods in EregBatchStatusConsumer to reduce redundancy. --- .../consumer/EregBatchStatusConsumer.java | 44 +++++++++---------- .../service/v2/OrderServiceV2.java | 20 +++------ .../OrganisasjonBestillingConsumer.java | 3 -- .../dto/organisajonbestilling/v2/Status.java | 1 + .../organisajonbestilling/v2/StatusDTO.java | 1 + 5 files changed, 30 insertions(+), 39 deletions(-) diff --git a/apps/organisasjon-bestilling-service/src/main/java/no/nav/testnav/apps/organisasjonbestillingservice/consumer/EregBatchStatusConsumer.java b/apps/organisasjon-bestilling-service/src/main/java/no/nav/testnav/apps/organisasjonbestillingservice/consumer/EregBatchStatusConsumer.java index 689d95aebd1..b244a570a23 100644 --- a/apps/organisasjon-bestilling-service/src/main/java/no/nav/testnav/apps/organisasjonbestillingservice/consumer/EregBatchStatusConsumer.java +++ b/apps/organisasjon-bestilling-service/src/main/java/no/nav/testnav/apps/organisasjonbestillingservice/consumer/EregBatchStatusConsumer.java @@ -25,27 +25,27 @@ public EregBatchStatusConsumer( .baseUrl(serverProperties.getUrl()) .build(); } - - public Long getStatusKode(no.nav.testnav.apps.organisasjonbestillingservice.domain.v1.Order order) { - var accessToken = tokenExchange.exchange(serverProperties).block(); - var command = new GetEregBatchStatusCommand( - webClient, - order.getBatchId(), - accessToken.getTokenValue(), - order.getMiljo() - ); - return command.call(); - } - - public Long getStatusKode(Order order) { - var accessToken = tokenExchange.exchange(serverProperties).block(); - var command = new GetEregBatchStatusCommand( - webClient, - order.getBatchId(), - accessToken.getTokenValue(), - order.getMiljo() - ); - return command.call(); - } +// +// public Long getStatusKode(no.nav.testnav.apps.organisasjonbestillingservice.domain.v1.Order order) { +// var accessToken = tokenExchange.exchange(serverProperties).block(); +// var command = new GetEregBatchStatusCommand( +// webClient, +// order.getBatchId(), +// accessToken.getTokenValue(), +// order.getMiljo() +// ); +// return command.call(); +// } +// +// public Long getStatusKode(Order order) { +// var accessToken = tokenExchange.exchange(serverProperties).block(); +// var command = new GetEregBatchStatusCommand( +// webClient, +// order.getBatchId(), +// accessToken.getTokenValue(), +// order.getMiljo() +// ); +// return command.call(); +// } } diff --git a/apps/organisasjon-bestilling-service/src/main/java/no/nav/testnav/apps/organisasjonbestillingservice/service/v2/OrderServiceV2.java b/apps/organisasjon-bestilling-service/src/main/java/no/nav/testnav/apps/organisasjonbestillingservice/service/v2/OrderServiceV2.java index 65b9e3dafdf..c8bed7c8bdb 100644 --- a/apps/organisasjon-bestilling-service/src/main/java/no/nav/testnav/apps/organisasjonbestillingservice/service/v2/OrderServiceV2.java +++ b/apps/organisasjon-bestilling-service/src/main/java/no/nav/testnav/apps/organisasjonbestillingservice/service/v2/OrderServiceV2.java @@ -2,7 +2,6 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import no.nav.testnav.apps.organisasjonbestillingservice.consumer.EregBatchStatusConsumer; import no.nav.testnav.apps.organisasjonbestillingservice.consumer.JenkinsConsumer; import no.nav.testnav.apps.organisasjonbestillingservice.domain.v2.Order; import no.nav.testnav.apps.organisasjonbestillingservice.repository.v2.OrderRepositoryV2; @@ -11,7 +10,6 @@ import no.nav.testnav.apps.organisasjonbestillingservice.service.RetryService; import no.nav.testnav.libs.dto.organisajonbestilling.v2.Status; import org.springframework.stereotype.Service; -import org.springframework.web.reactive.function.client.WebClientResponseException; import java.util.List; import java.util.regex.Pattern; @@ -25,7 +23,6 @@ public class OrderServiceV2 { private final OrderRepositoryV2 repository; private final JenkinsConsumer jenkinsConsumer; private final RetryService retryService; - private final EregBatchStatusConsumer eregBatchStatusConsumer; public Order save(Order order) { OrderEntity saved = repository.save(order.toEntity()); @@ -57,13 +54,8 @@ public Status getStatus(Long id) { var order = entity.get(); if (order.getBatchId() != null) { - try { - return getStatusFromBatchId(new Order(order)); - } catch (WebClientResponseException.NotFound e) { - log.info("Fant ikke noen status for org: {}", id); - return null; - } + return Status.NOT_FOUND; } if (order.getBuildId() == null) { @@ -94,7 +86,7 @@ public Status getStatus(Long id) { return Status.RUNNING; } repository.save(order); - return getStatusFromBatchId(new Order(order)); + return Status.PENDING_COMPLETE; } public List find(String uuid) { @@ -113,10 +105,10 @@ public List findAll() { .toList(); } - private Status getStatusFromBatchId(Order order) { - var statusKode = eregBatchStatusConsumer.getStatusKode(order); - return Status.from(statusKode); - } +// private Status getStatusFromBatchId(Order order) { +// var statusKode = eregBatchStatusConsumer.getStatusKode(order); +// return Status.from(statusKode); +// } private Long findIDFromLog(String value) { log.info("Prøver å hente ut id fra log: {}.", value); diff --git a/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/consumer/OrganisasjonBestillingConsumer.java b/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/consumer/OrganisasjonBestillingConsumer.java index 004146a0b5c..46415af6d4e 100644 --- a/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/consumer/OrganisasjonBestillingConsumer.java +++ b/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/consumer/OrganisasjonBestillingConsumer.java @@ -1,6 +1,5 @@ package no.nav.organisasjonforvalter.consumer; -import lombok.extern.slf4j.Slf4j; import no.nav.organisasjonforvalter.config.Consumers; import no.nav.organisasjonforvalter.consumer.command.OrganisasjonBestillingIdsCommand; import no.nav.organisasjonforvalter.consumer.command.OrganisasjonBestillingStatusCommand; @@ -9,11 +8,9 @@ import no.nav.testnav.libs.securitycore.domain.ServerProperties; import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange; import org.springframework.stereotype.Service; - import org.springframework.web.reactive.function.client.WebClient; import reactor.core.publisher.Flux; -@Slf4j @Service public class OrganisasjonBestillingConsumer { diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/organisajonbestilling/v2/Status.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/organisajonbestilling/v2/Status.java index c22e2b03845..9b5ad2ae57f 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/organisajonbestilling/v2/Status.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/organisajonbestilling/v2/Status.java @@ -6,6 +6,7 @@ public enum Status { ADDING_TO_QUEUE, IN_QUEUE_WAITING_TO_START, RUNNING, + PENDING_COMPLETE, COMPLETED, ERROR, FAILED; diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/organisajonbestilling/v2/StatusDTO.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/organisajonbestilling/v2/StatusDTO.java index 53f2eab4b61..d786916e06e 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/organisajonbestilling/v2/StatusDTO.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/organisajonbestilling/v2/StatusDTO.java @@ -23,6 +23,7 @@ private static String getDescription(Status status) { case ERROR -> "Ukjent feil"; case FAILED -> "Ukjent kristisk feil"; case RUNNING -> "Bestillingen blir prosessert av EREG"; + case PENDING_COMPLETE -> "Venter på status av oppretting"; case COMPLETED -> "Bestilling er fullført"; case NOT_FOUND -> "Finner ikke bestilling. Loggene kan ha blitt slettet"; case ADDING_TO_QUEUE -> "Bestillingen venter på tildeling av plass i køen";