From 6bff686528395a06a9a036db3a5387ded708025e Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 4 Jun 2025 11:57:48 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-849 --- .../DigitalCertificateRequestBuilder.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/builder/DigitalCertificateRequestBuilder.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/builder/DigitalCertificateRequestBuilder.java index 066766c16..b1f328385 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/builder/DigitalCertificateRequestBuilder.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/builder/DigitalCertificateRequestBuilder.java @@ -8,6 +8,7 @@ import org.springframework.util.StringUtils; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.DigitalCertificateSecurityGatewayRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.DigitalCertificateSecurityNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.DigitalCertificateSecurityUpdateRequest; +import ru.spcex.platform.enumeration.Allowed; import ru.spcex.platform.enumeration.InstrumentType; import ru.spcex.platform.enumeration.NominalTypeCode; @@ -44,8 +45,10 @@ public class DigitalCertificateRequestBuilder { Optional clrInstrumentType = resolveInstrumentType(gatewayRequest.getInstrumentType()); Optional clrNominalTypeCode = resolveTypeCode(gatewayRequest.getTypeCode()); + Optional nominalIndexationSign = resolveNominalIndexFact(gatewayRequest.getNominalIndexFact()); clrInstrumentType.ifPresent(instrumentType -> newRequest.setInstrumentType(instrumentType.getKey())); clrNominalTypeCode.ifPresent(nominalTypeCode -> newRequest.setNominalTypeCode(nominalTypeCode.getKey())); + nominalIndexationSign.ifPresent(indexFact -> newRequest.setNominalIndexationSign(indexFact.getKey())); newRequest.setBaseCode(gatewayRequest.getDepoDcId()); newRequest.setIssuerId(companyId); @@ -61,7 +64,6 @@ public class DigitalCertificateRequestBuilder { newRequest.setDepository(gatewayRequest.getSettlementDepository()); newRequest.setNominalIndexationDate(gatewayRequest.getNominalIndexDate()); newRequest.setNominalValue(gatewayRequest.getNominalDenominationUnitForDate()); - newRequest.setNominalIndexationSign(gatewayRequest.getNominalIndexFact()); return newRequest; } @@ -71,8 +73,10 @@ public class DigitalCertificateRequestBuilder { updateRequest.setId(digitalSecurityId); Optional clrInstrumentType = resolveInstrumentType(gatewayRequest.getInstrumentType()); Optional clrNominalTypeCode = resolveTypeCode(gatewayRequest.getTypeCode()); + Optional nominalIndexationSign = resolveNominalIndexFact(gatewayRequest.getNominalIndexFact()); clrInstrumentType.ifPresent(instrumentType -> updateRequest.setInstrumentType(instrumentType.getKey())); clrNominalTypeCode.ifPresent(nominalTypeCode -> updateRequest.setNominalTypeCode(nominalTypeCode.getKey())); + nominalIndexationSign.ifPresent(indexFact -> updateRequest.setNominalIndexationSign(indexFact.getKey())); updateRequest.setBaseCode(gatewayRequest.getDepoDcId()); updateRequest.setIssuerId(companyId); @@ -88,7 +92,6 @@ public class DigitalCertificateRequestBuilder { updateRequest.setDepository(gatewayRequest.getSettlementDepository()); updateRequest.setNominalIndexationDate(gatewayRequest.getNominalIndexDate()); updateRequest.setNominalValue(gatewayRequest.getNominalDenominationUnitForDate()); - updateRequest.setNominalIndexationSign(gatewayRequest.getNominalIndexFact()); return updateRequest; } @@ -115,4 +118,18 @@ public class DigitalCertificateRequestBuilder { } return Optional.of(clrNominalTypeCode); } + + private Optional resolveNominalIndexFact(final String nominalIndexFact) { + Allowed allowed = null; + if (StringUtils.hasLength(nominalIndexFact)) { + allowed = + nominalIndexFact.equals("Y") ? Allowed.ALLOWED : + nominalIndexFact.equals("N") ? Allowed.DENIED : null; + } + if (allowed == null) { + log.warn("Not defined nominalIndexFact={}", nominalIndexFact); + return Optional.empty(); + } + return Optional.of(allowed); + } }