diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/GatewayService.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/GatewayService.java index 00f16200e..a9042d6b7 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/GatewayService.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/GatewayService.java @@ -69,6 +69,7 @@ public class GatewayService extends QueueConsumer implements InitializingBean { protected final Imdg gatewayResultImdg; private final static Pattern REPORT_FILE_NAME_PATTERN = Pattern.compile("(\\S*)_(\\d{15}).csv"); private final String clearingSystemValue; + private final GatewayApiSettings gatewayApiSettings; public GatewayService(Consumer kafkaQueue, Producer kafkaProducer, @@ -81,6 +82,7 @@ public class GatewayService extends QueueConsumer implements InitializingBean { super(kafkaQueue, kafkaProducer); this.restTemplate = restTemplate; this.userRoleVerification = userRoleVerification; + this.gatewayApiSettings = gatewayApiSettings; this.clearingSystemValue = StringUtils.isNotEmpty(gatewayApiSettings.getClearingSystem()) ? gatewayApiSettings.getClearingSystem() : "SPVB"; this.inboundServerSettings = gatewayApiSettings.getInboundServer(); @@ -99,7 +101,7 @@ public class GatewayService extends QueueConsumer implements InitializingBean { .setConsumer(this::requestOnDemandSecurity) .forDestination(Task.loadIssue_LOSC.topic(), callbacks::put); callback(GatewayTaskRequest.class) - .setConsumer(this::requestOn) + .setConsumer(this::requestOnRates) .forDestination(Task.LORT.topic(), callbacks::put); callback(LimExportedRequest.class) .setConsumer(this::requestOnLimit) @@ -195,16 +197,20 @@ public class GatewayService extends QueueConsumer implements InitializingBean { log.debug("LOSC task 4/4 complete (CURR section)"); } - public void requestOn(BaseRequest userRequest) { + public void requestOnRates(BaseRequest userRequest) { OutboundRequest settleRateReq = OutboundRequestBuilder.builder() .type(OutboundRequestType.CURRENCY_RATE.getKey()) - .content(ContentBuilder.builder().settleRateBuild()) + .content(ContentBuilder.builder() + .withSettings(gatewayApiSettings) + .settleRateBuild()) .clearingSystem(clearingSystemValue) .build(); OutboundRequest cbRateReq = OutboundRequestBuilder.builder() .type(OutboundRequestType.CURRENCY_RATE.getKey()) - .content(ContentBuilder.builder().cbRateBuild()) + .content(ContentBuilder.builder() + .withSettings(gatewayApiSettings) + .cbRateBuild()) .clearingSystem(clearingSystemValue) .build(); diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/builders/ContentBuilder.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/builders/ContentBuilder.java index 1f9bd2cab..5e6d5b11c 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/builders/ContentBuilder.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/builders/ContentBuilder.java @@ -2,32 +2,38 @@ package ru.spcex.clearing.gatewayapi.service.builders; import java.util.HashMap; import java.util.Map; +import ru.spcex.clearing.gatewayapi.config.GatewayApiSettings; public class ContentBuilder { - + private GatewayApiSettings settings; private ContentBuilder(){} public static ContentBuilder builder(){ return new ContentBuilder(); } + public ContentBuilder withSettings(final GatewayApiSettings settings) { + this.settings = settings; + return this; + } + public Map settleRateBuild() { return new HashMap<>() {{ - put("sender_organization_code", "SPVB"); - put("sender_subsystem_code", "KS"); - put("recipient_organization_code", "SPVB"); - put("sender_rate_type_code", "SETTLE_RATE"); - put("recipient_rate_type_code", "NCC_RATE"); + put("sender_organization_code", settings.getSenderOrganizationCode()); + put("sender_subsystem_code", settings.getSenderSubsystemCode()); + put("recipient_organization_code", settings.getRecipientOrganizationCode()); + put("sender_rate_type_code", settings.getSenderSettleRateTypeCode()); + put("recipient_rate_type_code", settings.getRecipientSettleRateTypeCode()); }}; } public Map cbRateBuild() { return new HashMap<>() {{ - put("sender_organization_code", "SPVB"); - put("sender_subsystem_code", "KS"); - put("recipient_organization_code", "SPVB"); - put("sender_rate_type_code", "CB_RATE"); - put("recipient_rate_type_code", "CBR_RATE"); + put("sender_organization_code", settings.getSenderOrganizationCode()); + put("sender_subsystem_code", settings.getSenderSubsystemCode()); + put("recipient_organization_code", settings.getRecipientOrganizationCode()); + put("sender_rate_type_code", settings.getSenderCbRateTypeCode()); + put("recipient_rate_type_code", settings.getRecipientCbRateTypeCode()); }}; } }