From 6ebc2dc2c6405d0010912fe14f1aeda1f6b52638 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Thu, 7 Sep 2023 16:05:05 +0300 Subject: [PATCH] =?UTF-8?q?gateway-api=20http://jira.mfd.msk:8088/browse/C?= =?UTF-8?q?LS-464=20=D0=B8=D0=B3=D0=BD=D0=BE=D1=80=20=D0=B1=D0=B5=D0=B7=20?= =?UTF-8?q?=D0=BE=D0=B1=D1=8F=D0=B7=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D1=8B=D1=85=20=D0=BF=D0=BE=D0=BB=D0=B5=D0=B9,=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=B2=D0=BE=D0=B4=20=D0=B2=20log=20debug=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B8=D0=B3=D0=BD=D0=BE=D1=80=D0=B5=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gatewayapi/service/SecurityService.java | 8 +++++++- .../service/processor/ListingMMProcessor.java | 14 +++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/SecurityService.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/SecurityService.java index e87a4d18d..8aa3e60d1 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/SecurityService.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/SecurityService.java @@ -37,7 +37,13 @@ public class SecurityService { FondSecurity::getSecuritySymbol, FondSecurity::getWorkflowStatus); List securityList = request.getSecurities().stream() - .filter(r->r.getSecuritySymbol() != null && r.getWorkflowStatus() != null) + .filter(r -> { + boolean ok = r.getSecuritySymbol() != null && r.getWorkflowStatus() != null; + if (!ok) { + log.debug("FondSecurity {}, ignore 1002: required field 'SecuritySymbol' or 'WorkflowStatus' was empty", r.getId()); + } + return ok; + }) .sorted(comparatorBySecSymbolAndWorkflowStatus).toList(); for (FondSecurity security : securityList) { try { diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingMMProcessor.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingMMProcessor.java index 6d9817067..91647e82d 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingMMProcessor.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingMMProcessor.java @@ -15,6 +15,7 @@ import ru.spcex.platform.utils.log.ExceptionUtils; import java.util.List; import java.util.UUID; +import java.util.stream.Collectors; @Service public class ListingMMProcessor { @@ -32,9 +33,16 @@ public class ListingMMProcessor { public void process(MMListingsRequest request) { List exchangeInstrumentList = request.getExchangeInstrumentList(); CodeStatusComparator comparatorByCodeAndWorkflowStatus = CodeStatusComparator.create( - ExchangeInstrument::getCode, - ExchangeInstrument::getWorkflowStatus); - exchangeInstrumentList.sort(comparatorByCodeAndWorkflowStatus); + ExchangeInstrument::getCode, + ExchangeInstrument::getWorkflowStatus); + exchangeInstrumentList = exchangeInstrumentList.stream() + .filter(ei -> { + if (ei.getCode() == null) { + log.debug("ExchangeInstrument {}, ignore 1002: required field 'code' was empty", ei.getId()); + } + return ei.getCode() != null; + }) + .sorted(comparatorByCodeAndWorkflowStatus).collect(Collectors.toList()); for (ExchangeInstrument exchangeInstrument : exchangeInstrumentList) { try { UUID exchangeInstrumentId = exchangeInstrument.getId();