diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java index ebca476fb..fbf0a6c69 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java @@ -68,23 +68,21 @@ public class CompanyService extends QueueConsumer implements InitializingBean { Function companyUpdateRequestValidator, @Qualifier("CompanyDeleteRequestValidator") Function companyDeleteRequestValidator, - CompanySymbolService companySymbolService, AccountNotificationHelper accountNotification, - RelationService relationService - ) { + RelationService relationService) { super(kafkaQueue, kafkaProducer); this.imdgProvider = imdgProvider; this.requestHelper = requestHelper.setLogger(log); this.idSequence = imdgProvider.getImdgIdGenerator(); this.userRoleVerification = userRoleVerification; - userRoleVerification.setRoleForVerification(UserRole.Admin); + this.userRoleVerification.setRoleForVerification(UserRole.Admin); this.validationHelper = validationHelper; this.companyNewRequestValidator = companyNewRequestValidator; this.companyUpdateRequestValidator = companyUpdateRequestValidator; this.companyDeleteRequestValidator = companyDeleteRequestValidator; this.companySymbolService = companySymbolService; - companySymbolService.setCompanyService(this); + this.companySymbolService.setCompanyService(this); this.accountNotification = accountNotification; this.relationService = relationService; @@ -105,7 +103,6 @@ public class CompanyService extends QueueConsumer implements InitializingBean { callback(CompanyNewRequest.class) .setFunction(request -> requestHelper.requestFunction(this::updateCompany, request)) .forDestination(Consts.DESTINATION_COMPANY_UPDATE, callbacks::put); - callback(AccountTerminationRequest.class) .setFunction(request -> requestHelper.requestFunction(this::finishCompanyTermination, request)) .forDestination(Consts.ACCOUNT_TERMINATION_STEP2, callbacks::put); diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/MultiCompanyService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/MultiCompanyService.java index 4a00ab8c0..5133ec204 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/MultiCompanyService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/MultiCompanyService.java @@ -96,14 +96,14 @@ public class MultiCompanyService @Override public void afterPropertiesSet() { - callback(MultiCompanyRequest.class) + callback(CompanyGatewayRequest.class) .setFunction(request -> requestHelper.requestFunction(this::processMultiRequest, request)) .forDestination(Consts.DESTINATION_COMPANY_MULTIREQUEST, callbacks::put); init(); } - private synchronized RequestInfoUpdate processMultiRequest(BaseRequest baseRequest) { - MultiCompanyRequest req = baseRequest.getRequestPayload(); + private synchronized RequestInfoUpdate processMultiRequest(BaseRequest baseRequest) { + CompanyGatewayRequest req = baseRequest.getRequestPayload(); log.debug("company-batch-new request received, BaseRequest.id = {}", baseRequest.getId()); { // Валидация RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(baseRequest); @@ -312,7 +312,7 @@ public class MultiCompanyService return r; } - void fillCompanyId(MultiCompanyRequest req, Long companyId) { + void fillCompanyId(CompanyGatewayRequest req, Long companyId) { if (req.getCompany() != null) { req.getCompany().setId(companyId); } diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/MultiCompanyServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/MultiCompanyServiceTest.java index 9535bc82c..da2ebe661 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/MultiCompanyServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/MultiCompanyServiceTest.java @@ -11,7 +11,6 @@ import ru.clearing.classes.statics.data.company.CompanySymbols; import ru.clearing.classes.statics.data.profile.Contact; import ru.clearing.classes.statics.data.profile.ProfileDocument; import ru.clearing.platform.dictionary.CompanySymbolDictionary; -import ru.clearing.platform.dictionary.WorkflowStatusDictionary; import ru.spcex.clearing.company.config.BeanConfiguration; import ru.spcex.clearing.company.config.validation.*; import ru.spcex.clearing.imdg.IMDGDistributedNames; @@ -26,7 +25,6 @@ import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; import javax.annotation.PostConstruct; - import java.time.LocalDate; import static org.junit.jupiter.api.Assertions.*; @@ -160,7 +158,7 @@ class MultiCompanyServiceTest { @Test void fillCompanyId() { { - MultiCompanyRequest testReq = new MultiCompanyRequest(); + CompanyGatewayRequest testReq = new CompanyGatewayRequest(); testReq.setCompany(new CompanyNewRequest()); testReq.setProfileDocuments(null); testReq.setCompanySymbols(null); @@ -174,7 +172,7 @@ class MultiCompanyServiceTest { assertNotNull(testReq.getClientCodes()); } { - MultiCompanyRequest testReq = new MultiCompanyRequest(); + CompanyGatewayRequest testReq = new CompanyGatewayRequest(); testReq.setCompany(new CompanyNewRequest()); testReq.setCompanyInfo(new CompanyInfoUpdateRequest()); multiCompanyService.fillCompanyId(testReq, COMPANY_ID); diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf09Table.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf09Table.java deleted file mode 100644 index d35317019..000000000 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf09Table.java +++ /dev/null @@ -1,35 +0,0 @@ -package ru.spcex.clearing.dbf.importer.logic.data.tables; - -import ru.clearing.classes.statics.data.sdf.SDf09; -import ru.spcex.clearing.dbf.importer.logic.data.enums.ETable; -import ru.spcex.clearing.imdg.IMDGDistributedNames; - -import java.time.Instant; - -@Deprecated -public class SDf09Table extends AbstractTable { - - private static final String PREFIX = ETable.DF_09.name(); - private static final Class CLAZZ = SDf09.class; - private static final String NAME_OF_HZ_MAP = IMDGDistributedNames.Map_SDf09; - - public SDf09Table() { - super(PREFIX, CLAZZ, NAME_OF_HZ_MAP); - } - - @Override - public SDf09 getEntity(Object[] entity) { - SDf09 result = new SDf09(); - -// result.setAccount((String) entity[0]); -// result.setSum((BigDecimal) entity[1]); -// result.setMarket((String) entity[2]); -// result.setType((String) entity[3]); -// result.setNumber((BigDecimal) entity[4]); -// result.setInn((BigDecimal) entity[5]); -// result.setFileName(filename); - result.setGenerationTime(Instant.now()); - result.setGenerationId(fileId); - return result; - } -} \ No newline at end of file diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf16Table.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf16Table.java deleted file mode 100644 index 1005ee21e..000000000 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf16Table.java +++ /dev/null @@ -1,38 +0,0 @@ -package ru.spcex.clearing.dbf.importer.logic.data.tables; - -import ru.clearing.classes.statics.data.sdf.SDf16; -import ru.spcex.clearing.dbf.importer.logic.data.enums.ETable; -import ru.spcex.clearing.imdg.IMDGDistributedNames; - -import java.math.BigDecimal; -import java.time.Instant; - -@Deprecated -public class SDf16Table extends AbstractTable { - - private static final String PREFIX = ETable.DF_16.name(); - private static final Class CLAZZ = SDf16.class; - private static final String NAME_OF_HZ_MAP = IMDGDistributedNames.Map_SDf16; - - public SDf16Table() { - super(PREFIX, CLAZZ, NAME_OF_HZ_MAP); - } - - @Override - public SDf16 getEntity(Object[] entity) { - SDf16 result = new SDf16(); -// result.setDate(TimeUtil.strToInstant((String) entity[0])); - result.setAccount((String) entity[0]); - result.setSum((BigDecimal) entity[1]); - result.setMarket((String) entity[2]); - result.setType((String) entity[3]); - result.setInn((BigDecimal) entity[4]); - result.setBic((BigDecimal) entity[5]); - result.setSpec((String) entity[6]); - result.setNumber((BigDecimal) entity[7]); - result.setFileName(filename); - result.setGenerationTime(Instant.now()); - result.setGenerationId(fileId); - return result; - } -} \ No newline at end of file diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/config/ProcessorConfiguration.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/config/ProcessorConfiguration.java index 91109b48f..e7779169a 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/config/ProcessorConfiguration.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/config/ProcessorConfiguration.java @@ -7,7 +7,7 @@ import ru.spcex.clearing.gatewayapi.logic.Processor; import ru.spcex.clearing.gatewayapi.logic.Stage; import ru.spcex.clearing.gatewayapi.logic.companies.CompaniesKafkaMessenger; import ru.spcex.clearing.gatewayapi.logic.companies.CompaniesRequestParam; -import ru.spcex.clearing.gatewayapi.logic.companies.PrepareMemberCompanies; +import ru.spcex.clearing.gatewayapi.logic.companies.PrepareMemberCompaniesLegacy; import ru.spcex.clearing.gatewayapi.logic.listings_fond.*; import ru.spcex.clearing.gatewayapi.logic.listings_mm.MMListingsRequestParam; import ru.spcex.clearing.gatewayapi.logic.listings_mm.PrepareExchangeInstruments; @@ -50,7 +50,7 @@ public class ProcessorConfiguration { public Processor companiesRequestProcessor(ImdgProvider imdgProvider, KafkaSender kafkaSender) { Processor processor = new Processor<>(); List> pipeline = new ArrayList<>(); - pipeline.add(new PrepareMemberCompanies()); + pipeline.add(new PrepareMemberCompaniesLegacy()); pipeline.add(new CompaniesKafkaMessenger(kafkaSender, imdgProvider)); processor.setPipeline(pipeline); return processor; diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/GatewayController.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/GatewayController.java index 04ad5a1ab..15cf33419 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/GatewayController.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/controller/GatewayController.java @@ -14,18 +14,22 @@ import ru.spcex.clearing.gatewayapi.exception.GatewayException; import ru.spcex.clearing.gatewayapi.logic.ProcessResult; import ru.spcex.clearing.gatewayapi.logic.Processor; import ru.spcex.clearing.gatewayapi.logic.companies.CompaniesRequestParam; +import ru.spcex.clearing.gatewayapi.logic.companies.CompanyProcessor; import ru.spcex.clearing.gatewayapi.logic.listings_fond.FondListingsRequestParam; import ru.spcex.clearing.gatewayapi.logic.listings_mm.MMListingsRequestParam; import ru.spcex.clearing.gatewayapi.request.CommonRequest; import ru.spcex.clearing.gatewayapi.request.company.CompaniesRequest; +import ru.spcex.clearing.gatewayapi.request.limit.LimitRequest; import ru.spcex.clearing.gatewayapi.request.listing.fond.FondListingsRequest; import ru.spcex.clearing.gatewayapi.request.listing.mkr.MMListingsRequest; import ru.spcex.clearing.gatewayapi.response.CommonResponse; import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.IMessageResolver; +import java.time.Instant; import java.util.Arrays; import java.util.List; +import java.util.UUID; import java.util.concurrent.ExecutorService; @Controller @@ -37,6 +41,7 @@ public class GatewayController { private final Processor fondListingsRequestProcessor; private final Processor mmListingsRequestProcessor; private final Processor companiesRequestProcessor; + private final CompanyProcessor companiesProcessor; private final ExecutorService executor; private List validTypes = Arrays.asList("DAY_START", "ON_DEMAND"); @@ -46,11 +51,12 @@ public class GatewayController { @Qualifier("fondListingsRequestProcessor") Processor fondListingsRequestProcessor, @Qualifier("mmListingsRequestProcessor") Processor mmListingsRequestProcessor, @Qualifier("companiesRequestProcessor") Processor companiesRequestProcessor, - @Qualifier("gatewayExecutor") ExecutorService executor) { + CompanyProcessor companiesProcessor, @Qualifier("gatewayExecutor") ExecutorService executor) { this.messageResolver = messageResolver; this.fondListingsRequestProcessor = fondListingsRequestProcessor; this.mmListingsRequestProcessor = mmListingsRequestProcessor; this.companiesRequestProcessor = companiesRequestProcessor; + this.companiesProcessor = companiesProcessor; this.executor = executor; } @@ -122,16 +128,29 @@ public class GatewayController { @ResponseBody public CommonResponse companies(@RequestBody CompaniesRequest request) { // request.validate(validTypes, Collections.emptyList()); - CompaniesRequestParam requestParam = new CompaniesRequestParam(request); executor.submit(() -> { - ProcessResult processResult = companiesRequestProcessor.process(requestParam); - if (processResult.getError() != null) { - log.warn("Exception while process listing_mm: {}", processResult.getError()); - } + companiesProcessor.process(request); }); return createResponse(request, true); } + @ApiOperation(value = "Экспорт участников в клиринговую систему") + @ApiResponses(value = { + @ApiResponse(code = 200, message = "OK", response = CommonResponse.class), + @ApiResponse(code = 400, message = "Ошибка валидации", response = CommonResponse.class) + }) + @RequestMapping( + path = "/limits", + method = RequestMethod.POST, + consumes = MediaType.APPLICATION_JSON_VALUE, + produces = MediaType.APPLICATION_JSON_VALUE + ) + @ResponseBody + public CommonResponse limits(@RequestBody LimitRequest request) { + log.debug("Received message: {}", request); + return createResponseByLimit(request.getId()); + } + @ResponseStatus(value = HttpStatus.BAD_REQUEST) @ResponseBody @ExceptionHandler(GatewayException.class) @@ -155,4 +174,12 @@ public class GatewayController { return commonResponse; } + private CommonResponse createResponseByLimit(UUID uuid) { + CommonResponse commonResponse = new CommonResponse(); + commonResponse.setId(uuid); +// commonResponse.setType(request.getType()); + commonResponse.setDatetime(Instant.now()); +// commonResponse.setSection(request.getSection()); + return commonResponse; + } } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/Processor.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/Processor.java index e8a060247..798aed552 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/Processor.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/Processor.java @@ -1,5 +1,6 @@ package ru.spcex.clearing.gatewayapi.logic; +import org.apache.commons.lang3.exception.ExceptionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.spcex.clearing.gatewayapi.errors.GatewayError; @@ -11,14 +12,14 @@ public class Processor { private List> pipeline; public ProcessResult process(T param) { - try { - for (Stage stage : pipeline) { + for (Stage stage : pipeline) { + try { ProcessResult processResult = stage.process(param); if (processResult != null) return processResult; + } catch (RuntimeException e) { + log.warn("Stage : {} have not been complete successful: {}", stage.getClass(), ExceptionUtils.getMessage(e)); + return new ProcessResult(GatewayError.InternalError); } - } catch (RuntimeException e) { - log.error("", e); - return new ProcessResult(GatewayError.InternalError); } return new ProcessResult(); } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompaniesKafkaMessenger.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompaniesKafkaMessenger.java index f75271515..6c49f802f 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompaniesKafkaMessenger.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompaniesKafkaMessenger.java @@ -2,7 +2,6 @@ package ru.spcex.clearing.gatewayapi.logic.companies; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ru.clearing.classes.statics.data.company.Company; import ru.spcex.clearing.gatewayapi.logic.ProcessResult; import ru.spcex.clearing.gatewayapi.logic.Stage; import ru.spcex.clearing.gatewayapi.request.company.*; @@ -25,20 +24,20 @@ public class CompaniesKafkaMessenger extends Stage { private final Logger log = LoggerFactory.getLogger(getClass()); private final KafkaSender kafkaSender; - private final Imdg companyImdg; + private final Imdg companyImdg; public CompaniesKafkaMessenger(KafkaSender kafkaSender, ImdgProvider imdgProvider) { this.kafkaSender = kafkaSender; - this.companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class); + this.companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, ru.clearing.classes.statics.data.company.Company.class); } @Override public ProcessResult process(CompaniesRequestParam param) { - List companyList = param.getMemberCompanyList(); - for (MemberCompany company : companyList) { + List companyList = param.getMemberCompanyList(); + for (Company company : companyList) { if (company.isInvalidData()) continue; - MultiCompanyRequest multiCompanyRequest = new MultiCompanyRequest(); + CompanyGatewayRequest multiCompanyRequest = new CompanyGatewayRequest(); CompanyNewRequest companyNewRequest = new CompanyNewRequest(); companyNewRequest.setShortName(company.getShortName()); @@ -51,7 +50,7 @@ public class CompaniesKafkaMessenger extends Stage { companyNewRequest.setInitiatorCode(company.getInitiatorCode()); multiCompanyRequest.setCompany(companyNewRequest); - MemberCompanyInfo companyInfo = company.getCompanyInfo(); + CompanyInfo companyInfo = company.getCompanyInfo(); CompanyInfoUpdateRequest companyInfoUpdateRequest = new CompanyInfoUpdateRequest(); companyInfoUpdateRequest.setCountryCode("RUS"); // todo в текущей версии ТЗ присылается в цифровом обозначении companyInfoUpdateRequest.setProfessionalSign(companyInfo.getProfessionalSign()); @@ -60,7 +59,7 @@ public class CompaniesKafkaMessenger extends Stage { companyInfoUpdateRequest.setResidence(companyInfo.getResidence()); multiCompanyRequest.setCompanyInfo(companyInfoUpdateRequest); - for (MemberCompanySymbols companySymbols : company.getMemberCompanySymbolsList()) { + for (CompanySymbols companySymbols : company.getMemberCompanySymbolsList()) { if (companySymbols.isInvalidData()) continue; CompanySymbolNewRequest companySymbolNewRequest = new CompanySymbolNewRequest(); companySymbolNewRequest.setCompanySymbol(companySymbols.getCompanySymbol()); @@ -68,7 +67,7 @@ public class CompaniesKafkaMessenger extends Stage { multiCompanyRequest.getCompanySymbols().add(companySymbolNewRequest); } - for (MemberContact contact : company.getContactList()) { + for (Contact contact : company.getContactList()) { if (contact.isInvalidData()) continue; ContactNewRequest contactNewRequest = new ContactNewRequest(); contactNewRequest.setContactType(contact.getContactType()); @@ -76,7 +75,7 @@ public class CompaniesKafkaMessenger extends Stage { multiCompanyRequest.getContacts().add(contactNewRequest); } - for (MemberProfileDocument profileDocument : company.getProfileDocumentList()) { + for (ProfileDocument profileDocument : company.getProfileDocumentList()) { if (profileDocument.isInvalidData()) continue; ProfileDocumentNewRequest profileDocumentNewRequest = new ProfileDocumentNewRequest(); profileDocumentNewRequest.setDocumentType(profileDocument.getDocumentType()); @@ -88,7 +87,7 @@ public class CompaniesKafkaMessenger extends Stage { multiCompanyRequest.getProfileDocuments().add(profileDocumentNewRequest); } - for (MemberClient client : company.getClientList()) { + for (Client client : company.getClientList()) { if (client.isInvalidData()) continue; if (!company.isAlreadyExist() || !client.isAlreadyExist()) { diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompaniesRequestParam.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompaniesRequestParam.java index 2d1216351..4a8cdd8a5 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompaniesRequestParam.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompaniesRequestParam.java @@ -1,14 +1,14 @@ package ru.spcex.clearing.gatewayapi.logic.companies; import ru.spcex.clearing.gatewayapi.request.company.CompaniesRequest; -import ru.spcex.clearing.gatewayapi.request.company.MemberCompany; +import ru.spcex.clearing.gatewayapi.request.company.Company; import java.util.ArrayList; import java.util.List; public class CompaniesRequestParam { private final CompaniesRequest companiesRequest; - private List memberCompanyList = new ArrayList<>(); + private List memberCompanyList = new ArrayList<>(); public CompaniesRequestParam(CompaniesRequest companiesRequest) { this.companiesRequest = companiesRequest; @@ -18,11 +18,11 @@ public class CompaniesRequestParam { return companiesRequest; } - public List getMemberCompanyList() { + public List getMemberCompanyList() { return memberCompanyList; } - public void setMemberCompanyList(List memberCompanyList) { + public void setMemberCompanyList(List memberCompanyList) { this.memberCompanyList = memberCompanyList; } } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompanyProcessor.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompanyProcessor.java new file mode 100644 index 000000000..be653b1e7 --- /dev/null +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompanyProcessor.java @@ -0,0 +1,72 @@ +package ru.spcex.clearing.gatewayapi.logic.companies; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; +import ru.spcex.clearing.gatewayapi.request.WithCompanyId; +import ru.spcex.clearing.gatewayapi.request.company.*; +import ru.spcex.clearing.platform.messaging.domain.Consts; +import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeNewRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanyGatewayRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanySymbolNewRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.company.ContactNewRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentNewRequest; +import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; + +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; + +@Service +public class CompanyProcessor { + private final Logger log = LoggerFactory.getLogger(getClass()); + + private final CompanyRequestAdapter companyRequestAdapter; + private final KafkaSender kafkaSender; + + public CompanyProcessor(CompanyRequestAdapter companyRequestAdapter, + KafkaSender kafkaSender) { + this.companyRequestAdapter = companyRequestAdapter; + this.kafkaSender = kafkaSender; + } + + public void process(CompaniesRequest request) { + List companyList = request.getCompanyList(); + for (Company memberCompany : companyList) { + UUID companyId = memberCompany.getId(); + log.debug("Grouping by companyId: {}", companyId); + List companyClearingCategories = groupByCompanyId(request.getCompanyClearingCategoryList(), companyId); + List companySymbols = groupByCompanyId(request.getMemberCompanySymbolsList(), companyId); + List contacts = groupByCompanyId(request.getContactList(), companyId); + List profileDocuments = groupByCompanyId(request.getProfileDocumentList(), companyId); + List clients = groupByCompanyId(request.getClientList(), companyId); + + List companySymbolNewRequests = companySymbols.stream(). + map(companyRequestAdapter::toCompanySymbolsRequest).toList(); + List contactNewRequests = contacts.stream(). + map(companyRequestAdapter::toContactRequest).toList(); + List profileDocumentNewRequests = profileDocuments.stream(). + map(companyRequestAdapter::toProfileDocumentRequest).toList(); + List clientCodeNewRequests = clients.stream(). + map(companyRequestAdapter::toClientRequest).toList(); + + CompanyGatewayRequest companyGatewayRequest = new CompanyGatewayRequest(); + companyGatewayRequest.setCompany(companyRequestAdapter.toCompanyRequest(memberCompany)); + request.getCompanyInfoList() + .stream() + .filter(info -> info.getCompanyId().equals(companyId)).findFirst() + .map(companyRequestAdapter::toCompanyInfoRequest) + .ifPresent(companyGatewayRequest::setCompanyInfo); + companyGatewayRequest.setCompanySymbols(companySymbolNewRequests); + companyGatewayRequest.setContacts(contactNewRequests); + companyGatewayRequest.setProfileDocuments(profileDocumentNewRequests); + companyGatewayRequest.setClientCodes(clientCodeNewRequests); + + kafkaSender.sendRequestToQueue(Consts.DESTINATION_COMPANY_MULTIREQUEST, companyGatewayRequest); + } + } + + private List groupByCompanyId(List listToProcess, UUID companyId) { + return listToProcess.stream().filter(t -> t.getCompanyId().equals(companyId)).collect(Collectors.toList()); + } +} diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompanyRequestAdapter.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompanyRequestAdapter.java new file mode 100644 index 000000000..9f97bb883 --- /dev/null +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/CompanyRequestAdapter.java @@ -0,0 +1,67 @@ +package ru.spcex.clearing.gatewayapi.logic.companies; + +import org.springframework.stereotype.Service; +import ru.spcex.clearing.gatewayapi.request.company.*; +import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeNewRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.company.*; +import ru.spcex.platform.enumeration.CompanySymbol; + +@Service +public class CompanyRequestAdapter { + + public CompanyNewRequest toCompanyRequest(Company company) { + CompanyNewRequest companyNewRequest = new CompanyNewRequest(); + companyNewRequest.setShortName(company.getShortName()); + companyNewRequest.setFullName(company.getFullName()); + companyNewRequest.setCompanySymbol(CompanySymbol.UUID.getKey()); + companyNewRequest.setCompanySymbolValue(company.getId().toString()); + companyNewRequest.setTradingCode(company.getTradingCode()); + companyNewRequest.setClearingCode(company.getClearingCode()); + companyNewRequest.setRegistrationCode(company.getRegistrationCode()); + companyNewRequest.setInitiatorCode(company.getInitiatorCode()); + return companyNewRequest; + } + + public CompanyInfoUpdateRequest toCompanyInfoRequest(CompanyInfo companyInfo) { + CompanyInfoUpdateRequest companyInfoUpdateRequest = new CompanyInfoUpdateRequest(); + companyInfoUpdateRequest.setCountryCode("RUS"); // todo в текущей версии ТЗ присылается в цифровом обозначении + companyInfoUpdateRequest.setProfessionalSign(companyInfo.getProfessionalSign()); + companyInfoUpdateRequest.setLegalKind(companyInfo.getLegalKind()); + companyInfoUpdateRequest.setOrganizationType(companyInfo.getOrganizationType()); + companyInfoUpdateRequest.setResidence(companyInfo.getResidence()); + return companyInfoUpdateRequest; + } + + public CompanySymbolNewRequest toCompanySymbolsRequest(CompanySymbols companySymbols) { + CompanySymbolNewRequest companySymbolNewRequest = new CompanySymbolNewRequest(); + companySymbolNewRequest.setCompanySymbol(companySymbols.getCompanySymbol()); + companySymbolNewRequest.setCompanySymbolValue(companySymbols.getCompanySymbolValue()); + return companySymbolNewRequest; + } + + public ContactNewRequest toContactRequest(Contact contact) { + ContactNewRequest contactNewRequest = new ContactNewRequest(); + contactNewRequest.setContactType(contact.getContactType()); + contactNewRequest.setContactValue(contact.getContactValue()); + return contactNewRequest; + } + + public ProfileDocumentNewRequest toProfileDocumentRequest(ProfileDocument profileDocument) { + ProfileDocumentNewRequest profileDocumentNewRequest = new ProfileDocumentNewRequest(); + profileDocumentNewRequest.setDocumentType(profileDocument.getDocumentType()); + profileDocumentNewRequest.setIssueDate(profileDocument.getIssueDate()); + profileDocumentNewRequest.setIssuer(profileDocument.getIssuer()); + profileDocumentNewRequest.setNumber(profileDocument.getNumber()); + profileDocumentNewRequest.setValidToDate(profileDocument.getValidToDate()); + profileDocumentNewRequest.setLink(profileDocument.getLink()); + return profileDocumentNewRequest; + } + + public ClientCodeNewRequest toClientRequest(Client client) { + ClientCodeNewRequest clientCodeNewRequest = new ClientCodeNewRequest(); + clientCodeNewRequest.setCode(client.getClientCode()); + clientCodeNewRequest.setMoneyAccountId(client.getMoneyAccountId()); + clientCodeNewRequest.setDepoAccountId(client.getDepoAccountId()); + return clientCodeNewRequest; + } +} diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/PrepareMemberCompanies.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/PrepareMemberCompaniesLegacy.java similarity index 64% rename from clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/PrepareMemberCompanies.java rename to clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/PrepareMemberCompaniesLegacy.java index 1393234f4..2ece94968 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/PrepareMemberCompanies.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/companies/PrepareMemberCompaniesLegacy.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.spcex.clearing.gatewayapi.logic.ProcessResult; import ru.spcex.clearing.gatewayapi.logic.Stage; +import ru.spcex.clearing.gatewayapi.request.WithCompanyId; import ru.spcex.clearing.gatewayapi.request.company.*; import java.util.HashMap; @@ -12,16 +13,16 @@ import java.util.Map; import java.util.UUID; import java.util.stream.Collectors; -public class PrepareMemberCompanies extends Stage { +public class PrepareMemberCompaniesLegacy extends Stage { private final Logger log = LoggerFactory.getLogger(getClass()); @Override public ProcessResult process(CompaniesRequestParam param) { CompaniesRequest request = param.getCompaniesRequest(); - List companyList = request.getCompanyList(); - Map companyForUUID = new HashMap<>(); - for (MemberCompany memberCompany : companyList) { + List companyList = request.getCompanyList(); + Map companyForUUID = new HashMap<>(); + for (Company memberCompany : companyList) { if (companyForUUID.containsKey(memberCompany.getId())) { log.warn("For company.id {} found > 1 element from request, use first", memberCompany.getId()); memberCompany.setInvalidData(true); @@ -30,10 +31,10 @@ public class PrepareMemberCompanies extends Stage { companyForUUID.put(memberCompany.getId(), memberCompany); } - List companyInfoList = request.getCompanyInfoList(); - for (MemberCompanyInfo companyInfo : companyInfoList) { + List companyInfoList = request.getCompanyInfoList(); + for (CompanyInfo companyInfo : companyInfoList) { UUID companyInfoUUID = companyInfo.getCompanyId(); - MemberCompany company = companyForUUID.get(companyInfoUUID); + Company company = companyForUUID.get(companyInfoUUID); if (company == null) { log.warn("For company_info.company_id {} not found company, company_info skipped", companyInfoUUID); continue; @@ -41,10 +42,10 @@ public class PrepareMemberCompanies extends Stage { company.setCompanyInfo(companyInfo); } - List memberCompanySymbolsList = param.getCompaniesRequest().getMemberCompanySymbolsList(); - for (MemberCompanySymbols memberCompanySymbols : memberCompanySymbolsList) { + List memberCompanySymbolsList = param.getCompaniesRequest().getMemberCompanySymbolsList(); + for (CompanySymbols memberCompanySymbols : memberCompanySymbolsList) { UUID memberCompanySymbolsUUID = memberCompanySymbols.getCompanyId(); - MemberCompany memberCompany = companyForUUID.get(memberCompanySymbolsUUID); + Company memberCompany = companyForUUID.get(memberCompanySymbolsUUID); if (memberCompany == null) { log.warn("For company_symbols ({} = {}) not found company, company_symbols skipped", memberCompanySymbols.getCompanySymbol(), @@ -55,10 +56,10 @@ public class PrepareMemberCompanies extends Stage { memberCompany.getMemberCompanySymbolsList().add(memberCompanySymbols); } - List memberContactList = param.getCompaniesRequest().getContactList(); - for (MemberContact memberContact : memberContactList) { + List memberContactList = param.getCompaniesRequest().getContactList(); + for (Contact memberContact : memberContactList) { UUID memberContactUUID = memberContact.getCompanyId(); - MemberCompany memberCompany = companyForUUID.get(memberContactUUID); + Company memberCompany = companyForUUID.get(memberContactUUID); if (memberCompany == null) { log.warn("For contact ({} = {}) not found company, skipped", memberContact.getContactType(), @@ -69,10 +70,10 @@ public class PrepareMemberCompanies extends Stage { memberCompany.getContactList().add(memberContact); } - List companyClearingCategoryList = param.getCompaniesRequest().getCompanyClearingCategoryList(); - for (MemberCompanyClearingCategory companyClearingCategory : companyClearingCategoryList) { + List companyClearingCategoryList = param.getCompaniesRequest().getCompanyClearingCategoryList(); + for (CompanyClearingCategory companyClearingCategory : companyClearingCategoryList) { UUID companyClearingCategoryUUID = companyClearingCategory.getCompanyId(); - MemberCompany memberCompany = companyForUUID.get(companyClearingCategoryUUID); + Company memberCompany = companyForUUID.get(companyClearingCategoryUUID); if (memberCompany == null) { log.warn("For company_clearing_category ({}) not found company, skipped", companyClearingCategory.getCategory()); companyClearingCategory.setInvalidData(true); @@ -81,10 +82,10 @@ public class PrepareMemberCompanies extends Stage { memberCompany.getCompanyClearingCategoryList().add(companyClearingCategory); } - List memberProfileDocumentList = param.getCompaniesRequest().getProfileDocumentList(); - for (MemberProfileDocument memberProfileDocument : memberProfileDocumentList) { + List memberProfileDocumentList = param.getCompaniesRequest().getProfileDocumentList(); + for (ProfileDocument memberProfileDocument : memberProfileDocumentList) { UUID profileDocumentUUID = memberProfileDocument.getCompanyId(); - MemberCompany memberCompany = companyForUUID.get(profileDocumentUUID); + Company memberCompany = companyForUUID.get(profileDocumentUUID); if (memberCompany == null) { log.warn("For profile_document (document_type {}) not found company, skipped", memberProfileDocument.getDocumentType()); memberProfileDocument.setInvalidData(true); @@ -93,10 +94,10 @@ public class PrepareMemberCompanies extends Stage { memberCompany.getProfileDocumentList().add(memberProfileDocument); } - List memberClientList = param.getCompaniesRequest().getClientList(); - for (MemberClient memberClient : memberClientList) { + List memberClientList = param.getCompaniesRequest().getClientList(); + for (Client memberClient : memberClientList) { UUID clientUUID = memberClient.getCompanyId(); - MemberCompany memberCompany = companyForUUID.get(clientUUID); + Company memberCompany = companyForUUID.get(clientUUID); if (memberCompany == null) { log.warn("For client (client_code {}) not found company, skipped", memberClient.getClientCode()); memberClient.setInvalidData(true); @@ -105,7 +106,7 @@ public class PrepareMemberCompanies extends Stage { memberCompany.getClientList().add(memberClient); } - List filteredIssuerCompany = companyList.stream() + List filteredIssuerCompany = companyList.stream() .filter(memberCompany -> !memberCompany.isInvalidData()) .collect(Collectors.toList()); @@ -116,4 +117,7 @@ public class PrepareMemberCompanies extends Stage { return null; } + private List groupByCompanyId(List listToProcess, UUID companyId) { + return listToProcess.stream().filter(t -> t.getCompanyId().equals(companyId)).collect(Collectors.toList()); + } } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/legacy/CheckMemberCompanyExist.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/legacy/CheckMemberCompanyExist.java index 4172c47f8..6d06c7420 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/legacy/CheckMemberCompanyExist.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/legacy/CheckMemberCompanyExist.java @@ -3,10 +3,6 @@ package ru.spcex.clearing.gatewayapi.logic.legacy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.clearing.classes.statics.data.account.*; -import ru.clearing.classes.statics.data.company.Company; -import ru.clearing.classes.statics.data.company.CompanySymbols; -import ru.clearing.classes.statics.data.profile.Contact; -import ru.clearing.classes.statics.data.profile.ProfileDocument; import ru.spcex.clearing.gatewayapi.logic.ProcessResult; import ru.spcex.clearing.gatewayapi.logic.Stage; import ru.spcex.clearing.gatewayapi.logic.companies.CompaniesRequestParam; @@ -26,10 +22,10 @@ import java.util.stream.Collectors; public class CheckMemberCompanyExist extends Stage { private final Logger log = LoggerFactory.getLogger(getClass()); - private final Imdg companyImdg; - private final Imdg companySymbolsImdg; - private final Imdg contactImdg; - private final Imdg profileDocumentImdg; + private final Imdg companyImdg; + private final Imdg companySymbolsImdg; + private final Imdg contactImdg; + private final Imdg profileDocumentImdg; private final Imdg clientCodeImdg; private final Imdg accountImdg; private final Imdg clearingAccountImdg; @@ -37,10 +33,10 @@ public class CheckMemberCompanyExist extends Stage { private final Imdg depoAccountImdg; public CheckMemberCompanyExist(ImdgProvider imdgProvider) { - companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class); - companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class); - contactImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Contact, Contact.class); - profileDocumentImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ProfileDocument, ProfileDocument.class); + companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, ru.clearing.classes.statics.data.company.Company.class); + companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, ru.clearing.classes.statics.data.company.CompanySymbols.class); + contactImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Contact, ru.clearing.classes.statics.data.profile.Contact.class); + profileDocumentImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ProfileDocument, ru.clearing.classes.statics.data.profile.ProfileDocument.class); clientCodeImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClientCode, ClientCode.class); accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class); clearingAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class); @@ -51,13 +47,13 @@ public class CheckMemberCompanyExist extends Stage { @Override public ProcessResult process(CompaniesRequestParam param) { - List companyList = param.getMemberCompanyList(); + List companyList = param.getMemberCompanyList(); - for (MemberCompany company : companyList) { - List companySymbolsList = company.getMemberCompanySymbolsList(); + for (Company company : companyList) { + List companySymbolsList = company.getMemberCompanySymbolsList(); Map companySymbolMap = new HashMap<>(); - for (MemberCompanySymbols memberCompanySymbol : companySymbolsList) { + for (CompanySymbols memberCompanySymbol : companySymbolsList) { if ( !memberCompanySymbol.isInvalidData() && !CompanySymbol.CIO.equalsByKey(memberCompanySymbol.getCompanySymbol()) && @@ -76,10 +72,10 @@ public class CheckMemberCompanyExist extends Stage { } // Проверяем реквизиты на необходимость обновления - for (MemberCompanySymbols companySymbols : companySymbolsList) { + for (CompanySymbols companySymbols : companySymbolsList) { if (companySymbols.isInvalidData()) continue; - Collection companySymbolsFromImdg = companySymbolsImdg.getCollectionObjectsByFieldValues( + Collection companySymbolsFromImdg = companySymbolsImdg.getCollectionObjectsByFieldValues( Map.of( "companyId", companyId, "companySymbol", companySymbols.getCompanySymbol() @@ -88,7 +84,7 @@ public class CheckMemberCompanyExist extends Stage { if (companySymbolsFromImdg.isEmpty()) { companySymbols.setAlreadyExist(false); } else { - CompanySymbols companySymbolFromImdg = companySymbolsFromImdg.iterator().next(); + ru.clearing.classes.statics.data.company.CompanySymbols companySymbolFromImdg = companySymbolsFromImdg.iterator().next(); if (companySymbolsFromImdg.size() > 1) { log.warn("For company_symbols ({}={}) found > 1 own company_symbols, " + "update first (company_symbols.id = {})", @@ -103,11 +99,11 @@ public class CheckMemberCompanyExist extends Stage { // Проверяем контакты, документы и клиентов на необходимость обновления if (company.isAlreadyExist()) { - List contactList = company.getContactList(); - for (MemberContact contact : contactList) { + List contactList = company.getContactList(); + for (Contact contact : contactList) { if (contact.isInvalidData()) continue; - Collection contactsFromImdg = contactImdg.getCollectionObjectsByFieldValues( + Collection contactsFromImdg = contactImdg.getCollectionObjectsByFieldValues( Map.of( "companyId", companyId, "contactType", contact.getContactType() @@ -116,7 +112,7 @@ public class CheckMemberCompanyExist extends Stage { if (contactsFromImdg.isEmpty()) { contact.setAlreadyExist(false); } else { - Contact contactFromImdg = contactsFromImdg.iterator().next(); + ru.clearing.classes.statics.data.profile.Contact contactFromImdg = contactsFromImdg.iterator().next(); if (contactsFromImdg.size() > 1) { log.warn("Found contact > 1 for contact_type {}, update first (id = {})", contactFromImdg.getContactType(), @@ -127,11 +123,11 @@ public class CheckMemberCompanyExist extends Stage { } } - List memberProfileDocumentList = company.getProfileDocumentList(); - for (MemberProfileDocument memberProfileDocument : memberProfileDocumentList) { + List memberProfileDocumentList = company.getProfileDocumentList(); + for (ProfileDocument memberProfileDocument : memberProfileDocumentList) { if (memberProfileDocument.isInvalidData()) continue; - Collection profileDocumentsFromImdg = profileDocumentImdg.getCollectionObjectsByFieldValues( + Collection profileDocumentsFromImdg = profileDocumentImdg.getCollectionObjectsByFieldValues( Map.of( "companyId", companyId, "documentType", memberProfileDocument.getDocumentType() @@ -140,7 +136,7 @@ public class CheckMemberCompanyExist extends Stage { if (profileDocumentsFromImdg.isEmpty()) { memberProfileDocument.setAlreadyExist(false); } else { - ProfileDocument profileDocument = profileDocumentsFromImdg.iterator().next(); + ru.clearing.classes.statics.data.profile.ProfileDocument profileDocument = profileDocumentsFromImdg.iterator().next(); if (profileDocumentsFromImdg.size() > 1) { log.warn("Found profile_document > 1 for document_type {} (company.id {}), update first (id = {})", memberProfileDocument.getDocumentType(), @@ -152,8 +148,8 @@ public class CheckMemberCompanyExist extends Stage { } } - List memberClientList = company.getClientList(); - for (MemberClient memberClient : memberClientList) { + List memberClientList = company.getClientList(); + for (Client memberClient : memberClientList) { if (memberClient.isInvalidData()) continue; Collection clientCodesFromImdg = clientCodeImdg.getCollectionObjectsByFieldValues( @@ -183,7 +179,7 @@ public class CheckMemberCompanyExist extends Stage { } - List filteredMemberCompany = companyList.stream() + List filteredMemberCompany = companyList.stream() .filter(memberCompany -> !memberCompany.isInvalidData()) .collect(Collectors.toList()); @@ -192,7 +188,7 @@ public class CheckMemberCompanyExist extends Stage { return null; } - private void fillMemberClientMoneyOrDepoAccountId(MemberCompany company, MemberClient client) { + private void fillMemberClientMoneyOrDepoAccountId(Company company, Client client) { String moneyAccount = client.getMoneyAccount(); Collection accountFromImdg = accountImdg.getCollectionObjectsByFieldValues( Map.of("account", moneyAccount) @@ -248,14 +244,14 @@ public class CheckMemberCompanyExist extends Stage { private Long getCompanyIdForCompanySymbols(String uuid, Map INNorCIO) { - Collection companySymbolsFromImdg = companySymbolsImdg.getCollectionObjectsByFieldValues( + Collection companySymbolsFromImdg = companySymbolsImdg.getCollectionObjectsByFieldValues( Map.of( "companySymbol", CompanySymbol.UUID.getKey(), "companySymbolValue", uuid ) ); if (!companySymbolsFromImdg.isEmpty()) { - CompanySymbols companySymbolFromImdg = companySymbolsFromImdg.iterator().next(); + ru.clearing.classes.statics.data.company.CompanySymbols companySymbolFromImdg = companySymbolsFromImdg.iterator().next(); if (companySymbolsFromImdg.size() > 1) { log.warn("For UUID found > 1 company_symbols, use first (id = {})", companySymbolFromImdg.getId()); } @@ -276,8 +272,8 @@ public class CheckMemberCompanyExist extends Stage { if (companySymbolsFromImdg.size() > 1) log.warn("For {} = {} found > 1 company_symbols, use first", companySymbol.getKey(), companySymbolValue); - CompanySymbols companySymbolFromImdg = companySymbolsFromImdg.iterator().next(); - Company companyFromImdg = companyImdg.getSingleObjectByID(companySymbolFromImdg.getCompanyId()); + ru.clearing.classes.statics.data.company.CompanySymbols companySymbolFromImdg = companySymbolsFromImdg.iterator().next(); + ru.clearing.classes.statics.data.company.Company companyFromImdg = companyImdg.getSingleObjectByID(companySymbolFromImdg.getCompanyId()); if (companyFromImdg == null) { // Случай, когда реквизиты есть, а компании нет (по сути данных ошибка в мапе) diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/legacy/ValidateMemberCompanies.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/legacy/ValidateMemberCompanies.java index 174cb40ad..9ee1eacb3 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/legacy/ValidateMemberCompanies.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/logic/legacy/ValidateMemberCompanies.java @@ -67,9 +67,9 @@ public class ValidateMemberCompanies extends Stage { @Override public ProcessResult process(CompaniesRequestParam param) { - List memberCompanyList = param.getMemberCompanyList(); + List memberCompanyList = param.getMemberCompanyList(); - for (MemberCompany company : memberCompanyList) { + for (Company company : memberCompanyList) { if (company.isInvalidData()) continue; if (StringUtils.isEmpty(company.getShortName())) { @@ -78,7 +78,7 @@ public class ValidateMemberCompanies extends Stage { continue; } - for (MemberCompanyClearingCategory companyClearingCategory : company.getCompanyClearingCategoryList()) { + for (CompanyClearingCategory companyClearingCategory : company.getCompanyClearingCategoryList()) { String workflowStatusStr = companyClearingCategory.getWorkflowStatus(); ServiceStatus workflowStatus = IEnumKey.getEnumByKey(ServiceStatus.class, workflowStatusStr); if (!validWorkflowStatus.contains(workflowStatus)) { @@ -94,7 +94,7 @@ public class ValidateMemberCompanies extends Stage { } } - for (MemberCompanySymbols companySymbols : company.getMemberCompanySymbolsList()) { + for (CompanySymbols companySymbols : company.getMemberCompanySymbolsList()) { String companySymbolStr = companySymbols.getCompanySymbol(); CompanySymbol companySymbol = IEnumKey.getEnumByKey(CompanySymbol.class, companySymbolStr); if (!validCompanySymbols.contains(companySymbol)) { @@ -108,7 +108,7 @@ public class ValidateMemberCompanies extends Stage { } } - for (MemberContact contact : company.getContactList()) { + for (Contact contact : company.getContactList()) { String contactTypeStr = contact.getContactType(); ContactTypes contactType = IEnumKey.getEnumByKey(ContactTypes.class, contactTypeStr); @@ -124,7 +124,7 @@ public class ValidateMemberCompanies extends Stage { } - for (MemberProfileDocument memberProfileDocument : company.getProfileDocumentList()) { + for (ProfileDocument memberProfileDocument : company.getProfileDocumentList()) { String documentTypeStr = memberProfileDocument.getDocumentType(); DocumentTypes documentType = IEnumKey.getEnumByKey(DocumentTypes.class, documentTypeStr); if (!validDocumentTypes.contains(documentType)) { @@ -153,7 +153,7 @@ public class ValidateMemberCompanies extends Stage { } } - for (MemberClient memberClient : company.getClientList()) { + for (Client memberClient : company.getClientList()) { if (StringUtils.isEmpty(memberClient.getClientCode())) { log.warn("client_code is null or empty for client, company.id {}", company.getId()); memberClient.setInvalidData(true); diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/WithCompanyId.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/WithCompanyId.java new file mode 100644 index 000000000..498d8694d --- /dev/null +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/WithCompanyId.java @@ -0,0 +1,7 @@ +package ru.spcex.clearing.gatewayapi.request; + +import java.util.UUID; + +public interface WithCompanyId { + UUID getCompanyId(); +} diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberClient.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/Client.java similarity index 94% rename from clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberClient.java rename to clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/Client.java index 0996dc5d9..ea56c7f08 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberClient.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/Client.java @@ -3,11 +3,12 @@ package ru.spcex.clearing.gatewayapi.request.company; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModelProperty; +import ru.spcex.clearing.gatewayapi.request.WithCompanyId; import ru.spcex.clearing.gatewayapi.request.WithMapId; import java.util.UUID; -public class MemberClient extends WithMapId { +public class Client extends WithMapId implements WithCompanyId { @JsonProperty("company_id") @ApiModelProperty( value = "Ссылка на company", @@ -44,6 +45,7 @@ public class MemberClient extends WithMapId { @JsonIgnore private Long depoAccountId = null; + @Override public UUID getCompanyId() { return companyId; } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompaniesRequest.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompaniesRequest.java index 794e2d563..68486c42a 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompaniesRequest.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompaniesRequest.java @@ -10,86 +10,86 @@ import java.util.List; public class CompaniesRequest extends CommonRequest { @JsonProperty("company") @ApiModelProperty(value = "Список компаний") - private List companyList = new ArrayList<>(); + private List companyList = new ArrayList<>(); @JsonProperty("company_info") @ApiModelProperty(value = "Список профилей участников") - private List companyInfoList = new ArrayList<>(); + private List companyInfoList = new ArrayList<>(); @JsonProperty("company_clearing_category") @ApiModelProperty(value = "Список категорий участников клиринга") - private List companyClearingCategoryList = new ArrayList<>(); + private List companyClearingCategoryList = new ArrayList<>(); @JsonProperty("company_symbols") @ApiModelProperty(value = "Список реквизитов участников") - private List memberCompanySymbolsList = new ArrayList<>(); + private List memberCompanySymbolsList = new ArrayList<>(); @JsonProperty("contact") @ApiModelProperty(value = "Список контактов участников") - private List contactList = new ArrayList<>(); + private List contactList = new ArrayList<>(); @JsonProperty("profile_document") @ApiModelProperty(value = "Список документов участников") - private List memberProfileDocumentList = new ArrayList<>(); + private List memberProfileDocumentList = new ArrayList<>(); @JsonProperty("client") @ApiModelProperty(value = "Список клиентов участников") - private List memberClientList = new ArrayList<>(); + private List memberClientList = new ArrayList<>(); - public List getCompanyList() { + public List getCompanyList() { return companyList; } - public void setCompanyList(List companyList) { + public void setCompanyList(List companyList) { this.companyList = companyList; } - public List getCompanyInfoList() { + public List getCompanyInfoList() { return companyInfoList; } - public void setCompanyInfoList(List companyInfoList) { + public void setCompanyInfoList(List companyInfoList) { this.companyInfoList = companyInfoList; } - public List getCompanyClearingCategoryList() { + public List getCompanyClearingCategoryList() { return companyClearingCategoryList; } - public void setCompanyClearingCategoryList(List companyClearingCategoryList) { + public void setCompanyClearingCategoryList(List companyClearingCategoryList) { this.companyClearingCategoryList = companyClearingCategoryList; } - public List getMemberCompanySymbolsList() { + public List getMemberCompanySymbolsList() { return memberCompanySymbolsList; } - public void setMemberCompanySymbolsList(List memberCompanySymbolsList) { + public void setMemberCompanySymbolsList(List memberCompanySymbolsList) { this.memberCompanySymbolsList = memberCompanySymbolsList; } - public List getContactList() { + public List getContactList() { return contactList; } - public void setContactList(List contactList) { + public void setContactList(List contactList) { this.contactList = contactList; } - public List getProfileDocumentList() { + public List getProfileDocumentList() { return memberProfileDocumentList; } - public void setProfileDocumentList(List memberProfileDocumentList) { + public void setProfileDocumentList(List memberProfileDocumentList) { this.memberProfileDocumentList = memberProfileDocumentList; } - public List getClientList() { + public List getClientList() { return memberClientList; } - public void setClientList(List memberClientList) { + public void setClientList(List memberClientList) { this.memberClientList = memberClientList; } } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberCompany.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/Company.java similarity index 75% rename from clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberCompany.java rename to clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/Company.java index 686fef368..103e7872a 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberCompany.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/Company.java @@ -12,7 +12,7 @@ import java.util.UUID; /** * Компания участник */ -public class MemberCompany extends WithMapId { +public class Company extends WithMapId { @JsonProperty("id") @ApiModelProperty( value = "Идентификатор участника", @@ -65,27 +65,27 @@ public class MemberCompany extends WithMapId { @ApiModelProperty(hidden = true) @JsonIgnore - private MemberCompanyInfo companyInfo; + private CompanyInfo companyInfo; @ApiModelProperty(hidden = true) @JsonIgnore - private List companyClearingCategoryList = new ArrayList<>(); + private List companyClearingCategoryList = new ArrayList<>(); @ApiModelProperty(hidden = true) @JsonIgnore - private List memberCompanySymbolsList = new ArrayList<>(); + private List memberCompanySymbolsList = new ArrayList<>(); @ApiModelProperty(hidden = true) @JsonIgnore - private List contactList = new ArrayList<>(); + private List contactList = new ArrayList<>(); @ApiModelProperty(hidden = true) @JsonIgnore - private List memberProfileDocumentList = new ArrayList<>(); + private List memberProfileDocumentList = new ArrayList<>(); @ApiModelProperty(hidden = true) @JsonIgnore - private List memberClientList = new ArrayList<>(); + private List memberClientList = new ArrayList<>(); public UUID getId() { @@ -144,51 +144,51 @@ public class MemberCompany extends WithMapId { this.initiatorCode = initiatorCode; } - public MemberCompanyInfo getCompanyInfo() { + public CompanyInfo getCompanyInfo() { return companyInfo; } - public void setCompanyInfo(MemberCompanyInfo companyInfo) { + public void setCompanyInfo(CompanyInfo companyInfo) { this.companyInfo = companyInfo; } - public List getCompanyClearingCategoryList() { + public List getCompanyClearingCategoryList() { return companyClearingCategoryList; } - public void setCompanyClearingCategoryList(List companyClearingCategoryList) { + public void setCompanyClearingCategoryList(List companyClearingCategoryList) { this.companyClearingCategoryList = companyClearingCategoryList; } - public List getMemberCompanySymbolsList() { + public List getMemberCompanySymbolsList() { return memberCompanySymbolsList; } - public void setMemberCompanySymbolsList(List memberCompanySymbolsList) { + public void setMemberCompanySymbolsList(List memberCompanySymbolsList) { this.memberCompanySymbolsList = memberCompanySymbolsList; } - public List getContactList() { + public List getContactList() { return contactList; } - public void setContactList(List contactList) { + public void setContactList(List contactList) { this.contactList = contactList; } - public List getProfileDocumentList() { + public List getProfileDocumentList() { return memberProfileDocumentList; } - public void setProfileDocumentList(List memberProfileDocumentList) { + public void setProfileDocumentList(List memberProfileDocumentList) { this.memberProfileDocumentList = memberProfileDocumentList; } - public List getClientList() { + public List getClientList() { return memberClientList; } - public void setClientList(List memberClientList) { + public void setClientList(List memberClientList) { this.memberClientList = memberClientList; } } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberCompanyClearingCategory.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompanyClearingCategory.java similarity index 93% rename from clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberCompanyClearingCategory.java rename to clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompanyClearingCategory.java index 944dfa2ce..ef9e0963d 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberCompanyClearingCategory.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompanyClearingCategory.java @@ -2,11 +2,12 @@ package ru.spcex.clearing.gatewayapi.request.company; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModelProperty; +import ru.spcex.clearing.gatewayapi.request.WithCompanyId; import ru.spcex.clearing.gatewayapi.request.WithMapId; import java.util.UUID; -public class MemberCompanyClearingCategory extends WithMapId { +public class CompanyClearingCategory extends WithMapId implements WithCompanyId { @JsonProperty("company_id") @ApiModelProperty( value = "Ссылка на company", @@ -45,6 +46,7 @@ public class MemberCompanyClearingCategory extends WithMapId { private String workflowStatus; + @Override public UUID getCompanyId() { return companyId; } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberCompanyInfo.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompanyInfo.java similarity index 96% rename from clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberCompanyInfo.java rename to clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompanyInfo.java index ed9ba5d86..f717582b8 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberCompanyInfo.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompanyInfo.java @@ -2,10 +2,11 @@ package ru.spcex.clearing.gatewayapi.request.company; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModelProperty; +import ru.spcex.clearing.gatewayapi.request.WithCompanyId; import java.util.UUID; -public class MemberCompanyInfo { +public class CompanyInfo implements WithCompanyId { @JsonProperty("company_id") @ApiModelProperty( value = "Ссылка на company", @@ -56,7 +57,7 @@ public class MemberCompanyInfo { ) private String residence; - + @Override public UUID getCompanyId() { return companyId; } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberCompanySymbols.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompanySymbols.java similarity index 95% rename from clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberCompanySymbols.java rename to clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompanySymbols.java index 518afcbb4..cbf2b4411 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberCompanySymbols.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/CompanySymbols.java @@ -2,11 +2,12 @@ package ru.spcex.clearing.gatewayapi.request.company; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModelProperty; +import ru.spcex.clearing.gatewayapi.request.WithCompanyId; import ru.spcex.clearing.gatewayapi.request.WithMapId; import java.util.UUID; -public class MemberCompanySymbols extends WithMapId { +public class CompanySymbols extends WithMapId implements WithCompanyId { @JsonProperty("company_id") @ApiModelProperty( value = "Ссылка на company", @@ -42,7 +43,7 @@ public class MemberCompanySymbols extends WithMapId { ) private String companySymbolValue; - + @Override public UUID getCompanyId() { return companyId; } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberContact.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/Contact.java similarity index 92% rename from clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberContact.java rename to clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/Contact.java index c024bc437..0722c24ec 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberContact.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/Contact.java @@ -2,11 +2,12 @@ package ru.spcex.clearing.gatewayapi.request.company; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModelProperty; +import ru.spcex.clearing.gatewayapi.request.WithCompanyId; import ru.spcex.clearing.gatewayapi.request.WithMapId; import java.util.UUID; -public class MemberContact extends WithMapId { +public class Contact extends WithMapId implements WithCompanyId { @JsonProperty("company_id") @ApiModelProperty( value = "Ссылка на компанию", @@ -34,7 +35,7 @@ public class MemberContact extends WithMapId { ) private String contactValue; - + @Override public UUID getCompanyId() { return companyId; } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberProfileDocument.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/ProfileDocument.java similarity index 96% rename from clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberProfileDocument.java rename to clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/ProfileDocument.java index 0192ed733..502a0503f 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/MemberProfileDocument.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/company/ProfileDocument.java @@ -4,12 +4,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import io.swagger.annotations.ApiModelProperty; import ru.spcex.clearing.gatewayapi.config.deserializers.LocalDateDeserializer; +import ru.spcex.clearing.gatewayapi.request.WithCompanyId; import ru.spcex.clearing.gatewayapi.request.WithMapId; import java.time.LocalDate; import java.util.UUID; -public class MemberProfileDocument extends WithMapId { +public class ProfileDocument extends WithMapId implements WithCompanyId { @JsonProperty("company_id") @ApiModelProperty( value = "Ссылка на company", @@ -73,6 +74,7 @@ public class MemberProfileDocument extends WithMapId { ) private String link; + @Override public UUID getCompanyId() { return companyId; } diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/limit/LimitRequest.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/limit/LimitRequest.java new file mode 100644 index 000000000..8c471ef3b --- /dev/null +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/limit/LimitRequest.java @@ -0,0 +1,58 @@ +package ru.spcex.clearing.gatewayapi.request.limit; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.util.UUID; + +public class LimitRequest { + @JsonProperty("result") + private String result; + @JsonProperty("description") + private String description; + @JsonProperty("id") + private UUID id; + @JsonProperty("log_file") + private String logFile; + @JsonProperty("error_file") + private String errorFile; + + public String getResult() { + return result; + } + + public void setResult(String result) { + this.result = result; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + public String getLogFile() { + return logFile; + } + + public void setLogFile(String logFile) { + this.logFile = logFile; + } + + public String getErrorFile() { + return errorFile; + } + + public void setErrorFile(String errorFile) { + this.errorFile = errorFile; + } +} diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/listing/mkr/ExchangeInstrument.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/listing/mkr/ExchangeInstrument.java index 87b755ca1..3e324c024 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/listing/mkr/ExchangeInstrument.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/request/listing/mkr/ExchangeInstrument.java @@ -186,7 +186,7 @@ public class ExchangeInstrument extends WithMapId { value = "Номер принятия Решения об утверждении Спецификации биржевого инструмента", example = "070323-01" ) - private LocalDate specificationApprovalNumber; + private String specificationApprovalNumber; @JsonProperty("workflow_status") @ApiModelProperty( @@ -332,11 +332,11 @@ public class ExchangeInstrument extends WithMapId { this.specificationApprovalDate = specificationApprovalDate; } - public LocalDate getSpecificationApprovalNumber() { + public String getSpecificationApprovalNumber() { return specificationApprovalNumber; } - public void setSpecificationApprovalNumber(LocalDate specificationApprovalNumber) { + public void setSpecificationApprovalNumber(String specificationApprovalNumber) { this.specificationApprovalNumber = specificationApprovalNumber; } 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 6a8c5fd4c..c01bf4bd1 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 @@ -7,6 +7,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.InitializingBean; import org.springframework.http.*; import org.springframework.stereotype.Service; +import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestTemplate; import ru.spcex.clearing.gatewayapi.config.GatewayApiSettings; import ru.spcex.clearing.gatewayapi.config.InboundServerSettings; @@ -100,9 +101,14 @@ public class GatewayService extends QueueConsumer implements InitializingBean { inboundRequest.setContent(content); HttpEntity request = new HttpEntity<>(inboundRequest, httpHeaders); - ResponseEntity response = restTemplate.exchange(url, HttpMethod.POST, request, Map.class); - Map bodyResponse = response.getBody(); - log.debug("Limit request complete, response: {}", bodyResponse); + try { + ResponseEntity response = restTemplate.exchange(url, HttpMethod.POST, request, Map.class); + Map bodyResponse = response.getBody(); + log.debug("Limit request complete, response: {}", bodyResponse); + } catch (HttpClientErrorException httpClientErrorException) { + //ignore +// log.warn(""); + } } public void requestOnDemandSecurity(BaseRequest userRequest) { @@ -128,6 +134,7 @@ public class GatewayService extends QueueConsumer implements InitializingBean { Map bodyResponse = response.getBody(); log.debug("LOSC task 1/2 complete (FOND section), response: {}", bodyResponse); + inboundRequest.setId(UUID.randomUUID()); inboundRequest.setSection(Section.MKR.getKey()); request = new HttpEntity<>(inboundRequest, httpHeaders); response = restTemplate.exchange(url, HttpMethod.POST, request, Map.class); diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/MultiCompanyRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/CompanyGatewayRequest.java similarity index 94% rename from platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/MultiCompanyRequest.java rename to platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/CompanyGatewayRequest.java index 4f25d70c7..4441eef1c 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/MultiCompanyRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/company/CompanyGatewayRequest.java @@ -1,81 +1,81 @@ -package ru.spcex.clearing.platform.messaging.domain.cud.company; - -import com.fasterxml.jackson.annotation.JsonProperty; -import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeNewRequest; - -import java.util.ArrayList; -import java.util.List; - -public class MultiCompanyRequest { - @JsonProperty - String uuid; - - @JsonProperty - CompanyNewRequest company; - @JsonProperty - CompanyInfoUpdateRequest companyInfo; - @JsonProperty - List profileDocuments = new ArrayList<>(); - @JsonProperty - List companySymbols = new ArrayList<>(); - @JsonProperty - List contacts = new ArrayList<>(); - @JsonProperty - List clientCodes = new ArrayList<>(); - - public String getUuid() { - return uuid; - } - - public void setUuid(String uuid) { - this.uuid = uuid; - } - - public CompanyNewRequest getCompany() { - return company; - } - - public void setCompany(CompanyNewRequest company) { - this.company = company; - } - - public CompanyInfoUpdateRequest getCompanyInfo() { - return companyInfo; - } - - public void setCompanyInfo(CompanyInfoUpdateRequest companyInfo) { - this.companyInfo = companyInfo; - } - - public List getProfileDocuments() { - return profileDocuments; - } - - public void setProfileDocuments(List profileDocuments) { - this.profileDocuments = profileDocuments; - } - - public List getCompanySymbols() { - return companySymbols; - } - - public void setCompanySymbols(List companySymbols) { - this.companySymbols = companySymbols; - } - - public List getContacts() { - return contacts; - } - - public void setContacts(List contacts) { - this.contacts = contacts; - } - - public List getClientCodes() { - return clientCodes; - } - - public void setClientCodes(List clientCodes) { - this.clientCodes = clientCodes; - } -} +package ru.spcex.clearing.platform.messaging.domain.cud.company; + +import com.fasterxml.jackson.annotation.JsonProperty; +import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeNewRequest; + +import java.util.ArrayList; +import java.util.List; + +public class CompanyGatewayRequest { + @JsonProperty + String uuid; + + @JsonProperty + CompanyNewRequest company; + @JsonProperty + CompanyInfoUpdateRequest companyInfo; + @JsonProperty + List profileDocuments = new ArrayList<>(); + @JsonProperty + List companySymbols = new ArrayList<>(); + @JsonProperty + List contacts = new ArrayList<>(); + @JsonProperty + List clientCodes = new ArrayList<>(); + + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + public CompanyNewRequest getCompany() { + return company; + } + + public void setCompany(CompanyNewRequest company) { + this.company = company; + } + + public CompanyInfoUpdateRequest getCompanyInfo() { + return companyInfo; + } + + public void setCompanyInfo(CompanyInfoUpdateRequest companyInfo) { + this.companyInfo = companyInfo; + } + + public List getProfileDocuments() { + return profileDocuments; + } + + public void setProfileDocuments(List profileDocuments) { + this.profileDocuments = profileDocuments; + } + + public List getCompanySymbols() { + return companySymbols; + } + + public void setCompanySymbols(List companySymbols) { + this.companySymbols = companySymbols; + } + + public List getContacts() { + return contacts; + } + + public void setContacts(List contacts) { + this.contacts = contacts; + } + + public List getClientCodes() { + return clientCodes; + } + + public void setClientCodes(List clientCodes) { + this.clientCodes = clientCodes; + } +}