From 19297143feb69ab73992cd0cc312a413efdf58c3 Mon Sep 17 00:00:00 2001 From: kristenhaerum Date: Mon, 15 Jan 2024 09:26:29 +0100 Subject: [PATCH 1/2] =?UTF-8?q?Endret=20rekkef=C3=B8lge=20innsending=20#de?= =?UTF-8?q?ploy-test-dolly-backend?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PensjonforvalterClient.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/pensjonforvalter/PensjonforvalterClient.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/pensjonforvalter/PensjonforvalterClient.java index 6001b0a9caa..48978eae9aa 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/pensjonforvalter/PensjonforvalterClient.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/pensjonforvalter/PensjonforvalterClient.java @@ -98,8 +98,7 @@ public class PensjonforvalterClient implements ClientRegister { public static PensjonforvalterResponse mergePensjonforvalterResponses(List responser) { var status = new HashMap(); - responser.stream() - .forEach(respons -> respons.getStatus().stream() + responser.forEach(respons -> respons.getStatus() .forEach(detalj -> { if (detalj.getResponse().isResponse2xx()) { status.putIfAbsent(detalj.getMiljo(), detalj.getResponse()); @@ -164,13 +163,14 @@ public Flux gjenopprett(RsDollyUtvidetBestilling bestilling, Dolly lagreSamboer(dollyPerson.getIdent(), tilgjengeligeMiljoer) .map(response -> SAMBOER_REGISTER + decodeStatus(response, dollyPerson.getIdent())), + lagreInntekt(bestilling1.getPensjonforvalter(), dollyPerson.getIdent(), bestilteMiljoer.get(), + progress.getIsTpsSyncEnv()) + .map(response -> POPP_INNTEKTSREGISTER + decodeStatus(response, dollyPerson.getIdent())), + Flux.just(bestilling1) - .filter(bestilling2 -> nonNull(bestilling2.getPensjonforvalter())) - .map(RsDollyUtvidetBestilling::getPensjonforvalter) - .flatMap(pensjon -> Flux.merge( - lagreInntekt(pensjon, dollyPerson.getIdent(), bestilteMiljoer.get(), - progress.getIsTpsSyncEnv()) - .map(response -> POPP_INNTEKTSREGISTER + decodeStatus(response, dollyPerson.getIdent())), + .filter(bestilling2 -> nonNull(bestilling2.getPensjonforvalter())) + .map(RsDollyUtvidetBestilling::getPensjonforvalter) + .flatMap(pensjon -> Flux.merge( lagreTpForhold(pensjon, dollyPerson.getIdent(), bestilteMiljoer.get()) .map(response -> TP_FORHOLD + decodeStatus(response, dollyPerson.getIdent())), @@ -233,7 +233,7 @@ private Mono getNavEnhetNr(Flux persondata, String i .map(Norg2EnhetResponse::getEnhetNr) .collectList() .doOnNext(norgdata -> log.info("Mottatt norgdata: {}", norgdata)) - .map(norgdata -> !norgdata.isEmpty() ? norgdata.get(0) : "0315"); + .map(norgdata -> !norgdata.isEmpty() ? norgdata.getFirst() : "0315"); } private Flux lagreSamboer(String ident, Set tilgjengeligeMiljoer) { @@ -363,7 +363,7 @@ private Flux lagreAlderspensjon(PensjonData pensjonDat if (isTpsSyncEnv.contains(miljoe)) { - AlderspensjonRequest pensjonRequest = null; + AlderspensjonRequest pensjonRequest; var context = new MappingContext.Factory().getContext(); context.setProperty(IDENT, ident); context.setProperty(MILJOER, List.of(miljoe)); @@ -473,6 +473,10 @@ private void saveAPTransaksjonId(String ident, String miljoe, Long bestillingId, private Flux lagreInntekt(PensjonData pensjonData, String ident, Set miljoer, List isTpsSyncEnv) { + if (isNull(pensjonData)) { + return Flux.empty(); + } + return Flux.just(pensjonData) .filter(PensjonData::hasInntekt) .map(PensjonData::getInntekt) From e6267f2e86d7c337ed127ebac24e92780126a4ad Mon Sep 17 00:00:00 2001 From: kristenhaerum Date: Mon, 15 Jan 2024 15:17:53 +0100 Subject: [PATCH 2/2] =?UTF-8?q?Oppdatert=20pensjoninnsending,=20venter=20p?= =?UTF-8?q?=C3=A5=20svar=20#deploy-test-dolly-backend?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PensjonforvalterClient.java | 130 ++++++++++-------- 1 file changed, 73 insertions(+), 57 deletions(-) diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/pensjonforvalter/PensjonforvalterClient.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/pensjonforvalter/PensjonforvalterClient.java index 48978eae9aa..10902a9aa71 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/pensjonforvalter/PensjonforvalterClient.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/pensjonforvalter/PensjonforvalterClient.java @@ -50,6 +50,7 @@ import reactor.util.function.Tuple2; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Objects; @@ -99,13 +100,13 @@ public static PensjonforvalterResponse mergePensjonforvalterResponses(List(); responser.forEach(respons -> respons.getStatus() - .forEach(detalj -> { - if (detalj.getResponse().isResponse2xx()) { - status.putIfAbsent(detalj.getMiljo(), detalj.getResponse()); - } else { - status.put(detalj.getMiljo(), detalj.getResponse()); - } - })); + .forEach(detalj -> { + if (detalj.getResponse().isResponse2xx()) { + status.putIfAbsent(detalj.getMiljo(), detalj.getResponse()); + } else { + status.put(detalj.getMiljo(), detalj.getResponse()); + } + })); return PensjonforvalterResponse.builder() .status(status.entrySet().stream() @@ -129,8 +130,9 @@ public Flux gjenopprett(RsDollyUtvidetBestilling bestilling, Dolly .collect(Collectors.toSet())); var bestillingId = bestilling.getId(); + var statusResultat = new ArrayList(); - return Flux.from(pensjonforvalterConsumer.getMiljoer()) + return Flux.from(Flux.from(pensjonforvalterConsumer.getMiljoer()) .flatMap(tilgjengeligeMiljoer -> { bestilteMiljoer.set(bestilteMiljoer.get().stream() .filter(tilgjengeligeMiljoer::contains) @@ -156,50 +158,66 @@ public Flux gjenopprett(RsDollyUtvidetBestilling bestilling, Dolly log.warn("Persondata for {} gir tom response fra PDL", dollyPerson.getIdent()); } }) - .map(utvidetPersondata -> Flux.concat( - opprettPersoner(dollyPerson.getIdent(), tilgjengeligeMiljoer, utvidetPersondata.getT1()) - .map(response -> PENSJON_FORVALTER + decodeStatus(response, dollyPerson.getIdent())), - - lagreSamboer(dollyPerson.getIdent(), tilgjengeligeMiljoer) - .map(response -> SAMBOER_REGISTER + decodeStatus(response, dollyPerson.getIdent())), - - lagreInntekt(bestilling1.getPensjonforvalter(), dollyPerson.getIdent(), bestilteMiljoer.get(), - progress.getIsTpsSyncEnv()) - .map(response -> POPP_INNTEKTSREGISTER + decodeStatus(response, dollyPerson.getIdent())), - - Flux.just(bestilling1) - .filter(bestilling2 -> nonNull(bestilling2.getPensjonforvalter())) - .map(RsDollyUtvidetBestilling::getPensjonforvalter) - .flatMap(pensjon -> Flux.merge( - - lagreTpForhold(pensjon, dollyPerson.getIdent(), bestilteMiljoer.get()) - .map(response -> TP_FORHOLD + decodeStatus(response, dollyPerson.getIdent())), - - lagreAlderspensjon( - pensjon, - utvidetPersondata, - dollyPerson.getIdent(), - bestilteMiljoer.get(), - isOpprettEndre, - bestillingId, - progress.getIsTpsSyncEnv()) - .map(response -> PEN_ALDERSPENSJON + decodeStatus(response, dollyPerson.getIdent())), - - lagreUforetrygd( - pensjon, - utvidetPersondata.getT2(), - dollyPerson.getIdent(), - bestilteMiljoer.get(), - isOpprettEndre, - bestillingId, - progress.getIsTpsSyncEnv()) - .map(response -> PEN_UFORETRYGD + decodeStatus(response, dollyPerson.getIdent()))))))) - - .flatMap(Flux::from) - .filter(StringUtils::isNotBlank) - .collect(Collectors.joining(SEP)); + .flatMap(utvidetPersondata -> Flux.concat( + opprettPersoner(dollyPerson.getIdent(), tilgjengeligeMiljoer, utvidetPersondata.getT1()) + .map(response -> PENSJON_FORVALTER + decodeStatus(response, dollyPerson.getIdent())), + + lagreSamboer(dollyPerson.getIdent(), tilgjengeligeMiljoer) + .map(response -> SAMBOER_REGISTER + decodeStatus(response, dollyPerson.getIdent())) + ) + .collectList() + .doOnNext(statusResultat::addAll) + .map(status -> Flux.just(bestilling1) + .filter(bestilling2 -> nonNull(bestilling2.getPensjonforvalter())) + .map(RsDollyUtvidetBestilling::getPensjonforvalter) + .flatMap(pensjon -> Flux.merge( + + lagreInntekt(pensjon, + dollyPerson.getIdent(), bestilteMiljoer.get(), + progress.getIsTpsSyncEnv()) + .map(response -> POPP_INNTEKTSREGISTER + decodeStatus(response, dollyPerson.getIdent())), + + lagreTpForhold(pensjon, dollyPerson.getIdent(), bestilteMiljoer.get()) + .map(response -> TP_FORHOLD + decodeStatus(response, dollyPerson.getIdent())) + ) + .collectList() + .doOnNext(statusResultat::addAll) + + .map(status2 -> Flux.just(pensjon) + .flatMap(pensjon2 -> Flux.merge( + + lagreAlderspensjon( + pensjon2, + utvidetPersondata, + dollyPerson.getIdent(), + bestilteMiljoer.get(), + isOpprettEndre, + bestillingId, + progress.getIsTpsSyncEnv()) + .map(response -> PEN_ALDERSPENSJON + decodeStatus(response, dollyPerson.getIdent())), + + lagreUforetrygd( + pensjon2, + utvidetPersondata.getT2(), + dollyPerson.getIdent(), + bestilteMiljoer.get(), + isOpprettEndre, + bestillingId, + progress.getIsTpsSyncEnv()) + .map(response -> PEN_UFORETRYGD + decodeStatus(response, dollyPerson.getIdent())) + ) + .collectList() + .doOnNext(statusResultat::addAll) + )))))); }) - .map(status -> futurePersist(dollyPerson, progress, status)); + .flatMap(Flux::from) + .flatMap(Flux::from) + .flatMap(Flux::fromIterable) + .collectList() + .map(status -> statusResultat.stream() + .filter(StringUtils::isNotBlank) + .collect(Collectors.joining("$"))) + .map(status2 -> futurePersist(dollyPerson, progress, status2))); } private static Mono> getPdlPerson(Flux persondata) { @@ -455,7 +473,8 @@ private static Flux getStatus(String miljoe, Integer s } @SuppressWarnings("java:S3740") - private void saveAPTransaksjonId(String ident, String miljoe, Long bestillingId, SystemTyper type, AtomicReference vedtak) { + private void saveAPTransaksjonId(String ident, String miljoe, Long bestillingId, SystemTyper + type, AtomicReference vedtak) { log.info("Lagrer transaksjon for {} i {} ", ident, miljoe); @@ -473,10 +492,6 @@ private void saveAPTransaksjonId(String ident, String miljoe, Long bestillingId, private Flux lagreInntekt(PensjonData pensjonData, String ident, Set miljoer, List isTpsSyncEnv) { - if (isNull(pensjonData)) { - return Flux.empty(); - } - return Flux.just(pensjonData) .filter(PensjonData::hasInntekt) .map(PensjonData::getInntekt) @@ -496,7 +511,8 @@ private Flux lagreInntekt(PensjonData pensjonData, Str })); } - private Mono lagreTpForhold(PensjonData pensjonData, String ident, Set miljoer) { + private Mono lagreTpForhold(PensjonData pensjonData, String + ident, Set miljoer) { return Flux.just(pensjonData) .filter(PensjonData::hasTp)