company-service CompanyService, CompanySymbolService

This commit is contained in:
AKurakin 2023-04-07 17:59:28 +03:00
parent b0e7595d73
commit 83a513f629
7 changed files with 299 additions and 30 deletions

View file

@ -0,0 +1,106 @@
package ru.spcex.clearing.company.config.validation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.company.CompanySymbols;
import ru.clearing.platform.dictionary.*;
import ru.spcex.clearing.company.error.CompanyErrors;
import ru.spcex.clearing.company.validation.CompanySymbolNotExistRule;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanyInfoUpdateRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanyNewRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanySymbolUpdateRequest;
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
import ru.spcex.clearing.validation.common.rules.EnumPresentRule;
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
import ru.spcex.platform.classes.base.SpcexObjectBase;
import ru.spcex.platform.enumeration.CompanySymbol;
import ru.spcex.platform.enumeration.WorkflowStatus;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.utils.validation.IValidator;
import ru.spcex.platform.utils.validation.ValidatorImpl;
import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Function;
@Configuration
public class CompanySymbolValidationConfig {
@Bean("companySymbolNewRequestValidator")
public Function<CompanySymbolUpdateRequest, IValidator> companySymbolNewRequestValidator(Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation) {
return companySymbolUpdateRequest -> {
ImdgValidationContext<CompanySymbolUpdateRequest> context = new ImdgValidationContext<>();
context.setValidatedObject(companySymbolUpdateRequest);
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
// addImdg.accept(IMDGDistributedNames.Map_CompanySymbols);
addImdg.accept(IMDGDistributedNames.Map_CompanySymbolDictionary);
addImdg.accept(IMDGDistributedNames.Map_Company);
return new ValidatorImpl<>(context,
FieldRequiredRule.instance("companyId", CompanySymbolUpdateRequest::getCompanyId, CompanyErrors.RequiredFieldEmpty),
IdPresentRule.instance("companyId",
CompanySymbolUpdateRequest::getCompanyId,
IMDGDistributedNames.Map_Company,
Company.class,
CompanyErrors.RequiredFieldEmpty,
CompanyErrors.CompanyNotFound),
// FieldRequiredRule.instance("companySymbol", CompanySymbolUpdateRequest::getCompanySymbol, CompanyErrors.RequiredFieldEmpty),
// FieldRequiredRule.instance("companySymbolValue", CompanySymbolUpdateRequest::getCompanySymbolValue, CompanyErrors.RequiredFieldEmpty),
DictionaryPresentRule.instance("companySymbol",
CompanySymbolUpdateRequest::getCompanySymbol,
IMDGDistributedNames.Map_CompanySymbolDictionary,
CompanySymbolDictionary.class,
CompanyErrors.RequiredFieldEmpty,
CompanyErrors.WrongFieldValue,
false)
// , new CompanySymbolNotExistRule() чтобы применить это правило, необходимо сделать дополнительный тип в его методе
);
};
}
@Bean("companySymbolUpdateRequestValidator")
public Function<CompanySymbolUpdateRequest, IValidator> companySymbolUpdateRequestValidator(Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation) {
return companySymbolUpdateRequest -> {
ImdgValidationContext<CompanySymbolUpdateRequest> context = new ImdgValidationContext<>();
context.setValidatedObject(companySymbolUpdateRequest);
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
addImdg.accept(IMDGDistributedNames.Map_CompanySymbols);
addImdg.accept(IMDGDistributedNames.Map_CompanySymbolDictionary);
addImdg.accept(IMDGDistributedNames.Map_Company);
return new ValidatorImpl<ImdgValidationContext<CompanySymbolUpdateRequest>>(context,
IdPresentRule.instance("id",
CompanySymbolUpdateRequest::getId,
IMDGDistributedNames.Map_CompanySymbols,
CompanySymbols.class,
CompanyErrors.RequiredFieldEmpty,
CompanyErrors.CompanyInfoNotFound,
(CompanySymbols existSymbol) -> {
assert existSymbol.getId().equals(context.getValidatedObject().getId());
return existSymbol.getCompanySymbol().equals(context.getValidatedObject().getCompanySymbol())
? null : CompanyErrors.EditCompanySymbols;
}),
FieldRequiredRule.instance("companyId", CompanySymbolUpdateRequest::getCompanyId, CompanyErrors.RequiredFieldEmpty),
IdPresentRule.instance("companyId",
CompanySymbolUpdateRequest::getCompanyId,
IMDGDistributedNames.Map_Company,
Company.class,
CompanyErrors.RequiredFieldEmpty,
CompanyErrors.CompanyNotFound),
// FieldRequiredRule.instance("companySymbol", CompanySymbolUpdateRequest::getCompanySymbol, CompanyErrors.RequiredFieldEmpty),
// FieldRequiredRule.instance("companySymbolValue", CompanySymbolUpdateRequest::getCompanySymbolValue, CompanyErrors.RequiredFieldEmpty),
DictionaryPresentRule.instance("companySymbol",
CompanySymbolUpdateRequest::getCompanySymbol,
IMDGDistributedNames.Map_CompanySymbolDictionary,
CompanySymbolDictionary.class,
CompanyErrors.RequiredFieldEmpty,
CompanyErrors.WrongFieldValue,
false)
);
};
}
}

