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 1c08dfa1c..385608c6c 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 @@ -10,7 +10,9 @@ public class MoneyMarketSecurityRequestAdapter { public MoneyMarketSecurityNewRequest toMoneyMarketSecurityNewRequest(ExchangeInstrument exchangeInstrument) { MoneyMarketSecurityNewRequest moneyMarketSecurityNewRequest = new MoneyMarketSecurityNewRequest(); - moneyMarketSecurityNewRequest.setSecuritySymbol(exchangeInstrument.getCode().substring(0, 6)); + String code = exchangeInstrument.getCode(); + moneyMarketSecurityNewRequest.setSecuritySymbol(code.substring(0, 6)); + moneyMarketSecurityNewRequest.setConvention(code); moneyMarketSecurityNewRequest.setNominalCurrency(exchangeInstrument.getSettlementCurrencyLetterCode()); moneyMarketSecurityNewRequest.setInstrumentType(InstrumentType.RATE.getKey()); moneyMarketSecurityNewRequest.setShortName(exchangeInstrument.getName()); diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/SecurityRequestAdapter.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/SecurityRequestAdapter.java index 8e197ba44..4b924dcd5 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/SecurityRequestAdapter.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/SecurityRequestAdapter.java @@ -6,6 +6,7 @@ import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.Fond import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.IncomeListing; import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.fond.Nominal; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.*; +import ru.spcex.platform.utils.text.TextUtil; @Service public class SecurityRequestAdapter { @@ -46,7 +47,11 @@ public class SecurityRequestAdapter { public ListingNewRequest toIncomeListing(IncomeListing incomeListing) { ListingNewRequest listingNewRequest = new ListingNewRequest(); - listingNewRequest.setMarket(incomeListing.getCode()); + String code = incomeListing.getCode(); + listingNewRequest.setMarket(code); + if (!TextUtil.isEmpty(code)) { + listingNewRequest.setSymbolCode(code.substring(0, Math.min(6, code.length()))); + } listingNewRequest.setLotSize(incomeListing.getLotSize()); listingNewRequest.setTradingCurrency(incomeListing.getTradingCurrency()); listingNewRequest.setWorkflowStatus(incomeListing.getWorkflowStatus()); 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 9ea5dfa50..b4c7dcc11 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 @@ -398,6 +398,7 @@ public class GatewaySecurityService extends QueueConsumer implements Initializin updateRequest.setLotSize(newRequest.getLotSize()); updateRequest.setTradingCurrency(newRequest.getTradingCurrency()); updateRequest.setWorkflowStatus(newRequest.getWorkflowStatus()); + updateRequest.setSymbolCode(newRequest.getSymbolCode()); return updateRequest; } diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/ListingService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/ListingService.java index 41066cffb..6e79de2a7 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/ListingService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/ListingService.java @@ -18,8 +18,8 @@ import ru.spcex.clearing.platform.messaging.domain.cud.securitites.ListingNewReq import ru.spcex.clearing.platform.messaging.domain.cud.securitites.ListingUpdateRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; -import ru.spcex.clearing.util.security.SecuritySelector; import ru.spcex.clearing.securities.validation.ListingValidationProvider; +import ru.spcex.clearing.util.security.SecuritySelector; import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.util.services.RequestHelper; import ru.spcex.clearing.validation.common.ValidationHelper; @@ -107,7 +107,11 @@ public class ListingService extends QueueConsumer implements InitializingBean { listing.setSecurityId(req.getSecurityId()); listing.setMarket(req.getMarket()); listing.setLotSize(req.getLotSize()); - listing.setSymbolCode(security.getSecuritySymbol()); // listing.setSymbolCode(req.getSymbolCode()); + if (req.getSymbolCode() != null) { + listing.setSymbolCode(req.getSymbolCode()); // listing.setSymbolCode(req.getSymbolCode()); + } else { + listing.setSymbolCode(security.getSecuritySymbol()); + } listing.setSymbolName(security.getFullName()); // req.getSymbolName listing.setTradingCurrency(req.getTradingCurrency()); if (StringUtils.isEmpty(req.getWorkflowStatus())) { @@ -147,7 +151,7 @@ public class ListingService extends QueueConsumer implements InitializingBean { listing.setUpdated(Instant.now()); listing.setLotSize(req.getLotSize()); - //if (req.getSymbolCode()!=null) listing.setSymbolCode(req.getSymbolCode()); + if (req.getSymbolCode()!=null) listing.setSymbolCode(req.getSymbolCode()); //if (req.getSymbolName!=null) listing.setSymbolName(req.getSymbolName); listing.setTradingCurrency(req.getTradingCurrency()); if (StringUtils.isNotEmpty(req.getWorkflowStatus())) { diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/ListingNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/ListingNewRequest.java index d5784e5c4..d0457f2a1 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/ListingNewRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/ListingNewRequest.java @@ -15,6 +15,8 @@ public class ListingNewRequest { private String tradingCurrency; @JsonProperty private String workflowStatus; + @JsonProperty + private String symbolCode; public Long getSecurityId() { return securityId; @@ -55,4 +57,12 @@ public class ListingNewRequest { public void setWorkflowStatus(String workflowStatus) { this.workflowStatus = workflowStatus; } + + public String getSymbolCode() { + return symbolCode; + } + + public void setSymbolCode(String symbolCode) { + this.symbolCode = symbolCode; + } } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/ListingUpdateRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/ListingUpdateRequest.java index 7cbcd28e7..d25e18d76 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/ListingUpdateRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/securitites/ListingUpdateRequest.java @@ -18,6 +18,8 @@ public class ListingUpdateRequest implements WithId { private String tradingCurrency; @JsonProperty private String workflowStatus; + @JsonProperty + private String symbolCode; @Override public Long getId() { @@ -67,4 +69,12 @@ public class ListingUpdateRequest implements WithId { public void setWorkflowStatus(String workflowStatus) { this.workflowStatus = workflowStatus; } + + public String getSymbolCode() { + return symbolCode; + } + + public void setSymbolCode(String symbolCode) { + this.symbolCode = symbolCode; + } }