etreschenkov 2025-06-04 11:57:48 +03:00
parent 68bf6a78d0
commit 6bff686528

View file

@ -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.DigitalCertificateSecurityGatewayRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.DigitalCertificateSecurityNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.DigitalCertificateSecurityNewRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.securitites.DigitalCertificateSecurityUpdateRequest; 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.InstrumentType;
import ru.spcex.platform.enumeration.NominalTypeCode; import ru.spcex.platform.enumeration.NominalTypeCode;
@ -44,8 +45,10 @@ public class DigitalCertificateRequestBuilder {
Optional<InstrumentType> clrInstrumentType = resolveInstrumentType(gatewayRequest.getInstrumentType()); Optional<InstrumentType> clrInstrumentType = resolveInstrumentType(gatewayRequest.getInstrumentType());
Optional<NominalTypeCode> clrNominalTypeCode = resolveTypeCode(gatewayRequest.getTypeCode()); Optional<NominalTypeCode> clrNominalTypeCode = resolveTypeCode(gatewayRequest.getTypeCode());
Optional<Allowed> nominalIndexationSign = resolveNominalIndexFact(gatewayRequest.getNominalIndexFact());
clrInstrumentType.ifPresent(instrumentType -> newRequest.setInstrumentType(instrumentType.getKey())); clrInstrumentType.ifPresent(instrumentType -> newRequest.setInstrumentType(instrumentType.getKey()));
clrNominalTypeCode.ifPresent(nominalTypeCode -> newRequest.setNominalTypeCode(nominalTypeCode.getKey())); clrNominalTypeCode.ifPresent(nominalTypeCode -> newRequest.setNominalTypeCode(nominalTypeCode.getKey()));
nominalIndexationSign.ifPresent(indexFact -> newRequest.setNominalIndexationSign(indexFact.getKey()));
newRequest.setBaseCode(gatewayRequest.getDepoDcId()); newRequest.setBaseCode(gatewayRequest.getDepoDcId());
newRequest.setIssuerId(companyId); newRequest.setIssuerId(companyId);
@ -61,7 +64,6 @@ public class DigitalCertificateRequestBuilder {
newRequest.setDepository(gatewayRequest.getSettlementDepository()); newRequest.setDepository(gatewayRequest.getSettlementDepository());
newRequest.setNominalIndexationDate(gatewayRequest.getNominalIndexDate()); newRequest.setNominalIndexationDate(gatewayRequest.getNominalIndexDate());
newRequest.setNominalValue(gatewayRequest.getNominalDenominationUnitForDate()); newRequest.setNominalValue(gatewayRequest.getNominalDenominationUnitForDate());
newRequest.setNominalIndexationSign(gatewayRequest.getNominalIndexFact());
return newRequest; return newRequest;
} }
@ -71,8 +73,10 @@ public class DigitalCertificateRequestBuilder {
updateRequest.setId(digitalSecurityId); updateRequest.setId(digitalSecurityId);
Optional<InstrumentType> clrInstrumentType = resolveInstrumentType(gatewayRequest.getInstrumentType()); Optional<InstrumentType> clrInstrumentType = resolveInstrumentType(gatewayRequest.getInstrumentType());
Optional<NominalTypeCode> clrNominalTypeCode = resolveTypeCode(gatewayRequest.getTypeCode()); Optional<NominalTypeCode> clrNominalTypeCode = resolveTypeCode(gatewayRequest.getTypeCode());
Optional<Allowed> nominalIndexationSign = resolveNominalIndexFact(gatewayRequest.getNominalIndexFact());
clrInstrumentType.ifPresent(instrumentType -> updateRequest.setInstrumentType(instrumentType.getKey())); clrInstrumentType.ifPresent(instrumentType -> updateRequest.setInstrumentType(instrumentType.getKey()));
clrNominalTypeCode.ifPresent(nominalTypeCode -> updateRequest.setNominalTypeCode(nominalTypeCode.getKey())); clrNominalTypeCode.ifPresent(nominalTypeCode -> updateRequest.setNominalTypeCode(nominalTypeCode.getKey()));
nominalIndexationSign.ifPresent(indexFact -> updateRequest.setNominalIndexationSign(indexFact.getKey()));
updateRequest.setBaseCode(gatewayRequest.getDepoDcId()); updateRequest.setBaseCode(gatewayRequest.getDepoDcId());
updateRequest.setIssuerId(companyId); updateRequest.setIssuerId(companyId);
@ -88,7 +92,6 @@ public class DigitalCertificateRequestBuilder {
updateRequest.setDepository(gatewayRequest.getSettlementDepository()); updateRequest.setDepository(gatewayRequest.getSettlementDepository());
updateRequest.setNominalIndexationDate(gatewayRequest.getNominalIndexDate()); updateRequest.setNominalIndexationDate(gatewayRequest.getNominalIndexDate());
updateRequest.setNominalValue(gatewayRequest.getNominalDenominationUnitForDate()); updateRequest.setNominalValue(gatewayRequest.getNominalDenominationUnitForDate());
updateRequest.setNominalIndexationSign(gatewayRequest.getNominalIndexFact());
return updateRequest; return updateRequest;
} }
@ -115,4 +118,18 @@ public class DigitalCertificateRequestBuilder {
} }
return Optional.of(clrNominalTypeCode); return Optional.of(clrNominalTypeCode);
} }
private Optional<Allowed> 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);
}
} }