etreschenkov 2025-09-01 17:24:10 +03:00
parent be519bc4c4
commit 2e6e453f69
2 changed files with 26 additions and 14 deletions

View file

@ -1,6 +1,9 @@
package ru.spcex.clearing.company.service; package ru.spcex.clearing.company.service;
import java.util.Objects;
import java.util.Optional;
import java.util.function.Function;
import org.apache.kafka.clients.consumer.Consumer; import org.apache.kafka.clients.consumer.Consumer;
import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.Producer;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -20,7 +23,6 @@ import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanySymbolNewR
import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanySymbolUpdateRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanySymbolUpdateRequest;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
import ru.spcex.clearing.platform.messaging.service.Status;
import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.util.security.UserRoleVerification;
import ru.spcex.clearing.util.services.RequestHelper; import ru.spcex.clearing.util.services.RequestHelper;
import ru.spcex.clearing.validation.common.ValidationHelper; import ru.spcex.clearing.validation.common.ValidationHelper;
@ -34,10 +36,6 @@ import ru.spcex.platform.utils.error.ClearingBaseException;
import ru.spcex.platform.utils.error.ValidationException; import ru.spcex.platform.utils.error.ValidationException;
import ru.spcex.platform.utils.validation.IValidator; import ru.spcex.platform.utils.validation.IValidator;
import java.util.Objects;
import java.util.Optional;
import java.util.function.Function;
@Service @Service
public class CompanySymbolService extends QueueConsumer implements InitializingBean { public class CompanySymbolService extends QueueConsumer implements InitializingBean {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
@ -113,10 +111,12 @@ public class CompanySymbolService extends QueueConsumer implements InitializingB
public Long create(CompanySymbolNewRequest symbolRequest) throws ValidationException { public Long create(CompanySymbolNewRequest symbolRequest) throws ValidationException {
log.debug("CompanySymbolNewRequest received"); log.debug("CompanySymbolNewRequest received");
{ // validate { // validate
IValidator validator = companySymbolNewRequestValidator.apply(symbolRequest); if (!symbolRequest.getCompanySymbol().equals("TAXN")) {
Optional<EnumMessage> error = validator.tillFirstError(); IValidator validator = companySymbolNewRequestValidator.apply(symbolRequest);
if (error.isPresent()) { Optional<EnumMessage> error = validator.tillFirstError();
throw new ValidationException(error.get()); if (error.isPresent()) {
throw new ValidationException(error.get());
}
} }
} }
@ -139,7 +139,9 @@ public class CompanySymbolService extends QueueConsumer implements InitializingB
boolean txOk = false; boolean txOk = false;
try { try {
Imdg<CompanySymbols> companySymbolsTMap = transaction.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class); Imdg<CompanySymbols> companySymbolsTMap = transaction.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
companySymbolsTMap.update(newSymbol); if (!newSymbol.getCompanySymbol().equals("TAXN")) {
companySymbolsTMap.update(newSymbol);
}
Imdg<Company> companyMap = transaction.getImdg(IMDGDistributedNames.Map_Company, Company.class); Imdg<Company> companyMap = transaction.getImdg(IMDGDistributedNames.Map_Company, Company.class);
Company company = companyMap.getSingleObjectByID(newSymbol.getCompanyId()); Company company = companyMap.getSingleObjectByID(newSymbol.getCompanyId());
@ -163,8 +165,10 @@ public class CompanySymbolService extends QueueConsumer implements InitializingB
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(symbolRequest); RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(symbolRequest);
if (requestInfoUpdate != null) return requestInfoUpdate; if (requestInfoUpdate != null) return requestInfoUpdate;
requestInfoUpdate = validationHelper.validateTillFirstError(symbolRequest, companySymbolUpdateRequestValidator); if (!req.getCompanySymbol().equals("TAXN")) {
if (requestInfoUpdate != null) return requestInfoUpdate; requestInfoUpdate = validationHelper.validateTillFirstError(symbolRequest, companySymbolUpdateRequestValidator);
if (requestInfoUpdate != null) return requestInfoUpdate;
}
} }
CompanySymbols companySymbols; CompanySymbols companySymbols;
ImdgTransaction transaction = imdgProvider.newTransaction(); ImdgTransaction transaction = imdgProvider.newTransaction();
@ -183,7 +187,9 @@ public class CompanySymbolService extends QueueConsumer implements InitializingB
companySymbols.setCompanySymbol(req.getCompanySymbol()); companySymbols.setCompanySymbol(req.getCompanySymbol());
} }
companySymbols.setCompanySymbolValue(req.getCompanySymbolValue()); companySymbols.setCompanySymbolValue(req.getCompanySymbolValue());
companySymbolsTMap.update(companySymbols); if (!companySymbols.getCompanySymbol().equals("TAXN")) {
companySymbolsTMap.update(companySymbols);
}
companyService.updateCompanyBySymbol(transaction, companySymbols, false); companyService.updateCompanyBySymbol(transaction, companySymbols, false);
txOk = true; txOk = true;
} catch (ClearingBaseException e) { } catch (ClearingBaseException e) {

View file

@ -44,7 +44,13 @@ public class CompanyRequestAdapter {
public CompanyInfoUpdateRequest toCompanyInfoRequest(CompanyInfo companyInfo) { public CompanyInfoUpdateRequest toCompanyInfoRequest(CompanyInfo companyInfo) {
CompanyInfoUpdateRequest companyInfoUpdateRequest = new CompanyInfoUpdateRequest(); CompanyInfoUpdateRequest companyInfoUpdateRequest = new CompanyInfoUpdateRequest();
companyInfoUpdateRequest.setCountryCode("RUS"); // todo в текущей версии ТЗ присылается в цифровом обозначении String resCountryCode;
switch (companyInfo.getCountryCode()) {
case 643 -> resCountryCode = "RUS";
case 998 -> resCountryCode = "WRLD";
default -> resCountryCode = "XTRN";
}
companyInfoUpdateRequest.setCountryCode(resCountryCode);
companyInfoUpdateRequest.setProfessionalSign(companyInfo.getProfessionalSign()); companyInfoUpdateRequest.setProfessionalSign(companyInfo.getProfessionalSign());
companyInfoUpdateRequest.setLegalKind(companyInfo.getLegalKind()); companyInfoUpdateRequest.setLegalKind(companyInfo.getLegalKind());
companyInfoUpdateRequest.setOrganizationType(companyInfo.getOrganizationType()); companyInfoUpdateRequest.setOrganizationType(companyInfo.getOrganizationType());