From 315d1e43ec3d91e3765f8ac1283d411fc4e58a29 Mon Sep 17 00:00:00 2001 From: ialbert Date: Wed, 19 Jul 2023 14:32:05 +0300 Subject: [PATCH] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-424=20issue?= =?UTF-8?q?rId=20=D0=B4=D0=BB=D1=8F=20instrument=5Ftype=20=3D=20RATE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MoneyMarketSecurityRequestAdapter.java | 10 +++++-- .../service/processor/ListingMMProcessor.java | 4 +-- .../service/cud/GatewaySecurityService.java | 15 ++++++----- .../MoneyMarketSecurityNewGatewayRequest.java | 26 +++++++++++++++++++ 4 files changed, 44 insertions(+), 11 deletions(-) create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/MoneyMarketSecurityNewGatewayRequest.java diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/MoneyMarketSecurityRequestAdapter.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/MoneyMarketSecurityRequestAdapter.java index cd516d00a..3ed16ff17 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/MoneyMarketSecurityRequestAdapter.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/MoneyMarketSecurityRequestAdapter.java @@ -2,13 +2,16 @@ package ru.spcex.clearing.gatewayapi.service.adapter; import org.springframework.stereotype.Service; import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.mkr.ExchangeInstrument; +import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityNewGatewayRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityNewRequest; import ru.spcex.platform.enumeration.InstrumentType; @Service public class MoneyMarketSecurityRequestAdapter { - public MoneyMarketSecurityNewRequest toMoneyMarketSecurityNewRequest(ExchangeInstrument exchangeInstrument) { + public MoneyMarketSecurityNewGatewayRequest toMoneyMarketSecurityNewRequest(ExchangeInstrument exchangeInstrument) { + MoneyMarketSecurityNewGatewayRequest req = new MoneyMarketSecurityNewGatewayRequest(); + MoneyMarketSecurityNewRequest moneyMarketSecurityNewRequest = new MoneyMarketSecurityNewRequest(); String code = exchangeInstrument.getCode(); moneyMarketSecurityNewRequest.setSecuritySymbol(code.substring(0, Math.min(7, code.length()))); @@ -19,6 +22,9 @@ public class MoneyMarketSecurityRequestAdapter { moneyMarketSecurityNewRequest.setLotSize(exchangeInstrument.getLot()); moneyMarketSecurityNewRequest.setTermType(exchangeInstrument.getBankDepositAgreementType()); moneyMarketSecurityNewRequest.setWorkflowStatus(exchangeInstrument.getWorkflowStatus()); - return moneyMarketSecurityNewRequest; + + req.setMoneyMarketSecurityNewRequest(moneyMarketSecurityNewRequest); + req.setUuid(exchangeInstrument.getInitiatorId() != null ? exchangeInstrument.getInitiatorId().toString() : null); + return req; } } 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 db61f6561..7b004ad73 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 @@ -8,7 +8,7 @@ import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.mkr.Excha import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.mkr.MMListingsRequest; import ru.spcex.clearing.gatewayapi.service.adapter.MoneyMarketSecurityRequestAdapter; import ru.spcex.clearing.platform.messaging.domain.Consts; -import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityNewRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityNewGatewayRequest; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.platform.utils.log.ExceptionUtils; @@ -38,7 +38,7 @@ public class ListingMMProcessor { log.warn("Incorrect code : {}, skip record", exchangeInstrument.getCode()); continue; } - MoneyMarketSecurityNewRequest moneyMarketSecurityNewRequest = moneyMarketSecurityRequestAdapter + MoneyMarketSecurityNewGatewayRequest moneyMarketSecurityNewRequest = moneyMarketSecurityRequestAdapter .toMoneyMarketSecurityNewRequest(exchangeInstrument); kafkaSender.sendRequestToQueue(Consts.DESTINATION_GATEWAY_MONEY_MARKET_SECURITY, moneyMarketSecurityNewRequest); } catch (Throwable e) { diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/GatewaySecurityService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/GatewaySecurityService.java index 8b1dde416..e6a8ec5a3 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/GatewaySecurityService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/GatewaySecurityService.java @@ -115,15 +115,14 @@ public class GatewaySecurityService extends QueueConsumer implements Initializin callback(EquitySecurityGatewayRequest.class) .setFunction(this::newSecurities) .forDestination(Consts.DESTINATION_SECURITY_EQTY_GATEWAY, callbacks::put); - callback(MoneyMarketSecurityNewRequest.class) + callback(MoneyMarketSecurityNewGatewayRequest.class) .setFunction(this::newMoneyMarketSecurity) .forDestination(Consts.DESTINATION_GATEWAY_MONEY_MARKET_SECURITY, callbacks::put); imdgProvider.waitAvailable(); init(); } - Long findCompany(SecurityFondGatewayRequest byReq) { - String byUuid = byReq.getUuid(); + Long findCompany(String byUuid) { if (byUuid == null) { log.warn("Request without company UUID"); return null; @@ -172,7 +171,7 @@ public class GatewaySecurityService extends QueueConsumer implements Initializin private RequestInfoUpdate newSecurities(BaseRequest baseRequest) { log.debug("SecurityFondGatewayRequest id={} received", baseRequest.getId()); SecurityFondGatewayRequest req = (SecurityFondGatewayRequest) baseRequest.getRequestPayload(); - Long companyId = findCompany(req);//issuerId findCompany + Long companyId = findCompany(req.getUuid());//issuerId findCompany if (companyId == null) { log.debug("CompanyId (issuer) not found."); } else { @@ -429,11 +428,13 @@ public class GatewaySecurityService extends QueueConsumer implements Initializin // --- DESTINATION_GATEWAY_MONEY_MARKET_SECURITY --- - private RequestInfoUpdate newMoneyMarketSecurity(BaseRequest baseRequest) { + private RequestInfoUpdate newMoneyMarketSecurity(BaseRequest baseRequest) { log.debug("MoneyMarketSecurityNewRequest id={} received", baseRequest.getId()); - MoneyMarketSecurityNewRequest req = baseRequest.getRequestPayload(); - + MoneyMarketSecurityNewGatewayRequest gatewayReq = baseRequest.getRequestPayload(); + Long companyId = findCompany(gatewayReq.getUuid()); synchronized (moneyMarketSecurityService) { + MoneyMarketSecurityNewRequest req = gatewayReq.getMoneyMarketSecurityNewRequest(); + req.setIssuerId(companyId); MoneyMarketSecurity existMMS = findSecurityBySecuritySymbol(moneyMarketSecurityImdg, req.getSecuritySymbol()); try { if (existMMS == null) { diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/MoneyMarketSecurityNewGatewayRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/MoneyMarketSecurityNewGatewayRequest.java new file mode 100644 index 000000000..9cd87d11f --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/MoneyMarketSecurityNewGatewayRequest.java @@ -0,0 +1,26 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.securitites; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class MoneyMarketSecurityNewGatewayRequest { + @JsonProperty + private String uuid; + @JsonProperty + private MoneyMarketSecurityNewRequest moneyMarketSecurityNewRequest; + + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + public MoneyMarketSecurityNewRequest getMoneyMarketSecurityNewRequest() { + return moneyMarketSecurityNewRequest; + } + + public void setMoneyMarketSecurityNewRequest(MoneyMarketSecurityNewRequest moneyMarketSecurityNewRequest) { + this.moneyMarketSecurityNewRequest = moneyMarketSecurityNewRequest; + } +}