View file

@ -22,12 +22,15 @@ import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
import ru.spcex.clearing.util.security.UserRoleVerification;
import ru.spcex.clearing.validation.common.ValidationHelper;
import ru.spcex.platform.enumeration.CompanySymbol;
import ru.spcex.platform.enumeration.UserRole;
import ru.spcex.platform.enumeration.WorkflowStatus;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgId;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.ImdgTransaction;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.error.ClearingBaseException;
import ru.spcex.platform.utils.error.ValidationException;
import ru.spcex.platform.utils.validation.IValidator;
@ -42,10 +45,8 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
private final Logger log = LoggerFactory.getLogger(getClass());
private final RequestHelper requestHelper;
private final ImdgProvider imdgProvider;
private final Imdg<CompanySymbols> companySymbolsMap;
private final ImdgId idSequence;
protected UserRoleVerification userRoleVerification;
protected IMessageResolver messageResolver;
private ValidationHelper validationHelper;
private Function<CompanyNewRequest, IValidator> companyNewRequestValidator;
@ -77,14 +78,15 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
this.imdgProvider = imdgProvider;
this.requestHelper = requestHelper.setLogger(log);
this.companySymbolsMap = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
this.idSequence = imdgProvider.getImdgIdGenerator();
this.userRoleVerification = userRoleVerification;
userRoleVerification.setRoleForVerification(UserRole.Admin);
this.validationHelper = validationHelper;
this.companyNewRequestValidator = companyNewRequestValidator;
this.companyUpdateRequestValidator = companyUpdateRequestValidator;
this.companyDeleteRequestValidator = companyDeleteRequestValidator;
this.companySymbolService = companySymbolService;
companySymbolService.setCompanyService(this);
this.accountNotification = accountNotification;
this.relationHelper = relationHelper;
}
@ -213,18 +215,36 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
assert company.getId().equals(companySymbol.getCompanyId());
if (CompanySymbol.TRDC.equalsByKey(companySymbol.getCompanySymbol())) {
company.setTradingCode(companySymbol.getCompanySymbolValue());
} else {
company.setTradingCode(null);
}
if (CompanySymbol.CLRC.equalsByKey(companySymbol.getCompanySymbol())) {
company.setClearingCode(companySymbol.getCompanySymbolValue());
} else {
company.setClearingCode(null);
}
if (CompanySymbol.RGRC.equalsByKey(companySymbol.getCompanySymbol())) {
company.setRegistrationCode(companySymbol.getCompanySymbolValue());
}
}
public synchronized void updateCompanyBySymbol(ImdgTransaction transaction, CompanySymbols companySymbol) throws ClearingBaseException {
if (companySymbol.getCompanyId() == null) {
throw new IllegalArgumentException("Required companySymbol.companyId");
}
if (CompanySymbol.TRDC.equalsByKey(companySymbol.getCompanySymbol())
|| CompanySymbol.CLRC.equalsByKey(companySymbol.getCompanySymbol())
|| CompanySymbol.RGRC.equalsByKey(companySymbol.getCompanySymbol())) {
Imdg<Company> companyMap = transaction.getImdg(IMDGDistributedNames.Map_Company, Company.class);
Company company = companyMap.getSingleObjectByID(companySymbol.getCompanyId());
if (company == null) {
throw new ClearingBaseException(new EnumMessage(CompanyErrors.CompanyNotFound, companySymbol.getCompanyId()));
}
updateCompanyBySymbol(company, companySymbol);
company.setUpdated(Instant.now());
companyMap.update(company);
log.debug("Company {} updated by change CompanySymbols {} ({})",
company.getId(), companySymbol.getId(), companySymbol.getCompanySymbol());
} else {
company.setRegistrationCode(null);
log.trace("No need update company {} by changed companySymbols {}",
companySymbol.getCompanyId(), companySymbol.getCompanySymbol());
}
}
@ -257,14 +277,6 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
company.setUpdated(Instant.now());
CompanySymbols companySymbol = companySymbolsMap.getSingleObjectByFieldValues(Map.of("companyId", company.getId()));
if (companySymbol == null) {
log.warn("CompanySymbols not found for companyId={}", company.getId());
} else {
log.trace("Found CompanySymbols.id={} for companyId={}", companySymbol.getId(), company.getId());
updateCompanyBySymbol(company, companySymbol);
}
String prevStatus = company.getWorkflowStatus();
company.setWorkflowStatus(WorkflowStatus.Blocked.getKey());

View file

@ -7,51 +7,159 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.company.CompanySymbols;
import ru.spcex.clearing.company.util.RequestHelper;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts;
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.RequestInfoUpdate;
import ru.spcex.clearing.util.security.UserRoleVerification;
import ru.spcex.clearing.validation.common.ValidationHelper;
import ru.spcex.platform.enumeration.UserRole;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgId;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.ImdgTransaction;
import ru.spcex.platform.utils.error.ClearingBaseException;
import ru.spcex.platform.utils.validation.IValidator;
import java.util.Objects;
import java.util.function.Function;
@Service
public class CompanySymbolService extends QueueConsumer implements InitializingBean {
private final Logger log = LoggerFactory.getLogger(getClass());
private final Imdg<CompanySymbols> companySymbolsMap;
private final ImdgProvider imdgProvider;
// private final Imdg<CompanySymbols> companySymbolsMap;
private final ImdgId idSequence;
protected CompanyService companyService;
private final RequestHelper requestHelper;
protected ValidationHelper validationHelper;
protected UserRoleVerification userRoleVerification;
protected Function<CompanySymbolUpdateRequest, IValidator> companySymbolNewRequestValidator;
protected Function<CompanySymbolUpdateRequest, IValidator> companySymbolUpdateRequestValidator;
@Autowired
public CompanySymbolService(Consumer<String, Object> kafkaQueue, Producer<String, Object> kafkaProducer,
ImdgProvider imdgProvider) {
ImdgProvider imdgProvider,
RequestHelper requestHelper,
ValidationHelper validationHelper,
UserRoleVerification userRoleVerification,
@Qualifier("companySymbolNewRequestValidator")
Function<CompanySymbolUpdateRequest, IValidator> companySymbolNewRequestValidator,
@Qualifier("companySymbolUpdateRequestValidator")
Function<CompanySymbolUpdateRequest, IValidator> companySymbolUpdateRequestValidator
) {
super(kafkaQueue, kafkaProducer);
this.companySymbolsMap = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
this.imdgProvider = imdgProvider;
this.idSequence = imdgProvider.getImdgIdGenerator();
this.requestHelper = requestHelper.setLogger(log);
this.validationHelper = validationHelper;
this.userRoleVerification = userRoleVerification;
userRoleVerification.setRoleForVerification(UserRole.Admin);
this.companySymbolNewRequestValidator = companySymbolNewRequestValidator;
this.companySymbolUpdateRequestValidator = companySymbolUpdateRequestValidator;
}
@Override
public void afterPropertiesSet() {
callback(CompanySymbolUpdateRequest.class)
.setConsumer(this::companySymbolUpdate)
.setFunction(this::companySymbolNew)
.forDestination(Consts.DESTINATION_COMPANY_SYMBOL_NEW, callbacks::put);
callback(CompanySymbolUpdateRequest.class)
.setFunction(this::companySymbolUpdate)
.forDestination(Consts.DESTINATION_COMPANY_SYMBOL_UPDATE, callbacks::put);
init();
}
public void companySymbolUpdate(BaseRequest<CompanySymbolUpdateRequest> userRequest) {
CompanySymbolUpdateRequest req = userRequest.getRequestPayload();
log.debug("CompanySymbolUpdateRequest received");
CompanySymbols companySymbols = companySymbolsMap.getSingleObjectByID(req.getId());
// companySymbols.setCompanySymbol(req.getCompanySymbol()); по ТЗ не должен менятся при обновлении
public void setCompanyService(CompanyService companyService) {
this.companyService = companyService;
}
public RequestInfoUpdate companySymbolNew(BaseRequest<CompanySymbolUpdateRequest> symbolRequest) {
CompanySymbolUpdateRequest req = symbolRequest.getRequestPayload();
log.debug("CompanySymbolNewRequest received, id={}", symbolRequest.getId());
{ // validate
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(symbolRequest);
if (requestInfoUpdate != null) return requestInfoUpdate;
requestInfoUpdate = validationHelper.validateTillFirstError(symbolRequest, companySymbolNewRequestValidator);
if (requestInfoUpdate != null) return requestInfoUpdate;
}
CompanySymbols companySymbols = new CompanySymbols();
companySymbols.setId(idSequence.nextId());
companySymbols.setCompanyId(req.getCompanyId());
companySymbols.setCompanySymbol(req.getCompanySymbol());
companySymbols.setCompanySymbolValue(req.getCompanySymbolValue());
companySymbolsMap.update(companySymbols);
ImdgTransaction transaction = imdgProvider.newTransaction();
transaction.beginTransaction();
boolean txOk = false;
try {
Imdg<CompanySymbols> companySymbolsMap = transaction.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
companySymbolsMap.update(companySymbols);
try {
companyService.updateCompanyBySymbol(transaction, companySymbols);
} catch (ClearingBaseException e) {
return requestHelper.makeErrorResponse(symbolRequest, e.getEnumMsg());
}
txOk = true;
} finally {
if (txOk)
transaction.commitTransaction();
else
transaction.rollbackTransaction();
}
log.debug("successfully processed, id {}", companySymbols.getId());
return null;
}
public RequestInfoUpdate companySymbolUpdate(BaseRequest<CompanySymbolUpdateRequest> symbolRequest) {
CompanySymbolUpdateRequest req = symbolRequest.getRequestPayload();
log.debug("CompanySymbolUpdateRequest received, id={}", symbolRequest.getId());
{ // validate
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(symbolRequest);
if (requestInfoUpdate != null) return requestInfoUpdate;
requestInfoUpdate = validationHelper.validateTillFirstError(symbolRequest, companySymbolUpdateRequestValidator);
if (requestInfoUpdate != null) return requestInfoUpdate;
}
CompanySymbols companySymbols;
ImdgTransaction transaction = imdgProvider.newTransaction();
transaction.beginTransaction();
boolean txOk = false;
try {
Imdg<CompanySymbols> companySymbolsMap = transaction.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
companySymbols = companySymbolsMap.getSingleObjectByID(req.getId());
// companySymbols.setCompanySymbol(req.getCompanySymbol()); по ТЗ не должен менятся при обновлении
companySymbols.setCompanySymbolValue(req.getCompanySymbolValue());
companySymbolsMap.update(companySymbols);
try {
companyService.updateCompanyBySymbol(transaction, companySymbols);
} catch (ClearingBaseException e) {
return requestHelper.makeErrorResponse(symbolRequest, e.getEnumMsg());
}
txOk = true;
} finally {
if (txOk)
transaction.commitTransaction();
else
transaction.rollbackTransaction();
}
log.debug("successfully processed, id {}", companySymbols.getId());
return null;
}
@ -64,6 +172,7 @@ public class CompanySymbolService extends QueueConsumer implements InitializingB
newSymbol.setCompanySymbolValue(companySymbolValue);
log.debug("Created new companySymbols.id={} for company {}", newSymbol.getId(), companyId);
if (transaction == null) {
Imdg<CompanySymbols> companySymbolsMap = transaction.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
companySymbolsMap.insert(newSymbol);
} else {
Imdg<CompanySymbols> tMap = transaction.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);

View file

@ -18,6 +18,7 @@ import ru.clearing.platform.dictionary.*;
import ru.spcex.clearing.company.config.BeanConfiguration;
import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration;
import ru.spcex.clearing.company.config.KafkaConfigTest;
import ru.spcex.clearing.company.config.validation.CompanySymbolValidationConfig;
import ru.spcex.clearing.company.config.validation.CompanyValidationConfig;
import ru.spcex.clearing.company.config.validation.ValidationConfig;
import ru.spcex.clearing.company.utils.MatcherFactory;
@ -40,6 +41,8 @@ import static ru.spcex.clearing.company.utils.TestUtils.*;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
CompanyInfoService.class,
CompanyValidationConfig.class,
CompanySymbolValidationConfig.class,
CompanyService.class,
CompanyValidationConfig.class,

View file

@ -21,6 +21,7 @@ import ru.clearing.platform.dictionary.WorkflowStatusDictionary;
import ru.spcex.clearing.company.config.BeanConfiguration;
import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration;
import ru.spcex.clearing.company.config.KafkaConfigTest;
import ru.spcex.clearing.company.config.validation.CompanySymbolValidationConfig;
import ru.spcex.clearing.company.config.validation.CompanyValidationConfig;
import ru.spcex.clearing.company.config.validation.ValidationConfig;
import ru.spcex.clearing.company.error.CompanyErrors;
@ -54,6 +55,9 @@ import static ru.spcex.clearing.company.utils.TestUtils.*;
AccountNotificationHelper.class,
RelationHelper.class,
CompanySymbolService.class,
CompanySymbolValidationConfig.class,
KafkaConfigTest.class,
HazelcastServiceTestConfiguration.class,
BeanConfiguration.class})

