This commit is contained in:
parent
2e6e453f69
commit
42c0b6b9d1
7 changed files with 47 additions and 21 deletions
|
|
@ -158,13 +158,20 @@ public class CompanyValidationConfig {
|
||||||
CorporationSoleTypeDictionary.class,
|
CorporationSoleTypeDictionary.class,
|
||||||
CompanyErrors.RequiredFieldEmpty,
|
CompanyErrors.RequiredFieldEmpty,
|
||||||
CompanyErrors.DictionaryNotFound, false),
|
CompanyErrors.DictionaryNotFound, false),
|
||||||
DictionaryPresentRule.instance("CountryCode",
|
IdPresentRule.instance("CountryCodeId",
|
||||||
CompanyInfoUpdateRequest::getCountryCode,
|
CompanyInfoUpdateRequest::getCountryCodeId,
|
||||||
IMDGDistributedNames.Map_CountryCodeDictionary,
|
IMDGDistributedNames.Map_CountryCodeDictionary,
|
||||||
CountryCodeDictionary.class,
|
CountryCodeDictionary.class,
|
||||||
CompanyErrors.RequiredFieldEmpty,
|
CompanyErrors.RequiredFieldEmpty,
|
||||||
CompanyErrors.DictionaryNotFound,
|
CompanyErrors.DictionaryNotFound,
|
||||||
false),
|
false),
|
||||||
|
DictionaryPresentRule.instance("CountryCode",
|
||||||
|
CompanyInfoUpdateRequest::getCountryCode,
|
||||||
|
IMDGDistributedNames.Map_CountryCodeDictionary,
|
||||||
|
CountryCodeDictionary.class,
|
||||||
|
CompanyErrors.RequiredFieldEmpty,
|
||||||
|
CompanyErrors.DictionaryNotFound,
|
||||||
|
false),
|
||||||
DictionaryPresentRule.instance("ProfessionalSign",
|
DictionaryPresentRule.instance("ProfessionalSign",
|
||||||
CompanyInfoUpdateRequest::getProfessionalSign,
|
CompanyInfoUpdateRequest::getProfessionalSign,
|
||||||
IMDGDistributedNames.Map_AllowedDictionary,
|
IMDGDistributedNames.Map_AllowedDictionary,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
package ru.spcex.clearing.company.service;
|
package ru.spcex.clearing.company.service;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.function.Function;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
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;
|
||||||
|
|
@ -11,6 +14,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.clearing.classes.statics.data.company.Company;
|
import ru.clearing.classes.statics.data.company.Company;
|
||||||
import ru.clearing.classes.statics.data.profile.CompanyInfo;
|
import ru.clearing.classes.statics.data.profile.CompanyInfo;
|
||||||
|
import ru.clearing.platform.dictionary.CountryCodeDictionary;
|
||||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
|
|
@ -27,15 +31,12 @@ import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||||
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.time.Instant;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.function.Function;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class CompanyInfoService extends QueueConsumer implements InitializingBean {
|
public class CompanyInfoService extends QueueConsumer implements InitializingBean {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
private final ImdgProvider imdgProvider;
|
private final ImdgProvider imdgProvider;
|
||||||
private final Imdg<Company> companyMap;
|
private final Imdg<Company> companyMap;
|
||||||
|
private final Imdg<CountryCodeDictionary> countryCodeDictionaryImdg;
|
||||||
protected final CompanyService companyService;
|
protected final CompanyService companyService;
|
||||||
private final RequestHelper requestHelper;
|
private final RequestHelper requestHelper;
|
||||||
private final ValidationHelper validationHelper;
|
private final ValidationHelper validationHelper;
|
||||||
|
|
@ -53,6 +54,7 @@ public class CompanyInfoService extends QueueConsumer implements InitializingBea
|
||||||
this.companyService = companyService;
|
this.companyService = companyService;
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
this.companyMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
this.companyMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||||
|
this.countryCodeDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CountryCodeDictionary, CountryCodeDictionary.class);
|
||||||
this.validationHelper = validationHelper;
|
this.validationHelper = validationHelper;
|
||||||
this.userRoleVerification = userRoleVerification;
|
this.userRoleVerification = userRoleVerification;
|
||||||
this.companyInfoUpdateRequestValidator = companyInfoUpdateRequestValidator;
|
this.companyInfoUpdateRequestValidator = companyInfoUpdateRequestValidator;
|
||||||
|
|
@ -87,6 +89,7 @@ public class CompanyInfoService extends QueueConsumer implements InitializingBea
|
||||||
log.trace("Company {} not found", req.getId());
|
log.trace("Company {} not found", req.getId());
|
||||||
return requestHelper.makeErrorResponse(companyInfoReq, CompanyErrors.CompanyNotFound, companyInfoReq.getId());
|
return requestHelper.makeErrorResponse(companyInfoReq, CompanyErrors.CompanyNotFound, companyInfoReq.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
company.setUpdated(Instant.now());
|
company.setUpdated(Instant.now());
|
||||||
if (StringUtils.isNotEmpty(req.getShortName()))
|
if (StringUtils.isNotEmpty(req.getShortName()))
|
||||||
company.setShortName(req.getShortName());
|
company.setShortName(req.getShortName());
|
||||||
|
|
@ -94,7 +97,12 @@ public class CompanyInfoService extends QueueConsumer implements InitializingBea
|
||||||
company.setFullName(req.getFullName());
|
company.setFullName(req.getFullName());
|
||||||
CompanyInfo companyInfo = company.getProfile();
|
CompanyInfo companyInfo = company.getProfile();
|
||||||
|
|
||||||
companyInfo.setCountryCode(req.getCountryCode());
|
String countryCode = req.getCountryCode();
|
||||||
|
if (req.getCountryCodeId() != null) {
|
||||||
|
CountryCodeDictionary countryCodeDictionary = countryCodeDictionaryImdg.getSingleObjectByID(req.getCountryCodeId());
|
||||||
|
countryCode = countryCodeDictionary.getCode();
|
||||||
|
}
|
||||||
|
companyInfo.setCountryCode(countryCode);
|
||||||
companyInfo.setProfessionalSign(req.getProfessionalSign());
|
companyInfo.setProfessionalSign(req.getProfessionalSign());
|
||||||
companyInfo.setLegalKind(req.getLegalKind());
|
companyInfo.setLegalKind(req.getLegalKind());
|
||||||
companyInfo.setOrganizationType(req.getOrganizationType());
|
companyInfo.setOrganizationType(req.getOrganizationType());
|
||||||
|
|
|
||||||
|
|
@ -161,10 +161,7 @@ public class MultiCompanyService
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<CompanySymbolNewRequest> companySymbolNewRequests = req.getCompanySymbols().stream()
|
for (CompanySymbolNewRequest partRequest : req.getCompanySymbols()) {
|
||||||
.filter(companySymbolNewRequest -> !companySymbolNewRequest.getCompanySymbol().equals("TAXN"))
|
|
||||||
.toList();
|
|
||||||
for (CompanySymbolNewRequest partRequest : companySymbolNewRequests) {
|
|
||||||
CompanySymbols existSymbol = findCompanySymbols(partRequest);
|
CompanySymbols existSymbol = findCompanySymbols(partRequest);
|
||||||
if (existSymbol == null) {
|
if (existSymbol == null) {
|
||||||
log.trace("For company[{}] do new companySymbol", companyId);
|
log.trace("For company[{}] do new companySymbol", companyId);
|
||||||
|
|
|
||||||
|
|
@ -44,17 +44,21 @@ public class CompanyRequestAdapter {
|
||||||
|
|
||||||
public CompanyInfoUpdateRequest toCompanyInfoRequest(CompanyInfo companyInfo) {
|
public CompanyInfoUpdateRequest toCompanyInfoRequest(CompanyInfo companyInfo) {
|
||||||
CompanyInfoUpdateRequest companyInfoUpdateRequest = new CompanyInfoUpdateRequest();
|
CompanyInfoUpdateRequest companyInfoUpdateRequest = new CompanyInfoUpdateRequest();
|
||||||
String resCountryCode;
|
Long counterCodeId = Long.valueOf(companyInfo.getCountryCode());
|
||||||
switch (companyInfo.getCountryCode()) {
|
companyInfoUpdateRequest.setCountryCodeId(counterCodeId);
|
||||||
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());
|
||||||
companyInfoUpdateRequest.setResidence(companyInfo.getResidence());
|
|
||||||
|
String residence;
|
||||||
|
if (counterCodeId == 643L) {
|
||||||
|
residence = "RUS";
|
||||||
|
} else if (counterCodeId == 998L) {
|
||||||
|
residence = "WRLD";
|
||||||
|
} else {
|
||||||
|
residence = "XTRN";
|
||||||
|
}
|
||||||
|
companyInfoUpdateRequest.setResidence(residence);
|
||||||
return companyInfoUpdateRequest;
|
return companyInfoUpdateRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ public class CompanyHistoryMapStore extends BusinessEventMapStore<CompanyHistory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
batchInsertUpdate(insertStatement, batchArgs);
|
batchInsertUpdate(insertStatement, batchArgs);
|
||||||
batchInsertUpdate(insertCompanyInfoStatement, batchCompanyInfoArgs);
|
batchInsertUpdate(insertCompanyInfoStatement, batchCompanyInfoArgs, "COMPANY_INFO_HISTORY", getFieldsForCompanyInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ public class CompanyMapStore extends BusinessObjectMapStore<Company> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
batchInsertUpdate(insertStatement, batchArgs);
|
batchInsertUpdate(insertStatement, batchArgs);
|
||||||
batchInsertUpdate(insertCompanyInfoStatement, batchCompanyInfoArgs);
|
batchInsertUpdate(insertCompanyInfoStatement, batchCompanyInfoArgs, "COMPANY_INFO", getFieldsForCompanyInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@ public class CompanyInfoUpdateRequest {
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private String countryCode;
|
private String countryCode;
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
|
private Long countryCodeId;
|
||||||
|
@JsonProperty
|
||||||
private String description;
|
private String description;
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private String professionalSign;
|
private String professionalSign;
|
||||||
|
|
@ -66,6 +68,14 @@ public class CompanyInfoUpdateRequest {
|
||||||
this.countryCode = countryCode;
|
this.countryCode = countryCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Long getCountryCodeId() {
|
||||||
|
return countryCodeId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCountryCodeId(Long countryCodeId) {
|
||||||
|
this.countryCodeId = countryCodeId;
|
||||||
|
}
|
||||||
|
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return description;
|
return description;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue