From 28006c3a331250a4f11e2285ed558d7a71ace9ef Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 21 Jun 2023 12:08:00 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B7=D0=B0=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20id=20=D1=83=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81?= =?UTF-8?q?=D0=B0=20=D0=BE=D1=82=20gateway?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../company/service/CompanyService.java | 16 ++++++----- .../company/service/MultiCompanyService.java | 28 +++++++++---------- 2 files changed, 23 insertions(+), 21 deletions(-) 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 e21714ee3..333e2bc34 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 @@ -121,7 +121,15 @@ public class CompanyService extends QueueConsumer implements InitializingBean { try { ActionType actionType = request.getActionType(); switch (actionType) { - case NEW -> create((CompanyNewRequest) request.getRequestPayload()); + case NEW -> { + CompanyNewRequest companyNewRequest = (CompanyNewRequest) request.getRequestPayload(); + IValidator validator = companyNewRequestValidator.apply(companyNewRequest); + Optional error = validator.tillFirstError(); + if (error.isPresent()){ + return new RequestInfoUpdate(request.getId(), Status.Error, error.get().toString()); + } + create(companyNewRequest); + } case UPDATE -> update((CompanyNewRequest) request.getRequestPayload()); } } catch (ValidationException e) { @@ -132,12 +140,6 @@ public class CompanyService extends QueueConsumer implements InitializingBean { public synchronized Long create(CompanyNewRequest companyNewRequest) throws ValidationException { log.debug("creating new company"); - IValidator validator = companyNewRequestValidator.apply(companyNewRequest); - Optional error = validator.tillFirstError(); - if (error.isPresent()) { - throw new ValidationException(error.get()); - } - Instant now = Instant.now(); Company company = new Company(); company.setId(idSequence.nextId()); 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 7cb7ecba8..244eaeb0f 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 @@ -120,7 +120,9 @@ public class MultiCompanyService if (companyId == null) { companyId = companyService.create(req.getCompany()); log.debug("The companyId={}", companyId); + fillCompanyId(req, companyId); } else { + fillCompanyId(req, companyId); companyService.update(req.getCompany()); } @@ -144,20 +146,18 @@ public class MultiCompanyService } } - //todo по идее эта логика выполнена в companyService.create(req.getCompany()) -// for (CompanySymbolNewRequest partRequest : req.getCompanySymbols()) { -// CompanySymbols existSymbol = findCompanySymbols(partRequest); -// if (existSymbol == null) { -// log.trace("For company[{}] do new companySymbol", companyId); -// Long id = companySymbolService.create(partRequest); -// validateReply(companyId, "companySymbolNew", replyI); -// } else { -// log.trace("For company[{}] do update companySymbol[{}]", companyId, existSymbol.getId()); -// CompanySymbolUpdateRequest partUpdateRequest = createUpdateRequest(existSymbol, partRequest); -// replyI = companySymbolService.companySymbolUpdate(wrapRequest(baseRequest, partUpdateRequest, ActionType.UPDATE)); -// validateReply(companyId, "companySymbolUpdate", replyI); -// } -// } + for (CompanySymbolNewRequest partRequest : req.getCompanySymbols()) { + CompanySymbols existSymbol = findCompanySymbols(partRequest); + if (existSymbol == null) { + log.trace("For company[{}] do new companySymbol", companyId); + Long id = companySymbolService.create(partRequest); + } else { + log.trace("For company[{}] do update companySymbol[{}]", companyId, existSymbol.getId()); + CompanySymbolUpdateRequest partUpdateRequest = createUpdateRequest(existSymbol, partRequest); + replyI = companySymbolService.companySymbolUpdate(wrapRequest(baseRequest, partUpdateRequest, ActionType.UPDATE)); + validateReply(companyId, "companySymbolUpdate", replyI); + } + } for (ContactNewRequest partRequest : req.getContacts()) { Contact existContact = findContact(partRequest); if (existContact == null) {