View file

@ -13,14 +13,21 @@ import org.springframework.boot.test.mock.mockito.SpyBean;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import ru.clearing.classes.statics.data.company.CompanySymbols;
import ru.clearing.platform.dictionary.CompanySymbolDictionary;
import ru.spcex.clearing.company.config.BeanConfiguration;
import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration;
import ru.spcex.clearing.company.config.KafkaConfigTest;
import ru.spcex.clearing.company.config.validation.CompanySymbolValidationConfig;
import ru.spcex.clearing.company.config.validation.CompanyValidationConfig;
import ru.spcex.clearing.company.config.validation.ValidationConfig;
import ru.spcex.clearing.company.utils.MatcherFactory;
import ru.spcex.clearing.company.utils.TestUtils;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts;
import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanySymbolUpdateRequest;
import ru.spcex.clearing.validation.common.ValidationHelper;
import ru.spcex.platform.enumeration.CompanySymbol;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
@ -34,6 +41,16 @@ import static ru.spcex.clearing.company.utils.TestUtils.*;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
CompanySymbolService.class,
CompanySymbolValidationConfig.class,
ValidationConfig.class,
BeanConfiguration.class,
CompanyService.class,
CompanyValidationConfig.class,
AccountNotificationHelper.class,
RelationHelper.class,
KafkaConfigTest.class,
HazelcastServiceTestConfiguration.class})
class CompanySymbolServiceTest {
@ -60,6 +77,23 @@ class CompanySymbolServiceTest {
hazelcastServiceTest.waitAvailable();
companySymbolsImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
Imdg<CompanySymbolDictionary> companySymbolDictionaryImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_CompanySymbolDictionary, CompanySymbolDictionary.class);
{
CompanySymbolDictionary cSymbol = new CompanySymbolDictionary();
cSymbol.setId(11L);
cSymbol.setCode(CompanySymbol.CLRC.getKey());
cSymbol.setName(CompanySymbol.CLRC.getKey());
cSymbol.setShortname(" CLRC key");
companySymbolDictionaryImdg.insert(cSymbol);
CompanySymbolDictionary cioSymbol = new CompanySymbolDictionary();
cioSymbol.setId(12L);
cioSymbol.setCode(CompanySymbol.CIO.getKey());
cioSymbol.setName(CompanySymbol.CIO.getKey());
companySymbolDictionaryImdg.insert(cioSymbol);
}
TestUtils.FutureRecordMetadata future = spy(TestUtils.FutureRecordMetadata.class);
doReturn(future).when(mockProducer).send(producerRecord.capture());
}
@ -80,20 +114,20 @@ class CompanySymbolServiceTest {
CompanySymbols existsCompanySymbols = new CompanySymbols();
existsCompanySymbols.setId(ID);
existsCompanySymbols.setCompanyId(ID);
existsCompanySymbols.setCompanySymbol("0000");
existsCompanySymbols.setCompanySymbolValue("exists companySymbolValue");
existsCompanySymbols.setCompanySymbol("CIO");
existsCompanySymbols.setCompanySymbolValue("CIO exists companySymbolValue");
companySymbolsImdg.insert(existsCompanySymbols);
CompanySymbolUpdateRequest companySymbolUpdateRequest = new CompanySymbolUpdateRequest();
companySymbolUpdateRequest.setId(ID);
companySymbolUpdateRequest.setCompanyId(ID);
companySymbolUpdateRequest.setCompanySymbol("1234");
companySymbolUpdateRequest.setCompanySymbol("CIO");
companySymbolUpdateRequest.setCompanySymbolValue(companySymbolValue);
CompanySymbols predictableCompanySymbols = new CompanySymbols();
predictableCompanySymbols.setId(ID);
predictableCompanySymbols.setCompanyId(ID);
predictableCompanySymbols.setCompanySymbol("0000");
predictableCompanySymbols.setCompanySymbol("CIO");
predictableCompanySymbols.setCompanySymbolValue(companySymbolValue);
//ACT

View file

@ -43,6 +43,7 @@ public interface Consts {
String DESTINATION_COMPANY_BLOCK = "company-block";
String DESTINATION_COMPANY_INFO_NEW = "company-info-new";
String DESTINATION_COMPANY_INFO_UPDATE = "company-info-update";
String DESTINATION_COMPANY_SYMBOL_NEW = "company-symbol-new";
String DESTINATION_COMPANY_SYMBOL_UPDATE = "company-symbol-update";
String DESTINATION_COMPANY_ROLE_SET_NEW = "companyroleset-new";
String DESTINATION_COMPANY_ROLE_SET_DELETE = "companyroleset-delete";