Merge branch 'dev' into cls-283
# Conflicts: # clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_4/ReportBR_0420314_P2_Collector.java # platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/Market.java
This commit is contained in:
commit
1551ad04c8
413 changed files with 18136 additions and 18881 deletions
|
|
@ -6,10 +6,11 @@ import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Scope;
|
import org.springframework.context.annotation.Scope;
|
||||||
import ru.spcex.clearing.account.errors.AccountError;
|
import ru.spcex.clearing.account.errors.AccountError;
|
||||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||||
|
import ru.spcex.clearing.util.services.IMDGMessageResolver;
|
||||||
|
import ru.spcex.clearing.util.services.RequestHelper;
|
||||||
import ru.spcex.platform.enumeration.UserRole;
|
import ru.spcex.platform.enumeration.UserRole;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||||
import ru.spcex.clearing.util.services.IMDGMessageResolver;
|
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
public class BeanConfiguration {
|
public class BeanConfiguration {
|
||||||
|
|
@ -18,6 +19,12 @@ public class BeanConfiguration {
|
||||||
return new IMDGMessageResolver(imdgProvider);
|
return new IMDGMessageResolver(imdgProvider);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public RequestHelper requestHelper(IMessageResolver messageResolver) {
|
||||||
|
return new RequestHelper(messageResolver, AccountError.GeneralError);
|
||||||
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
public UserRoleVerification userRoleVerification(ImdgProvider imdgProvider, IMessageResolver messageResolver) {
|
public UserRoleVerification userRoleVerification(ImdgProvider imdgProvider, IMessageResolver messageResolver) {
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,13 @@ import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Scope;
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.kafka.core.KafkaTemplate;
|
||||||
|
import org.springframework.kafka.core.ProducerFactory;
|
||||||
import ru.spcex.clearing.account.config.settings.AccountServiceSettings;
|
import ru.spcex.clearing.account.config.settings.AccountServiceSettings;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.config.KafkaConsumerFactory;
|
import ru.spcex.clearing.platform.messaging.config.KafkaConsumerFactory;
|
||||||
import ru.spcex.clearing.platform.messaging.config.KafkaProducerFactory;
|
import ru.spcex.clearing.platform.messaging.config.KafkaProducerFactory;
|
||||||
|
import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings;
|
||||||
import ru.spcex.clearing.platform.messaging.service.RequestInfo;
|
import ru.spcex.clearing.platform.messaging.service.RequestInfo;
|
||||||
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
|
@ -33,13 +36,24 @@ public class KafkaConfig {
|
||||||
return KafkaProducerFactory.producer(settings.getKafkaProducer());
|
return KafkaProducerFactory.producer(settings.getKafkaProducer());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ProducerFactory<String, Object> pf(AccountServiceSettings settings) {
|
||||||
|
KafkaProducerSettings kafkaSettings = settings.getKafkaProducer();
|
||||||
|
return KafkaProducerFactory.producerFactory(kafkaSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public KafkaTemplate<String, Object> kafkaTemplate(ProducerFactory<String, Object> pf) {
|
||||||
|
return new KafkaTemplate<>(pf);
|
||||||
|
}
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@Bean
|
@Bean
|
||||||
public KafkaSender kafkaSender(Producer<String, Object> kafkaProducer, ImdgProvider imdgProvider) {
|
public KafkaSender kafkaSender(KafkaTemplate<String, Object> kafkaTemplate, ImdgProvider imdgProvider) {
|
||||||
ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator();
|
ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator();
|
||||||
return KafkaSender
|
return KafkaSender
|
||||||
.setup()
|
.setup()
|
||||||
.producer(kafkaProducer)
|
.setKafkaTemplate(kafkaTemplate)
|
||||||
.idGenerator(imdgIdGenerator::nextId)
|
.idGenerator(imdgIdGenerator::nextId)
|
||||||
.imdgProvider(s -> {
|
.imdgProvider(s -> {
|
||||||
Imdg<RequestInfo> imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class);
|
Imdg<RequestInfo> imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class);
|
||||||
|
|
|
||||||
|
|
@ -5,18 +5,19 @@ import org.springframework.context.annotation.Configuration;
|
||||||
import ru.clearing.classes.statics.data.account.Account;
|
import ru.clearing.classes.statics.data.account.Account;
|
||||||
import ru.clearing.classes.statics.data.company.Company;
|
import ru.clearing.classes.statics.data.company.Company;
|
||||||
import ru.clearing.platform.dictionary.AccountTypeDictionary;
|
import ru.clearing.platform.dictionary.AccountTypeDictionary;
|
||||||
|
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
||||||
import ru.spcex.clearing.account.errors.AccountError;
|
import ru.spcex.clearing.account.errors.AccountError;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.CorrespondentAccountNewRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.CorrespondentAccountNewRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.CorrespondentAccountUpdateRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.CorrespondentAccountUpdateRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||||
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
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.FieldRequiredRule;
|
||||||
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
import ru.spcex.platform.enumeration.AccountStatus;
|
import ru.spcex.platform.enumeration.AccountStatus;
|
||||||
import ru.spcex.platform.enumeration.AccountType;
|
import ru.spcex.platform.enumeration.AccountType;
|
||||||
|
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||||
|
|
@ -45,6 +46,7 @@ public class AccountValidationConfig {
|
||||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||||
addImdg.accept(IMDGDistributedNames.Map_Company);
|
addImdg.accept(IMDGDistributedNames.Map_Company);
|
||||||
addImdg.accept(IMDGDistributedNames.Map_Account);
|
addImdg.accept(IMDGDistributedNames.Map_Account);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary);
|
||||||
addImdg.accept(IMDGDistributedNames.Map_AccountTypeDictionary);
|
addImdg.accept(IMDGDistributedNames.Map_AccountTypeDictionary);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
IdPresentRule.instance("companyId",
|
IdPresentRule.instance("companyId",
|
||||||
|
|
@ -69,12 +71,15 @@ public class AccountValidationConfig {
|
||||||
if (accounts.isEmpty()) return null;
|
if (accounts.isEmpty()) return null;
|
||||||
return AccountError.AccountAlreadyExist;
|
return AccountError.AccountAlreadyExist;
|
||||||
}),
|
}),
|
||||||
FieldRequiredRule.instance("status",
|
DictionaryPresentRule.instance("status",
|
||||||
CorrespondentAccountNewRequest::getStatus,
|
CorrespondentAccountNewRequest::getStatus,
|
||||||
|
IMDGDistributedNames.Map_ServiceStatusDictionary,
|
||||||
|
ServiceStatusDictionary.class,
|
||||||
AccountError.RequiredFieldEmpty,
|
AccountError.RequiredFieldEmpty,
|
||||||
|
AccountError.WrongFieldValue,
|
||||||
false,
|
false,
|
||||||
statusValue -> {
|
statusValue -> {
|
||||||
if (statusValue == null || AccountStatus.ACTIVE.equalsByKey(statusValue)) return null;
|
if (ServiceStatus.Active.equalsByKey(statusValue.getCode())) return null;
|
||||||
return AccountError.WrongFieldValue;
|
return AccountError.WrongFieldValue;
|
||||||
}),
|
}),
|
||||||
DictionaryPresentRule.instance("accountType",
|
DictionaryPresentRule.instance("accountType",
|
||||||
|
|
@ -127,16 +132,16 @@ public class AccountValidationConfig {
|
||||||
error = Objects.equals(company.getId(), correspondentAccountUpdateRequest.getCompanyId()) ? error : AccountError.WrongFieldValue;
|
error = Objects.equals(company.getId(), correspondentAccountUpdateRequest.getCompanyId()) ? error : AccountError.WrongFieldValue;
|
||||||
return error;
|
return error;
|
||||||
}),
|
}),
|
||||||
EnumPresentRule.instance("status",
|
DictionaryPresentRule.instance("status",
|
||||||
CorrespondentAccountUpdateRequest::getStatus,
|
CorrespondentAccountUpdateRequest::getStatus,
|
||||||
AccountStatus.values(),
|
IMDGDistributedNames.Map_ServiceStatusDictionary,
|
||||||
false,
|
ServiceStatusDictionary.class,
|
||||||
AccountError.WrongFieldValue,
|
AccountError.RequiredFieldEmpty,
|
||||||
AccountError.RequiredFieldEmpty),
|
AccountError.WrongFieldValue),
|
||||||
DictionaryPresentRule.instance("accountType",
|
DictionaryPresentRule.instance("accountType",
|
||||||
CorrespondentAccountUpdateRequest::getAccountType,
|
CorrespondentAccountUpdateRequest::getAccountType,
|
||||||
IMDGDistributedNames.Map_AccountTypeDictionary,
|
IMDGDistributedNames.Map_AccountTypeDictionary,
|
||||||
AccountTypeDictionary.class,
|
ServiceStatusDictionary.class,
|
||||||
AccountError.RequiredFieldEmpty,
|
AccountError.RequiredFieldEmpty,
|
||||||
AccountError.WrongFieldValue,
|
AccountError.WrongFieldValue,
|
||||||
accountType -> {
|
accountType -> {
|
||||||
|
|
@ -148,23 +153,23 @@ public class AccountValidationConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean("correspondentAccountBlockRequestValidator")
|
@Bean("correspondentAccountBlockRequestValidator")
|
||||||
public Function<CommonDeleteRequest, IValidator> correspondentAccountBlockRequestValidator(
|
public Function<CommonIdRequest, IValidator> correspondentAccountBlockRequestValidator(
|
||||||
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||||
) {
|
) {
|
||||||
return correspondentAccountBlockRequest -> {
|
return correspondentAccountBlockRequest -> {
|
||||||
ImdgValidationContext<CommonDeleteRequest> context = new ImdgValidationContext<>();
|
ImdgValidationContext<CommonIdRequest> context = new ImdgValidationContext<>();
|
||||||
context.setValidatedObject(correspondentAccountBlockRequest);
|
context.setValidatedObject(correspondentAccountBlockRequest);
|
||||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||||
addImdg.accept(IMDGDistributedNames.Map_Account);
|
addImdg.accept(IMDGDistributedNames.Map_Account);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
IdPresentRule.instance("id",
|
IdPresentRule.instance("id",
|
||||||
CommonDeleteRequest::getId,
|
CommonIdRequest::getId,
|
||||||
IMDGDistributedNames.Map_Account,
|
IMDGDistributedNames.Map_Account,
|
||||||
Account.class,
|
Account.class,
|
||||||
AccountError.RequiredFieldEmpty,
|
AccountError.RequiredFieldEmpty,
|
||||||
AccountError.AccountNotFound,
|
AccountError.AccountNotFound,
|
||||||
account -> {
|
account -> {
|
||||||
if (AccountStatus.ACTIVE.equalsByKey(account.getStatus())) return null;
|
if (WorkflowStatus.Active.equalsByKey(account.getStatus())) return null;
|
||||||
return AccountError.AccountNotActive;
|
return AccountError.AccountNotActive;
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -10,13 +10,14 @@ import ru.spcex.clearing.account.errors.AccountError;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountUpdateRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountUpdateRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||||
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
||||||
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
||||||
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
import ru.spcex.platform.enumeration.AccountStatus;
|
import ru.spcex.platform.enumeration.AccountStatus;
|
||||||
import ru.spcex.platform.enumeration.AccountType;
|
import ru.spcex.platform.enumeration.AccountType;
|
||||||
|
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||||
|
|
@ -62,7 +63,7 @@ public class BankAccountValidationConfig {
|
||||||
);
|
);
|
||||||
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
||||||
ImdgPredicate accountValuePredicate = pb.equals("account", accountValue);
|
ImdgPredicate accountValuePredicate = pb.equals("account", accountValue);
|
||||||
ImdgPredicate accountStatusPredicate = pb.equals("status", AccountStatus.ACTIVE.getKey());
|
ImdgPredicate accountStatusPredicate = pb.equals("status", ServiceStatus.Active.getKey());
|
||||||
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Bank.getKey());
|
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Bank.getKey());
|
||||||
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
||||||
accountStatusPredicate,
|
accountStatusPredicate,
|
||||||
|
|
@ -131,18 +132,18 @@ public class BankAccountValidationConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean("bankAccountBlockRequestValidator")
|
@Bean("bankAccountBlockRequestValidator")
|
||||||
public Function<CommonDeleteRequest, IValidator> bankAccountBlockRequestValidator(
|
public Function<CommonIdRequest, IValidator> bankAccountBlockRequestValidator(
|
||||||
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||||
) {
|
) {
|
||||||
return bankAccountBlockRequest -> {
|
return bankAccountBlockRequest -> {
|
||||||
ImdgValidationContext<CommonDeleteRequest> context = new ImdgValidationContext<>();
|
ImdgValidationContext<CommonIdRequest> context = new ImdgValidationContext<>();
|
||||||
context.setValidatedObject(bankAccountBlockRequest);
|
context.setValidatedObject(bankAccountBlockRequest);
|
||||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||||
addImdg.accept(IMDGDistributedNames.Map_BankAccount);
|
addImdg.accept(IMDGDistributedNames.Map_BankAccount);
|
||||||
addImdg.accept(IMDGDistributedNames.Map_Account);
|
addImdg.accept(IMDGDistributedNames.Map_Account);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
IdPresentRule.instance("id",
|
IdPresentRule.instance("id",
|
||||||
CommonDeleteRequest::getId,
|
CommonIdRequest::getId,
|
||||||
IMDGDistributedNames.Map_BankAccount,
|
IMDGDistributedNames.Map_BankAccount,
|
||||||
BankAccount.class,
|
BankAccount.class,
|
||||||
AccountError.RequiredFieldEmpty,
|
AccountError.RequiredFieldEmpty,
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,8 @@ import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
||||||
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
||||||
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
import ru.spcex.platform.enumeration.AccountStatus;
|
|
||||||
import ru.spcex.platform.enumeration.AccountType;
|
import ru.spcex.platform.enumeration.AccountType;
|
||||||
|
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||||
|
|
@ -60,7 +60,7 @@ public class ClearingAccountValidationConfig {
|
||||||
);
|
);
|
||||||
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
||||||
ImdgPredicate accountValuePredicate = pb.equals("account", accountValue);
|
ImdgPredicate accountValuePredicate = pb.equals("account", accountValue);
|
||||||
ImdgPredicate accountStatusPredicate = pb.equals("status", AccountStatus.ACTIVE.getKey());
|
ImdgPredicate accountStatusPredicate = pb.equals("status", ServiceStatus.Active.getKey());
|
||||||
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Clrn.getKey());
|
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Clrn.getKey());
|
||||||
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
||||||
accountStatusPredicate,
|
accountStatusPredicate,
|
||||||
|
|
@ -102,7 +102,7 @@ public class ClearingAccountValidationConfig {
|
||||||
);
|
);
|
||||||
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
||||||
ImdgPredicate accountValuePredicate = pb.equals("account", accountValue);
|
ImdgPredicate accountValuePredicate = pb.equals("account", accountValue);
|
||||||
ImdgPredicate accountStatusPredicate = pb.equals("status", AccountStatus.ACTIVE.getKey());
|
ImdgPredicate accountStatusPredicate = pb.equals("status", ServiceStatus.Active.getKey());
|
||||||
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Clrn.getKey());
|
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Clrn.getKey());
|
||||||
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
||||||
accountStatusPredicate,
|
accountStatusPredicate,
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,8 @@ import ru.spcex.clearing.platform.messaging.domain.cud.account.DepoAccountNewReq
|
||||||
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
||||||
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
import ru.spcex.platform.enumeration.AccountStatus;
|
|
||||||
import ru.spcex.platform.enumeration.AccountType;
|
import ru.spcex.platform.enumeration.AccountType;
|
||||||
|
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||||
|
|
@ -56,7 +56,7 @@ public class DepoAccountValidationConfig {
|
||||||
);
|
);
|
||||||
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
||||||
ImdgPredicate accountValuePredicate = pb.equals("account", accountValue);
|
ImdgPredicate accountValuePredicate = pb.equals("account", accountValue);
|
||||||
ImdgPredicate accountStatusPredicate = pb.equals("status", AccountStatus.ACTIVE.getKey());
|
ImdgPredicate accountStatusPredicate = pb.equals("status", ServiceStatus.Active.getKey());
|
||||||
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Clrn.getKey());
|
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Clrn.getKey());
|
||||||
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
||||||
accountStatusPredicate,
|
accountStatusPredicate,
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,144 @@
|
||||||
|
package ru.spcex.clearing.account.config.validation;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
||||||
|
import ru.clearing.classes.statics.data.account.DepoAccount;
|
||||||
|
import ru.clearing.classes.statics.data.account.InformationAccount;
|
||||||
|
import ru.clearing.classes.statics.data.company.Company;
|
||||||
|
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||||
|
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
||||||
|
import ru.spcex.clearing.account.errors.AccountError;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryUpdateRequest;
|
||||||
|
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
||||||
|
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.ServiceStatus;
|
||||||
|
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 TradingClearingRegistryValidationConfig {
|
||||||
|
|
||||||
|
@Bean("tradingClearingRegistryNewRequest")
|
||||||
|
public Function<TradingClearingRegistryNewRequest, IValidator> tradingClearingRegistryNewRequestValidator(
|
||||||
|
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||||
|
) {
|
||||||
|
return tradingClearingRegistryNewRequest -> {
|
||||||
|
ImdgValidationContext<TradingClearingRegistryNewRequest> context = new ImdgValidationContext<>();
|
||||||
|
context.setValidatedObject(tradingClearingRegistryNewRequest);
|
||||||
|
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_Company);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_ClearingAccount);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_DepoAccount);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_InformationAccount);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary);
|
||||||
|
return new ValidatorImpl<>(context,
|
||||||
|
IdPresentRule.instance("companyId",
|
||||||
|
TradingClearingRegistryNewRequest::getCompanyId,
|
||||||
|
IMDGDistributedNames.Map_Company,
|
||||||
|
Company.class,
|
||||||
|
AccountError.RequiredFieldEmpty,
|
||||||
|
AccountError.CompanyNotFound),
|
||||||
|
FieldRequiredRule.instance("moneyAccountId",
|
||||||
|
TradingClearingRegistryNewRequest::getMoneyAccountId,
|
||||||
|
AccountError.RequiredFieldEmpty,
|
||||||
|
moneyAccountId -> {
|
||||||
|
Imdg<ClearingAccount> clearingAccountImdg = context.obtainMap(
|
||||||
|
IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class
|
||||||
|
);
|
||||||
|
ClearingAccount clearingAccount = clearingAccountImdg.getSingleObjectByID(moneyAccountId);
|
||||||
|
if (clearingAccount == null) {
|
||||||
|
Imdg<InformationAccount> informationAccountImdg = context.obtainMap(
|
||||||
|
IMDGDistributedNames.Map_InformationAccount, InformationAccount.class
|
||||||
|
);
|
||||||
|
InformationAccount infoAccount = informationAccountImdg.getSingleObjectByID(moneyAccountId);
|
||||||
|
if (infoAccount == null) return AccountError.AccountNotFound;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}),
|
||||||
|
FieldRequiredRule.instance("depoAccountId",
|
||||||
|
TradingClearingRegistryNewRequest::getDepoAccountId,
|
||||||
|
AccountError.RequiredFieldEmpty,
|
||||||
|
false,
|
||||||
|
depoAccountId -> {
|
||||||
|
if (depoAccountId == null) return null;
|
||||||
|
Imdg<DepoAccount> depoAccountImdg = context.obtainMap(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class);
|
||||||
|
DepoAccount depoAccount = depoAccountImdg.getSingleObjectByID(depoAccountId);
|
||||||
|
if (depoAccount == null) return AccountError.AccountNotFound;
|
||||||
|
return null;
|
||||||
|
}),
|
||||||
|
DictionaryPresentRule.instance("status",
|
||||||
|
TradingClearingRegistryNewRequest::getStatus,
|
||||||
|
IMDGDistributedNames.Map_ServiceStatusDictionary,
|
||||||
|
ServiceStatusDictionary.class,
|
||||||
|
AccountError.RequiredFieldEmpty,
|
||||||
|
AccountError.WrongFieldValue,
|
||||||
|
false,
|
||||||
|
statusValue -> {
|
||||||
|
String statusCode = statusValue.getCode();
|
||||||
|
if (ServiceStatus.Active.equalsByKey(statusCode)) return null;
|
||||||
|
return AccountError.WrongFieldValue;
|
||||||
|
})
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean("tradingClearingRegistryUpdateRequest")
|
||||||
|
public Function<TradingClearingRegistryUpdateRequest, IValidator> tradingClearingRegistryUpdateRequestValidator(
|
||||||
|
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||||
|
) {
|
||||||
|
return tradingClearingRegistryUpdateRequest -> {
|
||||||
|
ImdgValidationContext<TradingClearingRegistryUpdateRequest> context = new ImdgValidationContext<>();
|
||||||
|
context.setValidatedObject(tradingClearingRegistryUpdateRequest);
|
||||||
|
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistry);
|
||||||
|
return new ValidatorImpl<>(context,
|
||||||
|
IdPresentRule.instance("id",
|
||||||
|
TradingClearingRegistryUpdateRequest::getId,
|
||||||
|
IMDGDistributedNames.Map_TradingClearingRegistry,
|
||||||
|
TradingClearingRegistry.class,
|
||||||
|
AccountError.RequiredFieldEmpty,
|
||||||
|
AccountError.TradingClearingRegistryNotFound),
|
||||||
|
DictionaryPresentRule.instance("status",
|
||||||
|
TradingClearingRegistryUpdateRequest::getStatus,
|
||||||
|
IMDGDistributedNames.Map_ServiceStatusDictionary,
|
||||||
|
ServiceStatusDictionary.class,
|
||||||
|
AccountError.RequiredFieldEmpty,
|
||||||
|
AccountError.WrongFieldValue,
|
||||||
|
false)
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean("tradingClearingRegistryBlockRequest")
|
||||||
|
public Function<CommonIdRequest, IValidator> tradingClearingRegistryBlockRequestValidator(
|
||||||
|
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||||
|
) {
|
||||||
|
return tradingClearingRegistryBlockRequest -> {
|
||||||
|
ImdgValidationContext<CommonIdRequest> context = new ImdgValidationContext<>();
|
||||||
|
context.setValidatedObject(tradingClearingRegistryBlockRequest);
|
||||||
|
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistry);
|
||||||
|
return new ValidatorImpl<>(context,
|
||||||
|
IdPresentRule.instance("id",
|
||||||
|
CommonIdRequest::getId,
|
||||||
|
IMDGDistributedNames.Map_TradingClearingRegistry,
|
||||||
|
TradingClearingRegistry.class,
|
||||||
|
AccountError.RequiredFieldEmpty,
|
||||||
|
AccountError.TradingClearingRegistryNotFound)
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,15 +3,14 @@ package ru.spcex.clearing.account.config.validation;
|
||||||
|
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import ru.clearing.classes.statics.data.account.Account;
|
import ru.clearing.classes.statics.data.account.*;
|
||||||
import ru.clearing.classes.statics.data.account.BankAccount;
|
|
||||||
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
|
||||||
import ru.clearing.classes.statics.data.account.InformationAccount;
|
|
||||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||||
import ru.clearing.classes.statics.data.company.Company;
|
import ru.clearing.classes.statics.data.company.Company;
|
||||||
|
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||||
import ru.clearing.platform.dictionary.AccountTypeDictionary;
|
import ru.clearing.platform.dictionary.AccountTypeDictionary;
|
||||||
import ru.clearing.platform.dictionary.ClearingAccountTypeDictionary;
|
import ru.clearing.platform.dictionary.ClearingAccountTypeDictionary;
|
||||||
import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
|
import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
|
||||||
|
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
|
|
@ -40,6 +39,9 @@ public class ValidationConfig {
|
||||||
addImdg.accept(IMDGDistributedNames.Map_BankAccount, BankAccount.class);
|
addImdg.accept(IMDGDistributedNames.Map_BankAccount, BankAccount.class);
|
||||||
addImdg.accept(IMDGDistributedNames.Map_CurrencyCodeDictionary, CurrencyCodeDictionary.class);
|
addImdg.accept(IMDGDistributedNames.Map_CurrencyCodeDictionary, CurrencyCodeDictionary.class);
|
||||||
addImdg.accept(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
addImdg.accept(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary, ServiceStatusDictionary.class);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class);
|
||||||
|
|
||||||
return imdg;
|
return imdg;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package ru.spcex.clearing.account.errors;
|
||||||
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
|
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
|
||||||
|
|
||||||
public enum AccountError implements IErrorEnumId {
|
public enum AccountError implements IErrorEnumId {
|
||||||
|
GeneralError(5000L),
|
||||||
UserVerifyDenial(5001L),
|
UserVerifyDenial(5001L),
|
||||||
RequiredFieldEmpty(5002L),
|
RequiredFieldEmpty(5002L),
|
||||||
WrongFieldValue(5004L),
|
WrongFieldValue(5004L),
|
||||||
|
|
@ -12,7 +13,11 @@ public enum AccountError implements IErrorEnumId {
|
||||||
CompanyNotFound(5013L),
|
CompanyNotFound(5013L),
|
||||||
CompanyNotActive(5014L),
|
CompanyNotActive(5014L),
|
||||||
InfoAccountAlreadyExist(5015L),
|
InfoAccountAlreadyExist(5015L),
|
||||||
ClearingCategoryNotFound(5019L)
|
TradingClearingRegistryAlreadyExist(5016L),
|
||||||
|
DepoAccountNotFound(5017L),
|
||||||
|
MoneyAccountNotFound(5018L),
|
||||||
|
ClearingCategoryNotFound(5019L),
|
||||||
|
TradingClearingRegistryNotFound(5022L),
|
||||||
;
|
;
|
||||||
|
|
||||||
private final Long id;
|
private final Long id;
|
||||||
|
|
|
||||||
|
|
@ -21,15 +21,15 @@ import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdf0
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdfRequestPart;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdfRequestPart;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.balance.AccountSdfToStatementRequestPart;
|
import ru.spcex.clearing.platform.messaging.domain.cud.balance.AccountSdfToStatementRequestPart;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||||
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.platform.messaging.service.Status;
|
||||||
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
||||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
import ru.spcex.platform.enumeration.AccountStatus;
|
|
||||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||||
|
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||||
|
|
@ -57,7 +57,7 @@ public class AccountService extends QueueConsumer implements InitializingBean {
|
||||||
private final ValidationHelper validationHelper;
|
private final ValidationHelper validationHelper;
|
||||||
private final Function<CorrespondentAccountNewRequest, IValidator> accountNewRequestValidator;
|
private final Function<CorrespondentAccountNewRequest, IValidator> accountNewRequestValidator;
|
||||||
private final Function<CorrespondentAccountUpdateRequest, IValidator> accountUpdateRequestValidator;
|
private final Function<CorrespondentAccountUpdateRequest, IValidator> accountUpdateRequestValidator;
|
||||||
private final Function<CommonDeleteRequest, IValidator> accountBlockRequestValidator;
|
private final Function<CommonIdRequest, IValidator> accountBlockRequestValidator;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public AccountService(Consumer<String, Object> kafkaQueue,
|
public AccountService(Consumer<String, Object> kafkaQueue,
|
||||||
|
|
@ -72,7 +72,7 @@ public class AccountService extends QueueConsumer implements InitializingBean {
|
||||||
@Qualifier("correspondentAccountUpdateRequestValidator")
|
@Qualifier("correspondentAccountUpdateRequestValidator")
|
||||||
Function<CorrespondentAccountUpdateRequest, IValidator> accountUpdateRequestValidator,
|
Function<CorrespondentAccountUpdateRequest, IValidator> accountUpdateRequestValidator,
|
||||||
@Qualifier("correspondentAccountBlockRequestValidator")
|
@Qualifier("correspondentAccountBlockRequestValidator")
|
||||||
Function<CommonDeleteRequest, IValidator> accountBlockRequestValidator) {
|
Function<CommonIdRequest, IValidator> accountBlockRequestValidator) {
|
||||||
super(kafkaQueue, kafkaProducer);
|
super(kafkaQueue, kafkaProducer);
|
||||||
this.accountMap = imdgProvider.getImdg(
|
this.accountMap = imdgProvider.getImdg(
|
||||||
IMDGDistributedNames.Map_Account, Account.class
|
IMDGDistributedNames.Map_Account, Account.class
|
||||||
|
|
@ -95,16 +95,16 @@ public class AccountService extends QueueConsumer implements InitializingBean {
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() {
|
public void afterPropertiesSet() {
|
||||||
callback(AccountSdf01Request.class)
|
callback(AccountSdf01Request.class)
|
||||||
.setConsumer(this::accountNewSdf01)
|
.setFunction(this::accountNewSdf01)
|
||||||
.forDestination(Consts.ACCOUNT_NEW_SDF01, callbacks::put);
|
.forDestination(Consts.ACCOUNT_NEW_SDF01, callbacks::put);
|
||||||
callback(CorrespondentAccountNewRequest.class)
|
callback(CorrespondentAccountNewRequest.class)
|
||||||
.setConsumer(this::accountCorrespondentNew)
|
.setFunction(this::accountCorrespondentNew)
|
||||||
.forDestination(Consts.DESTINATION_CORRESPONDENT_ACCOUNT_NEW, callbacks::put);
|
.forDestination(Consts.DESTINATION_CORRESPONDENT_ACCOUNT_NEW, callbacks::put);
|
||||||
callback(CorrespondentAccountUpdateRequest.class)
|
callback(CorrespondentAccountUpdateRequest.class)
|
||||||
.setConsumer(this::correspondentAccountUpdate)
|
.setFunction(this::correspondentAccountUpdate)
|
||||||
.forDestination(Consts.DESTINATION_CORRESPONDENT_ACCOUNT_UPDATE, callbacks::put);
|
.forDestination(Consts.DESTINATION_CORRESPONDENT_ACCOUNT_UPDATE, callbacks::put);
|
||||||
callback(CommonDeleteRequest.class)
|
callback(CommonIdRequest.class)
|
||||||
.setConsumer(this::correspondentAccountBlock)
|
.setFunction(this::correspondentAccountBlock)
|
||||||
.forDestination(Consts.DESTINATION_CORRESPONDENT_ACCOUNT_BLOCK, callbacks::put);
|
.forDestination(Consts.DESTINATION_CORRESPONDENT_ACCOUNT_BLOCK, callbacks::put);
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
@ -161,7 +161,7 @@ public class AccountService extends QueueConsumer implements InitializingBean {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RequestInfoUpdate correspondentAccountBlock(BaseRequest<CommonDeleteRequest> userRequest) {
|
public RequestInfoUpdate correspondentAccountBlock(BaseRequest<CommonIdRequest> userRequest) {
|
||||||
log.debug("AccountBlockRequest received");
|
log.debug("AccountBlockRequest received");
|
||||||
|
|
||||||
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
|
@ -170,10 +170,10 @@ public class AccountService extends QueueConsumer implements InitializingBean {
|
||||||
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, accountBlockRequestValidator);
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, accountBlockRequestValidator);
|
||||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
CommonDeleteRequest request = userRequest.getRequestPayload();
|
CommonIdRequest request = userRequest.getRequestPayload();
|
||||||
|
|
||||||
Account account = accountMap.getSingleObjectByID(request.getId());
|
Account account = accountMap.getSingleObjectByID(request.getId());
|
||||||
account.setStatus(AccountStatus.BLOCKED.getKey());
|
account.setStatus(ServiceStatus.Blocked.getKey());
|
||||||
account.setUpdated(Instant.now());
|
account.setUpdated(Instant.now());
|
||||||
|
|
||||||
accountMap.update(account);
|
accountMap.update(account);
|
||||||
|
|
|
||||||
|
|
@ -15,13 +15,13 @@ import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountUpdateRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountUpdateRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||||
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.util.security.UserRoleVerification;
|
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
import ru.spcex.platform.enumeration.AccountStatus;
|
|
||||||
import ru.spcex.platform.enumeration.AccountType;
|
import ru.spcex.platform.enumeration.AccountType;
|
||||||
|
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||||
|
|
@ -44,7 +44,7 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
||||||
|
|
||||||
private final Function<BankAccountNewRequest, IValidator> bankAccountNewRequestValidator;
|
private final Function<BankAccountNewRequest, IValidator> bankAccountNewRequestValidator;
|
||||||
private final Function<BankAccountUpdateRequest, IValidator> bankAccountUpdateRequestValidator;
|
private final Function<BankAccountUpdateRequest, IValidator> bankAccountUpdateRequestValidator;
|
||||||
private final Function<CommonDeleteRequest, IValidator> bankAccountBlockRequestValidator;
|
private final Function<CommonIdRequest, IValidator> bankAccountBlockRequestValidator;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public BankAccountService(Consumer<String, Object> kafkaQueue,
|
public BankAccountService(Consumer<String, Object> kafkaQueue,
|
||||||
|
|
@ -58,7 +58,7 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
||||||
@Qualifier("bankAccountUpdateRequestValidator")
|
@Qualifier("bankAccountUpdateRequestValidator")
|
||||||
Function<BankAccountUpdateRequest, IValidator> bankAccountUpdateRequestValidator,
|
Function<BankAccountUpdateRequest, IValidator> bankAccountUpdateRequestValidator,
|
||||||
@Qualifier("bankAccountBlockRequestValidator")
|
@Qualifier("bankAccountBlockRequestValidator")
|
||||||
Function<CommonDeleteRequest, IValidator> bankAccountBlockRequestValidator) {
|
Function<CommonIdRequest, IValidator> bankAccountBlockRequestValidator) {
|
||||||
super(kafkaQueue, kafkaProducer);
|
super(kafkaQueue, kafkaProducer);
|
||||||
this.bankAccountMap = imdgProvider.getImdg(IMDGDistributedNames.Map_BankAccount, BankAccount.class);
|
this.bankAccountMap = imdgProvider.getImdg(IMDGDistributedNames.Map_BankAccount, BankAccount.class);
|
||||||
this.accountMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
this.accountMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
||||||
|
|
@ -79,7 +79,7 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
||||||
callback(BankAccountUpdateRequest.class)
|
callback(BankAccountUpdateRequest.class)
|
||||||
.setFunction(this::bankAccountUpdate)
|
.setFunction(this::bankAccountUpdate)
|
||||||
.forDestination(Consts.DESTINATION_BANK_ACCOUNT_UPDATE, callbacks::put);
|
.forDestination(Consts.DESTINATION_BANK_ACCOUNT_UPDATE, callbacks::put);
|
||||||
callback(CommonDeleteRequest.class)
|
callback(CommonIdRequest.class)
|
||||||
.setFunction(this::bankAccountBlock)
|
.setFunction(this::bankAccountBlock)
|
||||||
.forDestination(Consts.DESTINATION_BANK_ACCOUNT_BLOCK, callbacks::put);
|
.forDestination(Consts.DESTINATION_BANK_ACCOUNT_BLOCK, callbacks::put);
|
||||||
init();
|
init();
|
||||||
|
|
@ -101,7 +101,7 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
||||||
Account account = new Account();
|
Account account = new Account();
|
||||||
account.setAccount(req.getAccount());
|
account.setAccount(req.getAccount());
|
||||||
account.setAccountType(AccountType.Bank.getKey());
|
account.setAccountType(AccountType.Bank.getKey());
|
||||||
account.setStatus(AccountStatus.ACTIVE.getKey());
|
account.setStatus(ServiceStatus.Active.getKey());
|
||||||
account.setCompanyId(req.getCompanyId());
|
account.setCompanyId(req.getCompanyId());
|
||||||
account.setCreated(now);
|
account.setCreated(now);
|
||||||
account.setUpdated(now);
|
account.setUpdated(now);
|
||||||
|
|
@ -194,8 +194,8 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private RequestInfoUpdate bankAccountBlock(BaseRequest<CommonDeleteRequest> userRequest) {
|
private RequestInfoUpdate bankAccountBlock(BaseRequest<CommonIdRequest> userRequest) {
|
||||||
CommonDeleteRequest req = userRequest.getRequestPayload();
|
CommonIdRequest req = userRequest.getRequestPayload();
|
||||||
|
|
||||||
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
@ -203,11 +203,11 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
||||||
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, bankAccountBlockRequestValidator);
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, bankAccountBlockRequestValidator);
|
||||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
log.debug("CommonDeleteRequest received id = {}", req.getId());
|
log.debug("CommonIdRequest received id = {}", req.getId());
|
||||||
BankAccount bankAccount = bankAccountMap.getSingleObjectByID(req.getId());
|
BankAccount bankAccount = bankAccountMap.getSingleObjectByID(req.getId());
|
||||||
|
|
||||||
Account account = accountMap.getSingleObjectByID(bankAccount.getAccountId());
|
Account account = accountMap.getSingleObjectByID(bankAccount.getAccountId());
|
||||||
account.setStatus(AccountStatus.BLOCKED.getKey());
|
account.setStatus(ServiceStatus.Blocked.getKey());
|
||||||
account.setUpdated(Instant.now());
|
account.setUpdated(Instant.now());
|
||||||
|
|
||||||
ImdgTransaction imdgTransaction = imdgProvider.newTransaction();
|
ImdgTransaction imdgTransaction = imdgProvider.newTransaction();
|
||||||
|
|
@ -224,7 +224,6 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
||||||
bankAccount.getId(),
|
bankAccount.getId(),
|
||||||
account.getId());
|
account.getId());
|
||||||
} else {
|
} else {
|
||||||
// todo выяснить, что возвращать из метода в этой ситуации
|
|
||||||
log.debug("failed block, bank account id {}, new account id {}",
|
log.debug("failed block, bank account id {}, new account id {}",
|
||||||
bankAccount.getId(),
|
bankAccount.getId(),
|
||||||
account.getId());
|
account.getId());
|
||||||
|
|
|
||||||
|
|
@ -16,18 +16,19 @@ import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClearingAccountNewRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClearingAccountNewRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClearingAccountUpdateRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClearingAccountUpdateRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||||
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.platform.messaging.service.sender.KafkaSender;
|
||||||
|
import ru.spcex.clearing.util.services.RequestHelper;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
import ru.spcex.platform.enumeration.AccountStatus;
|
|
||||||
import ru.spcex.platform.enumeration.AccountType;
|
import ru.spcex.platform.enumeration.AccountType;
|
||||||
|
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
|
||||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||||
import ru.spcex.platform.utils.validation.IValidator;
|
import ru.spcex.platform.utils.validation.IValidator;
|
||||||
|
|
||||||
|
|
@ -38,33 +39,39 @@ import java.util.function.Function;
|
||||||
@Service
|
@Service
|
||||||
public class ClearingAccountService extends QueueConsumer implements InitializingBean {
|
public class ClearingAccountService extends QueueConsumer implements InitializingBean {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
private final KafkaSender kafkaSender;
|
||||||
private final AccountService accountService;
|
private final AccountService accountService;
|
||||||
private final ValidationHelper validationHelper;
|
private final ValidationHelper validationHelper;
|
||||||
private final ImdgProvider imdgProvider;
|
private final ImdgProvider imdgProvider;
|
||||||
private final Imdg<Account> accountImdg;
|
private final Imdg<Account> accountImdg;
|
||||||
private final Imdg<ClearingAccount> clearingAccountImdg;
|
private final Imdg<ClearingAccount> clearingAccountImdg;
|
||||||
private final IMessageResolver messageResolver;
|
private final IMessageResolver messageResolver;
|
||||||
|
private final RequestHelper requestHelper;
|
||||||
private final Function<ClearingAccountNewRequest, IValidator> clearingAccountNewRequestValidator;
|
private final Function<ClearingAccountNewRequest, IValidator> clearingAccountNewRequestValidator;
|
||||||
private final Function<ClearingAccountUpdateRequest, IValidator> clearingAccountUpdateRequestValidator;
|
private final Function<ClearingAccountUpdateRequest, IValidator> clearingAccountUpdateRequestValidator;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public ClearingAccountService(Consumer<String, Object> kafkaQueue,
|
public ClearingAccountService(Consumer<String, Object> kafkaQueue,
|
||||||
Producer<String, Object> kafkaResponseQueue,
|
Producer<String, Object> kafkaResponseQueue,
|
||||||
|
KafkaSender kafkaSender,
|
||||||
AccountService accountService,
|
AccountService accountService,
|
||||||
ValidationHelper validationHelper,
|
ValidationHelper validationHelper,
|
||||||
ImdgProvider imdgProvider,
|
ImdgProvider imdgProvider,
|
||||||
IMessageResolver messageResolver,
|
IMessageResolver messageResolver,
|
||||||
|
RequestHelper requestHelper,
|
||||||
@Qualifier("clearingAccountNewRequestValidator")
|
@Qualifier("clearingAccountNewRequestValidator")
|
||||||
Function<ClearingAccountNewRequest, IValidator> clearingAccountNewRequestValidator,
|
Function<ClearingAccountNewRequest, IValidator> clearingAccountNewRequestValidator,
|
||||||
@Qualifier("clearingAccountUpdateRequestValidator")
|
@Qualifier("clearingAccountUpdateRequestValidator")
|
||||||
Function<ClearingAccountUpdateRequest, IValidator> clearingAccountUpdateRequestValidator) {
|
Function<ClearingAccountUpdateRequest, IValidator> clearingAccountUpdateRequestValidator) {
|
||||||
super(kafkaQueue, kafkaResponseQueue);
|
super(kafkaQueue, kafkaResponseQueue);
|
||||||
|
this.kafkaSender = kafkaSender;
|
||||||
this.accountService = accountService;
|
this.accountService = accountService;
|
||||||
this.validationHelper = validationHelper;
|
this.validationHelper = validationHelper;
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
this.accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
this.accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
||||||
this.clearingAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
this.clearingAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
||||||
this.messageResolver = messageResolver;
|
this.messageResolver = messageResolver;
|
||||||
|
this.requestHelper = requestHelper;
|
||||||
this.clearingAccountNewRequestValidator = clearingAccountNewRequestValidator;
|
this.clearingAccountNewRequestValidator = clearingAccountNewRequestValidator;
|
||||||
this.clearingAccountUpdateRequestValidator = clearingAccountUpdateRequestValidator;
|
this.clearingAccountUpdateRequestValidator = clearingAccountUpdateRequestValidator;
|
||||||
}
|
}
|
||||||
|
|
@ -92,7 +99,7 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
||||||
Account account = new Account();
|
Account account = new Account();
|
||||||
account.setAccount(req.getAccount());
|
account.setAccount(req.getAccount());
|
||||||
account.setAccountType(AccountType.Clrn.getKey());
|
account.setAccountType(AccountType.Clrn.getKey());
|
||||||
account.setStatus(AccountStatus.ACTIVE.getKey());
|
account.setStatus(ServiceStatus.Active.getKey());
|
||||||
account.setCompanyId(req.getCompanyId());
|
account.setCompanyId(req.getCompanyId());
|
||||||
account.setCreated(now);
|
account.setCreated(now);
|
||||||
account.setUpdated(now);
|
account.setUpdated(now);
|
||||||
|
|
@ -104,10 +111,11 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
||||||
ImdgTransaction imdgTransaction = imdgProvider.newTransaction();
|
ImdgTransaction imdgTransaction = imdgProvider.newTransaction();
|
||||||
boolean txOk = false;
|
boolean txOk = false;
|
||||||
imdgTransaction.beginTransaction();
|
imdgTransaction.beginTransaction();
|
||||||
|
ClearingAccount clearingAccount = null;
|
||||||
try {
|
try {
|
||||||
accountId = accountImdg.insert(account);
|
accountId = accountImdg.insert(account);
|
||||||
|
|
||||||
ClearingAccount clearingAccount = new ClearingAccount();
|
clearingAccount = new ClearingAccount();
|
||||||
clearingAccount.setCompanyId(req.getCompanyId());
|
clearingAccount.setCompanyId(req.getCompanyId());
|
||||||
clearingAccount.setAccountId(accountId);
|
clearingAccount.setAccountId(accountId);
|
||||||
clearingAccount.setClearingAccountType(req.getClearingAccountType());
|
clearingAccount.setClearingAccountType(req.getClearingAccountType());
|
||||||
|
|
@ -116,9 +124,12 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
||||||
} finally {
|
} finally {
|
||||||
if (txOk) {
|
if (txOk) {
|
||||||
imdgTransaction.commitTransaction();
|
imdgTransaction.commitTransaction();
|
||||||
|
TradingClearingRegistryNewRequest request = new TradingClearingRegistryNewRequest();
|
||||||
|
request.setMoneyAccountId(accountId);
|
||||||
|
request.setCompanyId(clearingAccount.getCompanyId());
|
||||||
|
kafkaSender.sendRequestToQueue(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_AUTO_NEW, request);
|
||||||
log.debug("successfully processed, new clearing account id {}, account id {}", clearingAccountId, accountId);
|
log.debug("successfully processed, new clearing account id {}, account id {}", clearingAccountId, accountId);
|
||||||
} else {
|
} else {
|
||||||
// todo выяснить, что возвращать из метода в этой ситуации
|
|
||||||
log.debug("failed insert, new clearing account id {}, new account id {} (if id = -1 then insert is failed)",
|
log.debug("failed insert, new clearing account id {}, new account id {} (if id = -1 then insert is failed)",
|
||||||
clearingAccountId,
|
clearingAccountId,
|
||||||
accountId);
|
accountId);
|
||||||
|
|
@ -137,7 +148,7 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
||||||
ClearingAccountUpdateRequest req = userRequest.getRequestPayload();
|
ClearingAccountUpdateRequest req = userRequest.getRequestPayload();
|
||||||
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
||||||
ImdgPredicate accountValuePredicate = pb.equals("account", req.getAccount());
|
ImdgPredicate accountValuePredicate = pb.equals("account", req.getAccount());
|
||||||
ImdgPredicate accountStatusPredicate = pb.equals("status", AccountStatus.ACTIVE.getKey());
|
ImdgPredicate accountStatusPredicate = pb.equals("status", ServiceStatus.Active.getKey());
|
||||||
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Clrn.getKey());
|
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Clrn.getKey());
|
||||||
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
||||||
accountStatusPredicate,
|
accountStatusPredicate,
|
||||||
|
|
@ -147,18 +158,13 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
||||||
Long accountId = account.getId();
|
Long accountId = account.getId();
|
||||||
|
|
||||||
ClearingAccount clearingAccount = clearingAccountImdg.getSingleObjectByFieldValues(Map.of("accountId", accountId));
|
ClearingAccount clearingAccount = clearingAccountImdg.getSingleObjectByFieldValues(Map.of("accountId", accountId));
|
||||||
if (clearingAccount == null) {
|
if (clearingAccount == null)
|
||||||
String errMsg = messageResolver.resolve(new EnumMessage(AccountError.AccountNotFound, account.getAccount()));
|
return requestHelper.makeErrorResponse(userRequest, AccountError.AccountNotFound, account.getAccount());
|
||||||
return new RequestInfoUpdate()
|
|
||||||
.setId(userRequest.getId())
|
|
||||||
.setStatus(Status.Error)
|
|
||||||
.setMessage(errMsg);
|
|
||||||
}
|
|
||||||
|
|
||||||
Integer statusValue = req.getStatus();
|
Integer statusValue = req.getStatus();
|
||||||
if (statusValue == 0) account.setStatus(AccountStatus.BLOCKED.getKey());
|
if (statusValue == 0) account.setStatus(ServiceStatus.Blocked.getKey());
|
||||||
else if (statusValue == 1) account.setStatus(AccountStatus.ACTIVE.getKey());
|
else if (statusValue == 1) account.setStatus(ServiceStatus.Active.getKey());
|
||||||
else if (statusValue == 2) account.setStatus(AccountStatus.CLOSE.getKey());
|
else if (statusValue == 2) account.setStatus(ServiceStatus.Closed.getKey());
|
||||||
account.setUpdated(Instant.now());
|
account.setUpdated(Instant.now());
|
||||||
|
|
||||||
accountImdg.update(account);
|
accountImdg.update(account);
|
||||||
|
|
|
||||||
|
|
@ -13,11 +13,13 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.DepoAccountNewRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.DepoAccountNewRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||||
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.sender.KafkaSender;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
import ru.spcex.platform.enumeration.AccountStatus;
|
|
||||||
import ru.spcex.platform.enumeration.AccountType;
|
import ru.spcex.platform.enumeration.AccountType;
|
||||||
|
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||||
|
|
@ -30,6 +32,7 @@ import java.util.function.Function;
|
||||||
public class DepoAccountService extends QueueConsumer implements InitializingBean {
|
public class DepoAccountService extends QueueConsumer implements InitializingBean {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
|
private final KafkaSender kafkaSender;
|
||||||
private final ValidationHelper validationHelper;
|
private final ValidationHelper validationHelper;
|
||||||
private final ImdgProvider imdgProvider;
|
private final ImdgProvider imdgProvider;
|
||||||
private final AccountService accountService;
|
private final AccountService accountService;
|
||||||
|
|
@ -39,12 +42,14 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea
|
||||||
|
|
||||||
public DepoAccountService(Consumer<String, Object> kafkaQueue,
|
public DepoAccountService(Consumer<String, Object> kafkaQueue,
|
||||||
Producer<String, Object> kafkaProducer,
|
Producer<String, Object> kafkaProducer,
|
||||||
|
KafkaSender kafkaSender,
|
||||||
ValidationHelper validationHelper,
|
ValidationHelper validationHelper,
|
||||||
ImdgProvider imdgProvider,
|
ImdgProvider imdgProvider,
|
||||||
AccountService accountService,
|
AccountService accountService,
|
||||||
@Qualifier("depoAccountNewRequestValidator")
|
@Qualifier("depoAccountNewRequestValidator")
|
||||||
Function<DepoAccountNewRequest, IValidator> depoAccountNewRequestValidator) {
|
Function<DepoAccountNewRequest, IValidator> depoAccountNewRequestValidator) {
|
||||||
super(kafkaQueue, kafkaProducer);
|
super(kafkaQueue, kafkaProducer);
|
||||||
|
this.kafkaSender = kafkaSender;
|
||||||
this.validationHelper = validationHelper;
|
this.validationHelper = validationHelper;
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
this.accountService = accountService;
|
this.accountService = accountService;
|
||||||
|
|
@ -56,7 +61,7 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception {
|
public void afterPropertiesSet() throws Exception {
|
||||||
callback(DepoAccountNewRequest.class)
|
callback(DepoAccountNewRequest.class)
|
||||||
.setConsumer(this::depoAccountNew)
|
.setFunction(this::depoAccountNew)
|
||||||
.forDestination(Consts.DESTINATION_DEPO_ACCOUNT_NEW, callbacks::put);
|
.forDestination(Consts.DESTINATION_DEPO_ACCOUNT_NEW, callbacks::put);
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
@ -74,7 +79,7 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea
|
||||||
Account account = new Account();
|
Account account = new Account();
|
||||||
account.setAccount(req.getAccount());
|
account.setAccount(req.getAccount());
|
||||||
account.setAccountType(AccountType.Depo.getKey());
|
account.setAccountType(AccountType.Depo.getKey());
|
||||||
account.setStatus(AccountStatus.ACTIVE.getKey());
|
account.setStatus(ServiceStatus.Active.getKey());
|
||||||
account.setCompanyId(req.getCompanyId());
|
account.setCompanyId(req.getCompanyId());
|
||||||
account.setCreated(now);
|
account.setCreated(now);
|
||||||
account.setUpdated(now);
|
account.setUpdated(now);
|
||||||
|
|
@ -86,10 +91,11 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea
|
||||||
ImdgTransaction imdgTransaction = imdgProvider.newTransaction();
|
ImdgTransaction imdgTransaction = imdgProvider.newTransaction();
|
||||||
boolean txOk = false;
|
boolean txOk = false;
|
||||||
imdgTransaction.beginTransaction();
|
imdgTransaction.beginTransaction();
|
||||||
|
DepoAccount depoAccount = null;
|
||||||
try {
|
try {
|
||||||
accountId = accountImdg.insert(account);
|
accountId = accountImdg.insert(account);
|
||||||
|
|
||||||
DepoAccount depoAccount = new DepoAccount();
|
depoAccount = new DepoAccount();
|
||||||
depoAccount.setCompanyId(req.getCompanyId());
|
depoAccount.setCompanyId(req.getCompanyId());
|
||||||
depoAccount.setAccountId(accountId);
|
depoAccount.setAccountId(accountId);
|
||||||
depoAccount.setDepoAccountType(req.getDepoAccountType());
|
depoAccount.setDepoAccountType(req.getDepoAccountType());
|
||||||
|
|
@ -98,9 +104,12 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea
|
||||||
} finally {
|
} finally {
|
||||||
if (txOk) {
|
if (txOk) {
|
||||||
imdgTransaction.commitTransaction();
|
imdgTransaction.commitTransaction();
|
||||||
|
TradingClearingRegistryNewRequest request = new TradingClearingRegistryNewRequest();
|
||||||
|
request.setDepoAccountId(accountId);
|
||||||
|
request.setCompanyId(depoAccount.getCompanyId());
|
||||||
|
kafkaSender.sendRequestToQueue(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_AUTO_NEW, request);
|
||||||
log.debug("successfully processed, new depo account id {}, account id {}", depoAccountId, accountId);
|
log.debug("successfully processed, new depo account id {}, account id {}", depoAccountId, accountId);
|
||||||
} else {
|
} else {
|
||||||
// todo выяснить, что возвращать из метода в этой ситуации
|
|
||||||
log.debug("failed insert, new depo account id {}, new account id {} (if id = -1 then insert is failed)",
|
log.debug("failed insert, new depo account id {}, new account id {} (if id = -1 then insert is failed)",
|
||||||
depoAccountId,
|
depoAccountId,
|
||||||
accountId);
|
accountId);
|
||||||
|
|
|
||||||
|
|
@ -15,18 +15,19 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.InformationAccountNewRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.InformationAccountNewRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||||
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.platform.messaging.service.sender.KafkaSender;
|
||||||
|
import ru.spcex.clearing.util.services.RequestHelper;
|
||||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
import ru.spcex.platform.enumeration.AccountStatus;
|
|
||||||
import ru.spcex.platform.enumeration.AccountType;
|
import ru.spcex.platform.enumeration.AccountType;
|
||||||
|
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
|
||||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||||
import ru.spcex.platform.utils.validation.IValidator;
|
import ru.spcex.platform.utils.validation.IValidator;
|
||||||
|
|
||||||
|
|
@ -37,10 +38,12 @@ import java.util.function.Function;
|
||||||
@Service
|
@Service
|
||||||
public class InformationAccountService extends QueueConsumer implements InitializingBean {
|
public class InformationAccountService extends QueueConsumer implements InitializingBean {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
private final KafkaSender kafkaSender;
|
||||||
private final IMessageResolver messageResolver;
|
private final IMessageResolver messageResolver;
|
||||||
private final ImdgProvider imdgProvider;
|
private final ImdgProvider imdgProvider;
|
||||||
private final ValidationHelper validationHelper;
|
private final ValidationHelper validationHelper;
|
||||||
private final AccountService accountService;
|
private final AccountService accountService;
|
||||||
|
private final RequestHelper requestHelper;
|
||||||
private final Function<InformationAccountNewRequest, IValidator> infoAccountNewRequestValidator;
|
private final Function<InformationAccountNewRequest, IValidator> infoAccountNewRequestValidator;
|
||||||
private final Imdg<InformationAccount> informationAccountImdg;
|
private final Imdg<InformationAccount> informationAccountImdg;
|
||||||
private final Imdg<Account> accountImdg;
|
private final Imdg<Account> accountImdg;
|
||||||
|
|
@ -48,17 +51,21 @@ public class InformationAccountService extends QueueConsumer implements Initiali
|
||||||
@Autowired
|
@Autowired
|
||||||
public InformationAccountService(Consumer<String, Object> kafkaQueue,
|
public InformationAccountService(Consumer<String, Object> kafkaQueue,
|
||||||
Producer<String, Object> kafkaResponseQueue,
|
Producer<String, Object> kafkaResponseQueue,
|
||||||
|
KafkaSender kafkaSender,
|
||||||
IMessageResolver messageResolver,
|
IMessageResolver messageResolver,
|
||||||
ImdgProvider imdgProvider,
|
ImdgProvider imdgProvider,
|
||||||
ValidationHelper validationHelper,
|
ValidationHelper validationHelper,
|
||||||
AccountService accountService,
|
AccountService accountService,
|
||||||
|
RequestHelper requestHelper,
|
||||||
@Qualifier("informationAccountNewRequestValidator")
|
@Qualifier("informationAccountNewRequestValidator")
|
||||||
Function<InformationAccountNewRequest, IValidator> infoAccountNewRequestValidator) {
|
Function<InformationAccountNewRequest, IValidator> infoAccountNewRequestValidator) {
|
||||||
super(kafkaQueue, kafkaResponseQueue);
|
super(kafkaQueue, kafkaResponseQueue);
|
||||||
|
this.kafkaSender = kafkaSender;
|
||||||
this.messageResolver = messageResolver;
|
this.messageResolver = messageResolver;
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
this.validationHelper = validationHelper;
|
this.validationHelper = validationHelper;
|
||||||
this.accountService = accountService;
|
this.accountService = accountService;
|
||||||
|
this.requestHelper = requestHelper;
|
||||||
this.infoAccountNewRequestValidator = infoAccountNewRequestValidator;
|
this.infoAccountNewRequestValidator = infoAccountNewRequestValidator;
|
||||||
this.informationAccountImdg = imdgProvider.getImdg(
|
this.informationAccountImdg = imdgProvider.getImdg(
|
||||||
IMDGDistributedNames.Map_InformationAccount, InformationAccount.class
|
IMDGDistributedNames.Map_InformationAccount, InformationAccount.class
|
||||||
|
|
@ -71,7 +78,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception {
|
public void afterPropertiesSet() throws Exception {
|
||||||
callback(InformationAccountNewRequest.class)
|
callback(InformationAccountNewRequest.class)
|
||||||
.setConsumer(this::informationAccountNew)
|
.setFunction(this::informationAccountNew)
|
||||||
.forDestination(Consts.DESTINATION_INFORMATION_ACCOUNT_NEW, callbacks::put);
|
.forDestination(Consts.DESTINATION_INFORMATION_ACCOUNT_NEW, callbacks::put);
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
@ -91,11 +98,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali
|
||||||
ImdgPredicate andPredicate = accountPredicateBuilder.and(companyIdPredicate, accountTypePredicate);
|
ImdgPredicate andPredicate = accountPredicateBuilder.and(companyIdPredicate, accountTypePredicate);
|
||||||
Collection<Account> accountsAnlt = accountImdg.getCollectionObjectsByPredicate(andPredicate);
|
Collection<Account> accountsAnlt = accountImdg.getCollectionObjectsByPredicate(andPredicate);
|
||||||
if (accountsAnlt.isEmpty()) {
|
if (accountsAnlt.isEmpty()) {
|
||||||
String errMsg = messageResolver.resolve(new EnumMessage(AccountError.WrongFieldValue, "clearingAccountId"));
|
return requestHelper.makeErrorResponse(userRequest, AccountError.WrongFieldValue, "clearingAccountId");
|
||||||
return new RequestInfoUpdate()
|
|
||||||
.setId(userRequest.getId())
|
|
||||||
.setStatus(Status.Error)
|
|
||||||
.setMessage(errMsg);
|
|
||||||
} else if (accountsAnlt.size() > 1) {
|
} else if (accountsAnlt.size() > 1) {
|
||||||
log.warn("Account for companyId 1 and accountType=ANLT contains multiply elements, use first");
|
log.warn("Account for companyId 1 and accountType=ANLT contains multiply elements, use first");
|
||||||
}
|
}
|
||||||
|
|
@ -105,7 +108,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali
|
||||||
Account account = new Account();
|
Account account = new Account();
|
||||||
account.setAccount(accountValue);
|
account.setAccount(accountValue);
|
||||||
account.setAccountType(AccountType.Info.getKey());
|
account.setAccountType(AccountType.Info.getKey());
|
||||||
account.setStatus(AccountStatus.ACTIVE.getKey());
|
account.setStatus(ServiceStatus.Active.getKey());
|
||||||
account.setCompanyId(userRequest.getRequestPayload().getCompanyId());
|
account.setCompanyId(userRequest.getRequestPayload().getCompanyId());
|
||||||
account.setCreated(now);
|
account.setCreated(now);
|
||||||
account.setUpdated(now);
|
account.setUpdated(now);
|
||||||
|
|
@ -117,10 +120,11 @@ public class InformationAccountService extends QueueConsumer implements Initiali
|
||||||
boolean txOk = false;
|
boolean txOk = false;
|
||||||
Long informationAccountId = -1L;
|
Long informationAccountId = -1L;
|
||||||
Long accountId = -1L;
|
Long accountId = -1L;
|
||||||
|
InformationAccount informationAccount = null;
|
||||||
try {
|
try {
|
||||||
accountId = accountImdg.insert(account);
|
accountId = accountImdg.insert(account);
|
||||||
|
|
||||||
InformationAccount informationAccount = new InformationAccount();
|
informationAccount = new InformationAccount();
|
||||||
informationAccount.setId(newId);
|
informationAccount.setId(newId);
|
||||||
informationAccount.setAccountId(accountId);
|
informationAccount.setAccountId(accountId);
|
||||||
informationAccount.setClearingAccountId(anltAccount.getId());
|
informationAccount.setClearingAccountId(anltAccount.getId());
|
||||||
|
|
@ -130,11 +134,14 @@ public class InformationAccountService extends QueueConsumer implements Initiali
|
||||||
} finally {
|
} finally {
|
||||||
if (txOk) {
|
if (txOk) {
|
||||||
imdgTransaction.commitTransaction();
|
imdgTransaction.commitTransaction();
|
||||||
|
TradingClearingRegistryNewRequest request = new TradingClearingRegistryNewRequest();
|
||||||
|
request.setMoneyAccountId(informationAccountId);
|
||||||
|
request.setCompanyId(informationAccount.getCompanyId());
|
||||||
|
kafkaSender.sendRequestToQueue(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_AUTO_NEW, request);
|
||||||
log.debug("successfully processed, new information account id {}, new account id {}",
|
log.debug("successfully processed, new information account id {}, new account id {}",
|
||||||
informationAccountId,
|
informationAccountId,
|
||||||
accountId);
|
accountId);
|
||||||
} else {
|
} else {
|
||||||
// todo выяснить, что возвращать из метода в этой ситуации
|
|
||||||
log.debug("failed insert, new information account id {}, new account id {} (if id = -1 then insert is failed)",
|
log.debug("failed insert, new information account id {}, new account id {} (if id = -1 then insert is failed)",
|
||||||
informationAccountId,
|
informationAccountId,
|
||||||
accountId);
|
accountId);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,405 @@
|
||||||
|
package ru.spcex.clearing.account.service;
|
||||||
|
|
||||||
|
import org.apache.kafka.clients.consumer.Consumer;
|
||||||
|
import org.apache.kafka.clients.producer.Producer;
|
||||||
|
import org.apache.kafka.clients.producer.ProducerRecord;
|
||||||
|
import org.apache.kafka.clients.producer.RecordMetadata;
|
||||||
|
import org.apache.kafka.common.header.Header;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import ru.clearing.classes.statics.data.account.Account;
|
||||||
|
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
||||||
|
import ru.clearing.classes.statics.data.account.DepoAccount;
|
||||||
|
import ru.clearing.classes.statics.data.account.InformationAccount;
|
||||||
|
import ru.clearing.classes.statics.data.company.Company;
|
||||||
|
import ru.clearing.classes.statics.data.company.relation.Relation;
|
||||||
|
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||||
|
import ru.spcex.clearing.account.errors.AccountError;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryUpdateRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||||
|
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||||
|
import ru.spcex.clearing.platform.messaging.service.Status;
|
||||||
|
import ru.spcex.clearing.platform.messaging.service.sender.CorrelationHeader;
|
||||||
|
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||||
|
import ru.spcex.clearing.util.services.RequestHelper;
|
||||||
|
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||||
|
import ru.spcex.platform.enumeration.AccountType;
|
||||||
|
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||||
|
import ru.spcex.platform.enumeration.TradingClearingRegistryPurpose;
|
||||||
|
import ru.spcex.platform.enumeration.TradingClearingRegistryType;
|
||||||
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||||
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||||
|
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||||
|
import ru.spcex.platform.utils.log.ExceptionUtils;
|
||||||
|
import ru.spcex.platform.utils.validation.IValidator;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.Future;
|
||||||
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class TradingClearingRegistryService extends QueueConsumer implements InitializingBean {
|
||||||
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
|
private final ValidationHelper validationHelper;
|
||||||
|
private final UserRoleVerification userRoleVerification;
|
||||||
|
|
||||||
|
private final Imdg<TradingClearingRegistry> tradingClearingRegistryImdg;
|
||||||
|
private final Imdg<DepoAccount> depoAccountImdg;
|
||||||
|
private final Imdg<ClearingAccount> clearingAccountImdg;
|
||||||
|
private final Imdg<InformationAccount> informationAccountImdg;
|
||||||
|
private final Imdg<Account> accountImdg;
|
||||||
|
private final Imdg<Company> companyImdg;
|
||||||
|
private final Imdg<Relation> relationImdg;
|
||||||
|
|
||||||
|
private final Function<TradingClearingRegistryUpdateRequest, IValidator> tradingClearingRegistryUpdateRequestValidator;
|
||||||
|
private final RequestHelper requestHelper;
|
||||||
|
private final Function<TradingClearingRegistryNewRequest, IValidator> tradingClearingRegistryNewRequestValidator;
|
||||||
|
private final Function<CommonIdRequest, IValidator> tradingClearingRegistryBlockRequestValidator;
|
||||||
|
|
||||||
|
private final IMessageResolver messageResolver;
|
||||||
|
private final Producer<String, Object> kafkaProducer;
|
||||||
|
|
||||||
|
public TradingClearingRegistryService(Consumer<String, Object> kafkaQueue,
|
||||||
|
Producer<String, Object> kafkaProducer,
|
||||||
|
ImdgProvider imdgProvider,
|
||||||
|
ValidationHelper validationHelper,
|
||||||
|
UserRoleVerification userRoleVerification,
|
||||||
|
IMessageResolver messageResolver,
|
||||||
|
RequestHelper requestHelper,
|
||||||
|
@Qualifier("tradingClearingRegistryNewRequest")
|
||||||
|
Function<TradingClearingRegistryNewRequest, IValidator> tradingClearingRegistryNewRequestValidator,
|
||||||
|
@Qualifier("tradingClearingRegistryUpdateRequest")
|
||||||
|
Function<TradingClearingRegistryUpdateRequest, IValidator> tradingClearingRegistryUpdateRequestValidator,
|
||||||
|
@Qualifier("tradingClearingRegistryBlockRequest")
|
||||||
|
Function<CommonIdRequest, IValidator> tradingClearingRegistryBlockRequestValidator) {
|
||||||
|
super(kafkaQueue, kafkaProducer);
|
||||||
|
this.kafkaProducer = kafkaProducer;
|
||||||
|
this.validationHelper = validationHelper;
|
||||||
|
this.userRoleVerification = userRoleVerification;
|
||||||
|
this.requestHelper = requestHelper;
|
||||||
|
this.tradingClearingRegistryNewRequestValidator = tradingClearingRegistryNewRequestValidator;
|
||||||
|
this.tradingClearingRegistryImdg = imdgProvider.getImdg(
|
||||||
|
IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class
|
||||||
|
);
|
||||||
|
this.depoAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class);
|
||||||
|
this.clearingAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
||||||
|
this.informationAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_InformationAccount, InformationAccount.class);
|
||||||
|
this.companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||||
|
this.accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
||||||
|
this.relationImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||||
|
this.tradingClearingRegistryUpdateRequestValidator = tradingClearingRegistryUpdateRequestValidator;
|
||||||
|
this.tradingClearingRegistryBlockRequestValidator = tradingClearingRegistryBlockRequestValidator;
|
||||||
|
this.messageResolver = messageResolver;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterPropertiesSet() throws Exception {
|
||||||
|
init();
|
||||||
|
callback(TradingClearingRegistryNewRequest.class)
|
||||||
|
.setFunction(this::tradingClearingRegistryAutoNew)
|
||||||
|
.forDestination(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_AUTO_NEW, callbacks::put);
|
||||||
|
callback(TradingClearingRegistryNewRequest.class)
|
||||||
|
.setFunction(this::tradingClearingRegistryNew)
|
||||||
|
.forDestination(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_NEW, callbacks::put);
|
||||||
|
callback(TradingClearingRegistryUpdateRequest.class)
|
||||||
|
.setFunction(this::tradingClearingRegistryUpdate)
|
||||||
|
.forDestination(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_UPDATE, callbacks::put);
|
||||||
|
callback(CommonIdRequest.class)
|
||||||
|
.setFunction(this::tradingClearingRegistryBlock)
|
||||||
|
.forDestination(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_BLOCK, callbacks::put);
|
||||||
|
}
|
||||||
|
|
||||||
|
public RequestInfoUpdate tradingClearingRegistryAutoNew(BaseRequest<TradingClearingRegistryNewRequest> userRequest) {
|
||||||
|
log.debug("TradingClearingRegistryNewRequest received");
|
||||||
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, tradingClearingRegistryNewRequestValidator);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
TradingClearingRegistryNewRequest req = userRequest.getRequestPayload();
|
||||||
|
|
||||||
|
Long id = tradingClearingRegistryImdg.nextIDSequenceFor();
|
||||||
|
TradingClearingRegistry tradingClearingRegistry = new TradingClearingRegistry();
|
||||||
|
tradingClearingRegistry.setId(id);
|
||||||
|
tradingClearingRegistry.setCompanyId(req.getCompanyId());
|
||||||
|
tradingClearingRegistry.setMoneyAccountId(req.getMoneyAccountId());
|
||||||
|
tradingClearingRegistry.setDepoAccountId(req.getDepoAccountId());
|
||||||
|
|
||||||
|
DepoAccount depoAccount = req.getDepoAccountId() != null ? depoAccountImdg.getSingleObjectByID(req.getDepoAccountId()) : null;
|
||||||
|
Account depoAccountMain = depoAccount != null ? accountImdg.getSingleObjectByID(depoAccount.getAccountId()) : null;
|
||||||
|
|
||||||
|
InformationAccount infoAccount = null;
|
||||||
|
ClearingAccount clearingAccount = clearingAccountImdg.getSingleObjectByID(req.getMoneyAccountId());
|
||||||
|
if (clearingAccount == null) infoAccount = informationAccountImdg.getSingleObjectByID(req.getMoneyAccountId());
|
||||||
|
Long accountId = clearingAccount != null ? clearingAccount.getAccountId() : infoAccount.getAccountId();
|
||||||
|
Account accountMain = accountImdg.getSingleObjectByID(accountId);
|
||||||
|
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
// Проверка выглядит очень сложно и запутанно, потому что репортеры сами не до конца понимают, какая она должна быть.
|
||||||
|
// Пока что она соответствует ТЗ, но возможно будет правиться, поэтому расписана без выноса кода в методы и
|
||||||
|
// прочих методов сокращения кода. В дальнейшем, после тестирования и окончательного выяснения вида проверки,
|
||||||
|
// её стоит вынести на этап валидации запроса.
|
||||||
|
Relation relation = relationImdg.getSingleObjectByFieldValues(Map.of("consumerId", req.getCompanyId()));
|
||||||
|
if (ru.spcex.platform.enumeration.Service.MKR.equalsByKey(relation.getService())) {
|
||||||
|
TradingClearingRegistry registry = tradingClearingRegistryImdg.getSingleObjectByFieldValues(Map.of("companyId", req.getCompanyId()));
|
||||||
|
if (registry != null) {
|
||||||
|
return requestHelper.makeErrorResponse(userRequest,
|
||||||
|
AccountError.TradingClearingRegistryAlreadyExist,
|
||||||
|
req.getCompanyId(),
|
||||||
|
registry.getId());
|
||||||
|
}
|
||||||
|
DepoAccount depoAccountForCheck = depoAccountImdg.getSingleObjectByFieldValues(Map.of("companyId", req.getCompanyId()));
|
||||||
|
if (depoAccountForCheck == null)
|
||||||
|
return requestHelper.makeErrorResponse(userRequest, AccountError.DepoAccountNotFound, req.getCompanyId());
|
||||||
|
} else if (ru.spcex.platform.enumeration.Service.FOND.equalsByKey(relation.getService())) {
|
||||||
|
if (AccountType.Info.equalsByKey(accountMain.getStatus())) {
|
||||||
|
TradingClearingRegistry registry = tradingClearingRegistryImdg.getSingleObjectByFieldValues(Map.of(
|
||||||
|
"companyId", req.getCompanyId(),
|
||||||
|
"tradingClearingRegistryType", TradingClearingRegistryPurpose.M.getKey()
|
||||||
|
));
|
||||||
|
if (registry != null) {
|
||||||
|
return requestHelper.makeErrorResponse(userRequest,
|
||||||
|
AccountError.TradingClearingRegistryAlreadyExist,
|
||||||
|
req.getCompanyId(),
|
||||||
|
registry.getId());
|
||||||
|
}
|
||||||
|
DepoAccount depoAccountForCheck = depoAccountImdg.getSingleObjectByFieldValues(Map.of("companyId", req.getCompanyId()));
|
||||||
|
if (depoAccountForCheck == null)
|
||||||
|
return requestHelper.makeErrorResponse(userRequest, AccountError.DepoAccountNotFound, req.getCompanyId());
|
||||||
|
} else if (AccountType.Clrn.equalsByKey(accountMain.getStatus())) {
|
||||||
|
ImdgPredicateBuilder imdgPredicateBuilder = tradingClearingRegistryImdg.predicateBuilder();
|
||||||
|
ImdgPredicate predicate = imdgPredicateBuilder.and(
|
||||||
|
imdgPredicateBuilder.equals("companyId", req.getCompanyId()),
|
||||||
|
imdgPredicateBuilder.or(
|
||||||
|
imdgPredicateBuilder.equals("tradingClearingRegistryPurpose", TradingClearingRegistryPurpose.M.getKey()),
|
||||||
|
imdgPredicateBuilder.equals("tradingClearingRegistryPurpose", TradingClearingRegistryPurpose.C.getKey())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
Collection<TradingClearingRegistry> registry = tradingClearingRegistryImdg.getCollectionObjectsByPredicate(predicate);
|
||||||
|
if (!registry.isEmpty()) {
|
||||||
|
return requestHelper.makeErrorResponse(userRequest,
|
||||||
|
AccountError.TradingClearingRegistryAlreadyExist,
|
||||||
|
req.getCompanyId(),
|
||||||
|
registry.iterator().next().getId());
|
||||||
|
}
|
||||||
|
DepoAccount depoAccountForCheck = depoAccountImdg.getSingleObjectByFieldValues(Map.of("companyId", req.getCompanyId()));
|
||||||
|
if (depoAccountForCheck == null) {
|
||||||
|
return requestHelper.makeErrorResponse(userRequest, AccountError.DepoAccountNotFound, req.getCompanyId());
|
||||||
|
}
|
||||||
|
} else if (AccountType.Depo.equalsByKey(accountMain.getStatus())) {
|
||||||
|
InformationAccount infoAccountForCheck = informationAccountImdg.getSingleObjectByFieldValues(
|
||||||
|
Map.of("companyId", req.getCompanyId())
|
||||||
|
);
|
||||||
|
ClearingAccount clearingAccountForCheck = clearingAccountImdg.getSingleObjectByFieldValues(
|
||||||
|
Map.of("companyId", req.getCompanyId())
|
||||||
|
);
|
||||||
|
if (infoAccountForCheck == null && clearingAccountForCheck == null)
|
||||||
|
return requestHelper.makeErrorResponse(userRequest, AccountError.MoneyAccountNotFound, req.getCompanyId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> activeStatuses = Arrays.asList(ServiceStatus.Active.getKey(), ServiceStatus.Reopened.getKey());
|
||||||
|
String status = null;
|
||||||
|
if (depoAccountMain != null && depoAccountMain.getStatus() != null) {
|
||||||
|
if (activeStatuses.contains(depoAccountMain.getStatus()) && activeStatuses.contains(accountMain.getStatus()))
|
||||||
|
status = ServiceStatus.Active.getKey();
|
||||||
|
if (depoAccountMain.getStatus().equals(ServiceStatus.Blocked.getKey()) || accountMain.getStatus().equals(ServiceStatus.Blocked.getKey()))
|
||||||
|
status = ServiceStatus.Blocked.getKey();
|
||||||
|
if (depoAccountMain.getStatus().equals(ServiceStatus.Suspended.getKey()) || accountMain.getStatus().equals(ServiceStatus.Suspended.getKey()))
|
||||||
|
status = ServiceStatus.Suspended.getKey();
|
||||||
|
if (depoAccountMain.getStatus().equals(ServiceStatus.Closed.getKey()) || accountMain.getStatus().equals(ServiceStatus.Closed.getKey()))
|
||||||
|
status = ServiceStatus.Closed.getKey();
|
||||||
|
} else if (accountMain.getStatus() != null) {
|
||||||
|
if (activeStatuses.contains(accountMain.getStatus()))
|
||||||
|
status = ServiceStatus.Active.getKey();
|
||||||
|
if (accountMain.getStatus().equals(ServiceStatus.Blocked.getKey()))
|
||||||
|
status = ServiceStatus.Blocked.getKey();
|
||||||
|
if (accountMain.getStatus().equals(ServiceStatus.Suspended.getKey()))
|
||||||
|
status = ServiceStatus.Suspended.getKey();
|
||||||
|
if (accountMain.getStatus().equals(ServiceStatus.Closed.getKey()))
|
||||||
|
status = ServiceStatus.Closed.getKey();
|
||||||
|
}
|
||||||
|
if (status == null)
|
||||||
|
return requestHelper.makeErrorResponse(userRequest, AccountError.WrongFieldValue, req.getMoneyAccountId());
|
||||||
|
tradingClearingRegistry.setStatus(status);
|
||||||
|
|
||||||
|
String tradingRegistryType;
|
||||||
|
if (depoAccount != null) {
|
||||||
|
tradingRegistryType = depoAccount.getDepoAccountType();
|
||||||
|
} else {
|
||||||
|
if (clearingAccount != null) tradingRegistryType = clearingAccount.getClearingAccountType();
|
||||||
|
else tradingRegistryType = TradingClearingRegistryType.Owner_A.getKey();
|
||||||
|
}
|
||||||
|
tradingClearingRegistry.setTradingClearingRegistryType(tradingRegistryType);
|
||||||
|
|
||||||
|
TradingClearingRegistryPurpose registryPurpose;
|
||||||
|
if (req.getDepoAccountId() != null) registryPurpose = TradingClearingRegistryPurpose.C;
|
||||||
|
else registryPurpose = TradingClearingRegistryPurpose.M;
|
||||||
|
tradingClearingRegistry.setTradingClearingRegistryPurpose(registryPurpose.getKey());
|
||||||
|
|
||||||
|
Company company = companyImdg.getSingleObjectByID(req.getCompanyId());
|
||||||
|
String code = "%4s".formatted(company.getClearingCode()).replace(' ', '0');
|
||||||
|
code += registryPurpose.getKey();
|
||||||
|
if (registryPurpose == TradingClearingRegistryPurpose.C) code += tradingRegistryType + id;
|
||||||
|
else code += "AT" + id;
|
||||||
|
tradingClearingRegistry.setCode(code);
|
||||||
|
|
||||||
|
Instant now = Instant.now();
|
||||||
|
tradingClearingRegistry.setCreated(now);
|
||||||
|
tradingClearingRegistry.setUpdated(now);
|
||||||
|
|
||||||
|
tradingClearingRegistryImdg.insert(tradingClearingRegistry);
|
||||||
|
|
||||||
|
log.debug("successfully processed, id {}", id);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RequestInfoUpdate tradingClearingRegistryNew(BaseRequest<TradingClearingRegistryNewRequest> userRequest) {
|
||||||
|
log.debug("TradingClearingRegistryNewRequest received");
|
||||||
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) {
|
||||||
|
sendResponse(userRequest, requestInfoUpdate, null);
|
||||||
|
return requestInfoUpdate;
|
||||||
|
}
|
||||||
|
|
||||||
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, tradingClearingRegistryNewRequestValidator);
|
||||||
|
if (requestInfoUpdate != null) {
|
||||||
|
sendResponse(userRequest, requestInfoUpdate, null);
|
||||||
|
return requestInfoUpdate;
|
||||||
|
}
|
||||||
|
|
||||||
|
TradingClearingRegistryNewRequest req = userRequest.getRequestPayload();
|
||||||
|
|
||||||
|
Long id = tradingClearingRegistryImdg.nextIDSequenceFor();
|
||||||
|
TradingClearingRegistry tradingClearingRegistry = new TradingClearingRegistry();
|
||||||
|
tradingClearingRegistry.setId(id);
|
||||||
|
tradingClearingRegistry.setCompanyId(req.getCompanyId());
|
||||||
|
tradingClearingRegistry.setMoneyAccountId(req.getMoneyAccountId());
|
||||||
|
tradingClearingRegistry.setDepoAccountId(req.getDepoAccountId());
|
||||||
|
|
||||||
|
DepoAccount depoAccount = req.getDepoAccountId() != null ? depoAccountImdg.getSingleObjectByID(req.getDepoAccountId()) : null;
|
||||||
|
ClearingAccount clearingAccount = clearingAccountImdg.getSingleObjectByID(req.getMoneyAccountId());
|
||||||
|
|
||||||
|
tradingClearingRegistry.setStatus(ServiceStatus.Active.getKey());
|
||||||
|
|
||||||
|
String tradingRegistryType;
|
||||||
|
if (depoAccount != null) {
|
||||||
|
tradingRegistryType = depoAccount.getDepoAccountType();
|
||||||
|
} else {
|
||||||
|
if (clearingAccount != null) tradingRegistryType = clearingAccount.getClearingAccountType();
|
||||||
|
else tradingRegistryType = TradingClearingRegistryType.Owner_A.getKey();
|
||||||
|
}
|
||||||
|
tradingClearingRegistry.setTradingClearingRegistryType(tradingRegistryType);
|
||||||
|
|
||||||
|
TradingClearingRegistryPurpose registryPurpose;
|
||||||
|
if (req.getDepoAccountId() != null) registryPurpose = TradingClearingRegistryPurpose.C;
|
||||||
|
else registryPurpose = TradingClearingRegistryPurpose.M;
|
||||||
|
tradingClearingRegistry.setTradingClearingRegistryPurpose(registryPurpose.getKey());
|
||||||
|
|
||||||
|
Company company = companyImdg.getSingleObjectByID(req.getCompanyId());
|
||||||
|
String code = "%4s".formatted(company.getClearingCode()).replace(' ', '0');
|
||||||
|
code += registryPurpose.getKey();
|
||||||
|
if (registryPurpose == TradingClearingRegistryPurpose.C) code += tradingRegistryType + id;
|
||||||
|
else code += "AT" + id;
|
||||||
|
tradingClearingRegistry.setCode(code);
|
||||||
|
|
||||||
|
Instant now = Instant.now();
|
||||||
|
tradingClearingRegistry.setCreated(now);
|
||||||
|
tradingClearingRegistry.setUpdated(now);
|
||||||
|
|
||||||
|
tradingClearingRegistryImdg.insert(tradingClearingRegistry);
|
||||||
|
|
||||||
|
log.debug("successfully processed, id {}", id);
|
||||||
|
|
||||||
|
sendResponse(userRequest, null, null); // to DESTINATION_TRADING_CLEARING_REGISTRY_REPLY
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void sendResponse(BaseRequest<?> o, Object response, Header correlationId) {
|
||||||
|
try {
|
||||||
|
Future<RecordMetadata> send;
|
||||||
|
BaseRequest<Object> req = new BaseRequest<>();
|
||||||
|
req.setId(o.getId());
|
||||||
|
req.setActionType(ActionType.SYSTEM);
|
||||||
|
if (response != null) {
|
||||||
|
req.setRequestPayload(response);
|
||||||
|
} else {
|
||||||
|
//default response
|
||||||
|
RequestInfoUpdate success = new RequestInfoUpdate();
|
||||||
|
success.setId(o.getId());
|
||||||
|
success.setStatus(Status.Success);
|
||||||
|
req.setRequestPayload(success);
|
||||||
|
}
|
||||||
|
ProducerRecord<String, Object> respRec = new ProducerRecord<>(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_REPLY, req);
|
||||||
|
if (correlationId != null) {
|
||||||
|
respRec.headers().add(new CorrelationHeader(correlationId.value().clone()));
|
||||||
|
}
|
||||||
|
send = kafkaProducer.send(respRec);
|
||||||
|
send.get();
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error(ExceptionUtils.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public RequestInfoUpdate tradingClearingRegistryUpdate(BaseRequest<TradingClearingRegistryUpdateRequest> userRequest) {
|
||||||
|
log.debug("TradingClearingRegistryUpdateRequest received");
|
||||||
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, tradingClearingRegistryUpdateRequestValidator);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
TradingClearingRegistryUpdateRequest req = userRequest.getRequestPayload();
|
||||||
|
TradingClearingRegistry tradingClearingRegistry = tradingClearingRegistryImdg.getSingleObjectByID(req.getId());
|
||||||
|
|
||||||
|
if (req.getStatus() != null) tradingClearingRegistry.setStatus(req.getStatus());
|
||||||
|
|
||||||
|
Instant now = Instant.now();
|
||||||
|
tradingClearingRegistry.setUpdated(now);
|
||||||
|
|
||||||
|
tradingClearingRegistryImdg.update(tradingClearingRegistry);
|
||||||
|
|
||||||
|
log.debug("successfully processed, id {}", tradingClearingRegistry.getId());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RequestInfoUpdate tradingClearingRegistryBlock(BaseRequest<CommonIdRequest> userRequest) {
|
||||||
|
log.debug("TradingClearingRegistryBlockRequest received");
|
||||||
|
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, tradingClearingRegistryBlockRequestValidator);
|
||||||
|
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||||
|
|
||||||
|
CommonIdRequest req = userRequest.getRequestPayload();
|
||||||
|
TradingClearingRegistry tradingClearingRegistry = tradingClearingRegistryImdg.getSingleObjectByID(req.getId());
|
||||||
|
|
||||||
|
tradingClearingRegistry.setStatus(ServiceStatus.Blocked.getKey());
|
||||||
|
tradingClearingRegistry.setUpdated(Instant.now());
|
||||||
|
|
||||||
|
tradingClearingRegistryImdg.update(tradingClearingRegistry);
|
||||||
|
|
||||||
|
log.debug("successfully processed, id {}", tradingClearingRegistry.getId());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -19,6 +19,7 @@ import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||||
import ru.clearing.classes.statics.data.company.Company;
|
import ru.clearing.classes.statics.data.company.Company;
|
||||||
import ru.clearing.classes.statics.data.company.relation.Relation;
|
import ru.clearing.classes.statics.data.company.relation.Relation;
|
||||||
import ru.clearing.platform.dictionary.AccountTypeDictionary;
|
import ru.clearing.platform.dictionary.AccountTypeDictionary;
|
||||||
|
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
||||||
import ru.spcex.clearing.account.config.BeanConfiguration;
|
import ru.spcex.clearing.account.config.BeanConfiguration;
|
||||||
import ru.spcex.clearing.account.config.HazelcastServiceTestConfiguration;
|
import ru.spcex.clearing.account.config.HazelcastServiceTestConfiguration;
|
||||||
import ru.spcex.clearing.account.config.KafkaConfigTest;
|
import ru.spcex.clearing.account.config.KafkaConfigTest;
|
||||||
|
|
@ -87,6 +88,7 @@ class AccountServiceTest {
|
||||||
private Imdg<AccountTypeDictionary> accountTypeDictionaryImdg;
|
private Imdg<AccountTypeDictionary> accountTypeDictionaryImdg;
|
||||||
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
|
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
|
||||||
private Imdg<Relation> relationImdg;
|
private Imdg<Relation> relationImdg;
|
||||||
|
private Imdg<ServiceStatusDictionary> serviceStatusDictionaryImdg;
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
private void init() {
|
private void init() {
|
||||||
|
|
@ -106,6 +108,13 @@ class AccountServiceTest {
|
||||||
relationImdg = hazelcastServiceTest.getImdg(
|
relationImdg = hazelcastServiceTest.getImdg(
|
||||||
IMDGDistributedNames.Map_Relation, Relation.class
|
IMDGDistributedNames.Map_Relation, Relation.class
|
||||||
);
|
);
|
||||||
|
serviceStatusDictionaryImdg = hazelcastServiceTest.getImdg(
|
||||||
|
IMDGDistributedNames.Map_ServiceStatusDictionary, ServiceStatusDictionary.class
|
||||||
|
);
|
||||||
|
ServiceStatusDictionary serviceStatusDictionary = new ServiceStatusDictionary();
|
||||||
|
serviceStatusDictionary.setCode(ServiceStatus.Active.getKey());
|
||||||
|
serviceStatusDictionary.setName(ServiceStatus.Active.getKey());
|
||||||
|
serviceStatusDictionaryImdg.insert(serviceStatusDictionary);
|
||||||
|
|
||||||
Company company = new Company();
|
Company company = new Company();
|
||||||
company.setId(companyId);
|
company.setId(companyId);
|
||||||
|
|
@ -137,13 +146,13 @@ class AccountServiceTest {
|
||||||
correspondentAccountNewRequest.setAccount(uniqueAccount);
|
correspondentAccountNewRequest.setAccount(uniqueAccount);
|
||||||
correspondentAccountNewRequest.setAccountType(AccountType.Corr.getKey());
|
correspondentAccountNewRequest.setAccountType(AccountType.Corr.getKey());
|
||||||
correspondentAccountNewRequest.setCompanyId(companyId);
|
correspondentAccountNewRequest.setCompanyId(companyId);
|
||||||
correspondentAccountNewRequest.setStatus(AccountStatus.ACTIVE.getKey());
|
correspondentAccountNewRequest.setStatus(ServiceStatus.Active.getKey());
|
||||||
|
|
||||||
Account predictableAccount = new Account();
|
Account predictableAccount = new Account();
|
||||||
predictableAccount.setAccount(uniqueAccount);
|
predictableAccount.setAccount(uniqueAccount);
|
||||||
predictableAccount.setAccountType(AccountType.Corr.getKey());
|
predictableAccount.setAccountType(AccountType.Corr.getKey());
|
||||||
predictableAccount.setCompanyId(companyId);
|
predictableAccount.setCompanyId(companyId);
|
||||||
predictableAccount.setStatus(AccountStatus.ACTIVE.getKey());
|
predictableAccount.setStatus(ServiceStatus.Active.getKey());
|
||||||
predictableAccount.setRelationId(relationId);
|
predictableAccount.setRelationId(relationId);
|
||||||
|
|
||||||
String jsonString = getJsonStringForNew(correspondentAccountNewRequest, 0L);
|
String jsonString = getJsonStringForNew(correspondentAccountNewRequest, 0L);
|
||||||
|
|
@ -169,14 +178,14 @@ class AccountServiceTest {
|
||||||
Account existAccount = new Account();
|
Account existAccount = new Account();
|
||||||
existAccount.setAccount(account);
|
existAccount.setAccount(account);
|
||||||
existAccount.setAccountType(AccountType.Corr.getKey());
|
existAccount.setAccountType(AccountType.Corr.getKey());
|
||||||
existAccount.setStatus(AccountStatus.CLOSE.getKey());
|
existAccount.setStatus(ServiceStatus.Closed.getKey());
|
||||||
existAccount.setCompanyId(companyId);
|
existAccount.setCompanyId(companyId);
|
||||||
Long accountId = accountImdg.insert(existAccount);
|
Long accountId = accountImdg.insert(existAccount);
|
||||||
|
|
||||||
CorrespondentAccountUpdateRequest correspondentAccountUpdateRequest = new CorrespondentAccountUpdateRequest();
|
CorrespondentAccountUpdateRequest correspondentAccountUpdateRequest = new CorrespondentAccountUpdateRequest();
|
||||||
correspondentAccountUpdateRequest.setAccount(account);
|
correspondentAccountUpdateRequest.setAccount(account);
|
||||||
correspondentAccountUpdateRequest.setAccountType(AccountType.Corr.getKey());
|
correspondentAccountUpdateRequest.setAccountType(AccountType.Corr.getKey());
|
||||||
correspondentAccountUpdateRequest.setStatus(AccountStatus.ACTIVE.getKey());
|
correspondentAccountUpdateRequest.setStatus(ServiceStatus.Active.getKey());
|
||||||
correspondentAccountUpdateRequest.setCompanyId(companyId);
|
correspondentAccountUpdateRequest.setCompanyId(companyId);
|
||||||
correspondentAccountUpdateRequest.setId(accountId);
|
correspondentAccountUpdateRequest.setId(accountId);
|
||||||
|
|
||||||
|
|
@ -204,7 +213,7 @@ class AccountServiceTest {
|
||||||
Account existAccount = new Account();
|
Account existAccount = new Account();
|
||||||
existAccount.setAccount(account);
|
existAccount.setAccount(account);
|
||||||
existAccount.setAccountType(AccountType.Corr.getKey());
|
existAccount.setAccountType(AccountType.Corr.getKey());
|
||||||
existAccount.setStatus(AccountStatus.ACTIVE.getKey());
|
existAccount.setStatus(ServiceStatus.Active.getKey());
|
||||||
existAccount.setCompanyId(companyId);
|
existAccount.setCompanyId(companyId);
|
||||||
Long accountId = accountImdg.insert(existAccount);
|
Long accountId = accountImdg.insert(existAccount);
|
||||||
|
|
||||||
|
|
@ -224,7 +233,7 @@ class AccountServiceTest {
|
||||||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||||
|
|
||||||
Account resultBlock = accountImdg.getSingleObjectByID(accountId);
|
Account resultBlock = accountImdg.getSingleObjectByID(accountId);
|
||||||
existAccount.setStatus(AccountStatus.BLOCKED.getKey());
|
existAccount.setStatus(ServiceStatus.Blocked.getKey());
|
||||||
existAccount.setUpdated(resultBlock.getUpdated());
|
existAccount.setUpdated(resultBlock.getUpdated());
|
||||||
|
|
||||||
ACCOUNT_MATCHER.assertMatch(existAccount, resultBlock);
|
ACCOUNT_MATCHER.assertMatch(existAccount, resultBlock);
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,8 @@ import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.mockito.Mockito.timeout;
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||||
import static ru.spcex.clearing.account.utils.TestUtils.*;
|
import static ru.spcex.clearing.account.utils.TestUtils.*;
|
||||||
|
|
||||||
|
|
@ -151,12 +153,13 @@ class ClearingAccountServiceTest {
|
||||||
0,
|
0,
|
||||||
jsonString);
|
jsonString);
|
||||||
|
|
||||||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
verify(producer, timeout(30_000L).times(2))
|
||||||
|
.send(producerRecord.capture());
|
||||||
|
|
||||||
Account predictableAccount = new Account();
|
Account predictableAccount = new Account();
|
||||||
predictableAccount.setAccount(ACCOUNT_VALUE);
|
predictableAccount.setAccount(ACCOUNT_VALUE);
|
||||||
predictableAccount.setAccountType(AccountType.Clrn.getKey());
|
predictableAccount.setAccountType(AccountType.Clrn.getKey());
|
||||||
predictableAccount.setStatus(AccountStatus.ACTIVE.getKey());
|
predictableAccount.setStatus(ServiceStatus.Active.getKey());
|
||||||
predictableAccount.setRelationId(relationId);
|
predictableAccount.setRelationId(relationId);
|
||||||
predictableAccount.setCompanyId(companyId);
|
predictableAccount.setCompanyId(companyId);
|
||||||
|
|
||||||
|
|
@ -182,7 +185,7 @@ class ClearingAccountServiceTest {
|
||||||
void clearingAccountUpdate() {
|
void clearingAccountUpdate() {
|
||||||
Account existAccount = new Account();
|
Account existAccount = new Account();
|
||||||
existAccount.setAccount(ACCOUNT_VALUE);
|
existAccount.setAccount(ACCOUNT_VALUE);
|
||||||
existAccount.setStatus(AccountStatus.ACTIVE.getKey());
|
existAccount.setStatus(ServiceStatus.Active.getKey());
|
||||||
existAccount.setAccountType(AccountType.Clrn.getKey());
|
existAccount.setAccountType(AccountType.Clrn.getKey());
|
||||||
Long accountId = accountImdg.insert(existAccount);
|
Long accountId = accountImdg.insert(existAccount);
|
||||||
|
|
||||||
|
|
@ -193,7 +196,7 @@ class ClearingAccountServiceTest {
|
||||||
|
|
||||||
Account predictableAccount = new Account();
|
Account predictableAccount = new Account();
|
||||||
predictableAccount.setAccount(ACCOUNT_VALUE);
|
predictableAccount.setAccount(ACCOUNT_VALUE);
|
||||||
predictableAccount.setStatus(AccountStatus.BLOCKED.getKey());
|
predictableAccount.setStatus(ServiceStatus.Blocked.getKey());
|
||||||
predictableAccount.setAccountType(AccountType.Clrn.getKey());
|
predictableAccount.setAccountType(AccountType.Clrn.getKey());
|
||||||
|
|
||||||
clearingAccountImdg.insert(existClearingAccount);
|
clearingAccountImdg.insert(existClearingAccount);
|
||||||
|
|
|
||||||
|
|
@ -36,8 +36,11 @@ import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.mockito.Mockito.timeout;
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||||
import static ru.spcex.clearing.account.utils.TestUtils.*;
|
import static ru.spcex.clearing.account.utils.TestUtils.addRecordToKafka;
|
||||||
|
import static ru.spcex.clearing.account.utils.TestUtils.getJsonStringForNew;
|
||||||
|
|
||||||
@ExtendWith(SpringExtension.class)
|
@ExtendWith(SpringExtension.class)
|
||||||
@ContextConfiguration(classes = {
|
@ContextConfiguration(classes = {
|
||||||
|
|
@ -150,12 +153,13 @@ class DepoAccountServiceTest {
|
||||||
0,
|
0,
|
||||||
jsonString);
|
jsonString);
|
||||||
|
|
||||||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
verify(producer, timeout(30_000L).times(2))
|
||||||
|
.send(producerRecord.capture());
|
||||||
|
|
||||||
Account predictableAccount = new Account();
|
Account predictableAccount = new Account();
|
||||||
predictableAccount.setAccount(ACCOUNT_VALUE);
|
predictableAccount.setAccount(ACCOUNT_VALUE);
|
||||||
predictableAccount.setAccountType(AccountType.Depo.getKey());
|
predictableAccount.setAccountType(AccountType.Depo.getKey());
|
||||||
predictableAccount.setStatus(AccountStatus.ACTIVE.getKey());
|
predictableAccount.setStatus(ServiceStatus.Active.getKey());
|
||||||
predictableAccount.setRelationId(relationId);
|
predictableAccount.setRelationId(relationId);
|
||||||
predictableAccount.setCompanyId(companyId);
|
predictableAccount.setCompanyId(companyId);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,11 @@ import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.mockito.Mockito.timeout;
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||||
import static ru.spcex.clearing.account.utils.TestUtils.*;
|
import static ru.spcex.clearing.account.utils.TestUtils.addRecordToKafka;
|
||||||
|
import static ru.spcex.clearing.account.utils.TestUtils.getJsonStringForNew;
|
||||||
|
|
||||||
@ExtendWith(SpringExtension.class)
|
@ExtendWith(SpringExtension.class)
|
||||||
@ContextConfiguration(classes = {
|
@ContextConfiguration(classes = {
|
||||||
|
|
@ -140,11 +143,13 @@ class InformationAccountServiceTest {
|
||||||
0,
|
0,
|
||||||
jsonString);
|
jsonString);
|
||||||
|
|
||||||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
//waiting for kafka producer send message (finale event)
|
||||||
|
verify(producer, timeout(30_000L).times(2))
|
||||||
|
.send(producerRecord.capture());
|
||||||
|
|
||||||
Account predictableAccount = new Account();
|
Account predictableAccount = new Account();
|
||||||
predictableAccount.setAccountType(AccountType.Info.getKey());
|
predictableAccount.setAccountType(AccountType.Info.getKey());
|
||||||
predictableAccount.setStatus(AccountStatus.ACTIVE.getKey());
|
predictableAccount.setStatus(ServiceStatus.Active.getKey());
|
||||||
predictableAccount.setRelationId(relationId);
|
predictableAccount.setRelationId(relationId);
|
||||||
predictableAccount.setCompanyId(companyId);
|
predictableAccount.setCompanyId(companyId);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,314 @@
|
||||||
|
package ru.spcex.clearing.account.service;
|
||||||
|
|
||||||
|
import org.apache.kafka.clients.consumer.MockConsumer;
|
||||||
|
import org.apache.kafka.clients.producer.MockProducer;
|
||||||
|
import org.apache.kafka.clients.producer.ProducerRecord;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
|
import org.mockito.ArgumentCaptor;
|
||||||
|
import org.mockito.Captor;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
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.account.Account;
|
||||||
|
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
||||||
|
import ru.clearing.classes.statics.data.account.DepoAccount;
|
||||||
|
import ru.clearing.classes.statics.data.account.InformationAccount;
|
||||||
|
import ru.clearing.classes.statics.data.company.Company;
|
||||||
|
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||||
|
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
||||||
|
import ru.spcex.clearing.account.config.BeanConfiguration;
|
||||||
|
import ru.spcex.clearing.account.config.HazelcastServiceTestConfiguration;
|
||||||
|
import ru.spcex.clearing.account.config.KafkaConfigTest;
|
||||||
|
import ru.spcex.clearing.account.config.validation.TradingClearingRegistryValidationConfig;
|
||||||
|
import ru.spcex.clearing.account.config.validation.ValidationConfig;
|
||||||
|
import ru.spcex.clearing.account.utils.MatcherFactory;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryUpdateRequest;
|
||||||
|
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||||
|
import ru.spcex.platform.enumeration.TradingClearingRegistryPurpose;
|
||||||
|
import ru.spcex.platform.enumeration.TradingClearingRegistryType;
|
||||||
|
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||||
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
|
import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||||
|
import static ru.spcex.clearing.account.utils.TestUtils.*;
|
||||||
|
|
||||||
|
@ExtendWith(SpringExtension.class)
|
||||||
|
@ContextConfiguration(classes = {
|
||||||
|
BeanConfiguration.class,
|
||||||
|
ValidationConfig.class,
|
||||||
|
TradingClearingRegistryValidationConfig.class,
|
||||||
|
TradingClearingRegistryService.class,
|
||||||
|
HazelcastServiceTestConfiguration.class,
|
||||||
|
KafkaConfigTest.class})
|
||||||
|
class TradingClearingRegistryServiceTest {
|
||||||
|
public static final MatcherFactory.Matcher<TradingClearingRegistry> TRADING_CLEARING_REGISTRY_MATCHER = usingIgnoringFieldsComparator();
|
||||||
|
private static final int PARTITION = 0;
|
||||||
|
private static final String TOPIC_ACCOUNT_NEW = Consts.ACCOUNT_NEW_SDF01;
|
||||||
|
private static final String account = "123456789123";
|
||||||
|
private static final Long companyId = 0L;
|
||||||
|
private static final Long relationId = 0L;
|
||||||
|
@Autowired
|
||||||
|
TradingClearingRegistryService tradingClearingRegistryService;
|
||||||
|
@Autowired
|
||||||
|
@Qualifier("hazelcastServiceTest")
|
||||||
|
private HazelcastService hazelcastServiceTest;
|
||||||
|
|
||||||
|
@Captor
|
||||||
|
private ArgumentCaptor<ProducerRecord> producerRecord;
|
||||||
|
@SpyBean
|
||||||
|
private MockProducer<String, Object> producer;
|
||||||
|
|
||||||
|
private Imdg<TradingClearingRegistry> tradingClearingRegistryImdg;
|
||||||
|
private Imdg<Company> companyImdg;
|
||||||
|
private Imdg<ServiceStatusDictionary> serviceStatusDictionaryImdg;
|
||||||
|
|
||||||
|
private Imdg<ClearingAccount> clearingAccountImdg;
|
||||||
|
private Long clearingAccountId;
|
||||||
|
|
||||||
|
private Imdg<DepoAccount> depoAccountImdg;
|
||||||
|
private Long depoAccountId;
|
||||||
|
|
||||||
|
private Imdg<InformationAccount> informationAccountImdg;
|
||||||
|
private Long infoAccountId;
|
||||||
|
|
||||||
|
private Imdg<Account> accountImdg;
|
||||||
|
private Long accountId;
|
||||||
|
|
||||||
|
private Long account2Id;
|
||||||
|
|
||||||
|
static int newRequestCnt = 0;
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
private void init() {
|
||||||
|
hazelcastServiceTest.waitAvailable();
|
||||||
|
tradingClearingRegistryImdg = hazelcastServiceTest.getImdg(
|
||||||
|
IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class
|
||||||
|
);
|
||||||
|
companyImdg = hazelcastServiceTest.getImdg(
|
||||||
|
IMDGDistributedNames.Map_Company, Company.class
|
||||||
|
);
|
||||||
|
serviceStatusDictionaryImdg = hazelcastServiceTest.getImdg(
|
||||||
|
IMDGDistributedNames.Map_ServiceStatusDictionary, ServiceStatusDictionary.class
|
||||||
|
);
|
||||||
|
accountImdg = hazelcastServiceTest.getImdg(
|
||||||
|
IMDGDistributedNames.Map_Account, Account.class
|
||||||
|
);
|
||||||
|
clearingAccountImdg = hazelcastServiceTest.getImdg(
|
||||||
|
IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class
|
||||||
|
);
|
||||||
|
depoAccountImdg = hazelcastServiceTest.getImdg(
|
||||||
|
IMDGDistributedNames.Map_DepoAccount, DepoAccount.class
|
||||||
|
);
|
||||||
|
informationAccountImdg = hazelcastServiceTest.getImdg(
|
||||||
|
IMDGDistributedNames.Map_InformationAccount, InformationAccount.class
|
||||||
|
);
|
||||||
|
ServiceStatusDictionary serviceStatusDictionary = new ServiceStatusDictionary();
|
||||||
|
serviceStatusDictionary.setCode(ServiceStatus.Active.getKey());
|
||||||
|
serviceStatusDictionary.setName(ServiceStatus.Active.getKey());
|
||||||
|
serviceStatusDictionaryImdg.insert(serviceStatusDictionary);
|
||||||
|
|
||||||
|
Company company = new Company();
|
||||||
|
company.setId(companyId);
|
||||||
|
company.setWorkflowStatus(WorkflowStatus.Active.getKey());
|
||||||
|
company.setClearingCode("77");
|
||||||
|
companyImdg.insert(company);
|
||||||
|
|
||||||
|
Account account = new Account();
|
||||||
|
account.setStatus(ServiceStatus.Active.getKey());
|
||||||
|
accountId = accountImdg.insert(account);
|
||||||
|
|
||||||
|
account2Id = accountImdg.insert(account);
|
||||||
|
|
||||||
|
DepoAccount depoAccount = new DepoAccount();
|
||||||
|
depoAccount.setAccountId(accountId);
|
||||||
|
depoAccount.setDepoAccountType("DAT");
|
||||||
|
depoAccountId = depoAccountImdg.insert(depoAccount);
|
||||||
|
|
||||||
|
ClearingAccount clearingAccount = new ClearingAccount();
|
||||||
|
clearingAccount.setAccountId(accountId);
|
||||||
|
clearingAccount.setClearingAccountType("CAT");
|
||||||
|
clearingAccountId = clearingAccountImdg.insert(clearingAccount);
|
||||||
|
|
||||||
|
InformationAccount informationAccount = new InformationAccount();
|
||||||
|
informationAccount.setAccountId(account2Id);
|
||||||
|
infoAccountId = informationAccountImdg.insert(informationAccount);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void tradingClearingRegistryNew_moneyAccount_clearingAccount() {
|
||||||
|
TradingClearingRegistryNewRequest tradingClearingRegistryNewRequest = new TradingClearingRegistryNewRequest();
|
||||||
|
tradingClearingRegistryNewRequest.setCompanyId(companyId);
|
||||||
|
tradingClearingRegistryNewRequest.setMoneyAccountId(clearingAccountId);
|
||||||
|
|
||||||
|
TradingClearingRegistry predictableTradingClearingRegistry = new TradingClearingRegistry();
|
||||||
|
predictableTradingClearingRegistry.setCompanyId(companyId);
|
||||||
|
predictableTradingClearingRegistry.setCode("0077MAT");
|
||||||
|
predictableTradingClearingRegistry.setMoneyAccountId(clearingAccountId);
|
||||||
|
predictableTradingClearingRegistry.setTradingClearingRegistryType("CAT");
|
||||||
|
predictableTradingClearingRegistry.setTradingClearingRegistryPurpose(TradingClearingRegistryPurpose.M.getKey());
|
||||||
|
predictableTradingClearingRegistry.setStatus(ServiceStatus.Active.getKey());
|
||||||
|
|
||||||
|
String jsonString = getJsonStringForNew(tradingClearingRegistryNewRequest, 0L);
|
||||||
|
|
||||||
|
addRecordToKafka((MockConsumer) tradingClearingRegistryService.getConsumer(),
|
||||||
|
Consts.DESTINATION_TRADING_CLEARING_REGISTRY_NEW,
|
||||||
|
newRequestCnt,
|
||||||
|
0,
|
||||||
|
jsonString);
|
||||||
|
|
||||||
|
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||||
|
|
||||||
|
TradingClearingRegistry resultNew = tradingClearingRegistryImdg.getAllValues().iterator().next();
|
||||||
|
predictableTradingClearingRegistry.setId(resultNew.getId());
|
||||||
|
predictableTradingClearingRegistry.setCode(predictableTradingClearingRegistry.getCode() + resultNew.getId());
|
||||||
|
predictableTradingClearingRegistry.setUpdated(resultNew.getUpdated());
|
||||||
|
predictableTradingClearingRegistry.setCreated(resultNew.getCreated());
|
||||||
|
|
||||||
|
TRADING_CLEARING_REGISTRY_MATCHER.assertMatch(resultNew, predictableTradingClearingRegistry);
|
||||||
|
tradingClearingRegistryImdg.delete(resultNew);
|
||||||
|
|
||||||
|
newRequestCnt++;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void tradingClearingRegistryNew_moneyAccount_informationAccount() {
|
||||||
|
TradingClearingRegistryNewRequest tradingClearingRegistryNewRequest = new TradingClearingRegistryNewRequest();
|
||||||
|
tradingClearingRegistryNewRequest.setCompanyId(companyId);
|
||||||
|
tradingClearingRegistryNewRequest.setMoneyAccountId(infoAccountId);
|
||||||
|
|
||||||
|
TradingClearingRegistry predictableTradingClearingRegistry = new TradingClearingRegistry();
|
||||||
|
predictableTradingClearingRegistry.setCompanyId(companyId);
|
||||||
|
predictableTradingClearingRegistry.setCode("0077MAT");
|
||||||
|
predictableTradingClearingRegistry.setMoneyAccountId(infoAccountId);
|
||||||
|
predictableTradingClearingRegistry.setTradingClearingRegistryType(TradingClearingRegistryType.Owner_A.getKey());
|
||||||
|
predictableTradingClearingRegistry.setTradingClearingRegistryPurpose(TradingClearingRegistryPurpose.M.getKey());
|
||||||
|
predictableTradingClearingRegistry.setStatus(ServiceStatus.Active.getKey());
|
||||||
|
|
||||||
|
String jsonString = getJsonStringForNew(tradingClearingRegistryNewRequest, 0L);
|
||||||
|
|
||||||
|
addRecordToKafka((MockConsumer) tradingClearingRegistryService.getConsumer(),
|
||||||
|
Consts.DESTINATION_TRADING_CLEARING_REGISTRY_NEW,
|
||||||
|
newRequestCnt,
|
||||||
|
0,
|
||||||
|
jsonString);
|
||||||
|
|
||||||
|
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||||
|
|
||||||
|
TradingClearingRegistry resultNew = tradingClearingRegistryImdg.getAllValues().iterator().next();
|
||||||
|
predictableTradingClearingRegistry.setId(resultNew.getId());
|
||||||
|
predictableTradingClearingRegistry.setCode(predictableTradingClearingRegistry.getCode() + resultNew.getId());
|
||||||
|
predictableTradingClearingRegistry.setUpdated(resultNew.getUpdated());
|
||||||
|
predictableTradingClearingRegistry.setCreated(resultNew.getCreated());
|
||||||
|
|
||||||
|
TRADING_CLEARING_REGISTRY_MATCHER.assertMatch(resultNew, predictableTradingClearingRegistry);
|
||||||
|
tradingClearingRegistryImdg.delete(resultNew);
|
||||||
|
|
||||||
|
newRequestCnt++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void tradingClearingRegistryNew_depoAccount() {
|
||||||
|
TradingClearingRegistryNewRequest tradingClearingRegistryNewRequest = new TradingClearingRegistryNewRequest();
|
||||||
|
tradingClearingRegistryNewRequest.setCompanyId(companyId);
|
||||||
|
tradingClearingRegistryNewRequest.setMoneyAccountId(clearingAccountId);
|
||||||
|
tradingClearingRegistryNewRequest.setDepoAccountId(depoAccountId);
|
||||||
|
|
||||||
|
TradingClearingRegistry predictableTradingClearingRegistry = new TradingClearingRegistry();
|
||||||
|
predictableTradingClearingRegistry.setCompanyId(companyId);
|
||||||
|
predictableTradingClearingRegistry.setCode("0077CDAT");
|
||||||
|
predictableTradingClearingRegistry.setMoneyAccountId(clearingAccountId);
|
||||||
|
predictableTradingClearingRegistry.setDepoAccountId(depoAccountId);
|
||||||
|
predictableTradingClearingRegistry.setTradingClearingRegistryType("DAT");
|
||||||
|
predictableTradingClearingRegistry.setTradingClearingRegistryPurpose(TradingClearingRegistryPurpose.C.getKey());
|
||||||
|
predictableTradingClearingRegistry.setStatus(ServiceStatus.Active.getKey());
|
||||||
|
|
||||||
|
String jsonString = getJsonStringForNew(tradingClearingRegistryNewRequest, 0L);
|
||||||
|
|
||||||
|
addRecordToKafka((MockConsumer) tradingClearingRegistryService.getConsumer(),
|
||||||
|
Consts.DESTINATION_TRADING_CLEARING_REGISTRY_NEW,
|
||||||
|
newRequestCnt,
|
||||||
|
0,
|
||||||
|
jsonString);
|
||||||
|
|
||||||
|
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||||
|
|
||||||
|
TradingClearingRegistry resultNew = tradingClearingRegistryImdg.getAllValues().iterator().next();
|
||||||
|
predictableTradingClearingRegistry.setId(resultNew.getId());
|
||||||
|
predictableTradingClearingRegistry.setCode(predictableTradingClearingRegistry.getCode() + resultNew.getId());
|
||||||
|
predictableTradingClearingRegistry.setUpdated(resultNew.getUpdated());
|
||||||
|
predictableTradingClearingRegistry.setCreated(resultNew.getCreated());
|
||||||
|
|
||||||
|
TRADING_CLEARING_REGISTRY_MATCHER.assertMatch(resultNew, predictableTradingClearingRegistry);
|
||||||
|
tradingClearingRegistryImdg.delete(resultNew);
|
||||||
|
|
||||||
|
newRequestCnt++;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void tradingClearingRegistryUpdate() {
|
||||||
|
TradingClearingRegistry existTradingClearingRegistry = new TradingClearingRegistry();
|
||||||
|
existTradingClearingRegistry.setStatus(ServiceStatus.Closed.getKey());
|
||||||
|
Long registryId = tradingClearingRegistryImdg.insert(existTradingClearingRegistry);
|
||||||
|
|
||||||
|
TradingClearingRegistryUpdateRequest tradingClearingRegistryUpdateRequest = new TradingClearingRegistryUpdateRequest();
|
||||||
|
tradingClearingRegistryUpdateRequest.setStatus(ServiceStatus.Active.getKey());
|
||||||
|
tradingClearingRegistryUpdateRequest.setId(registryId);
|
||||||
|
|
||||||
|
String jsonString = getJsonStringForUPDATE(tradingClearingRegistryUpdateRequest, 0);
|
||||||
|
|
||||||
|
//ACT
|
||||||
|
addRecordToKafka((MockConsumer) tradingClearingRegistryService.getConsumer(),
|
||||||
|
Consts.DESTINATION_TRADING_CLEARING_REGISTRY_UPDATE,
|
||||||
|
PARTITION,
|
||||||
|
0,
|
||||||
|
jsonString);
|
||||||
|
|
||||||
|
//ASSERT
|
||||||
|
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||||
|
|
||||||
|
TradingClearingRegistry resultUpdating = tradingClearingRegistryImdg.getSingleObjectByID(registryId);
|
||||||
|
existTradingClearingRegistry.setUpdated(resultUpdating.getUpdated());
|
||||||
|
existTradingClearingRegistry.setStatus(ServiceStatus.Active.getKey());
|
||||||
|
TRADING_CLEARING_REGISTRY_MATCHER.assertMatch(resultUpdating, existTradingClearingRegistry);
|
||||||
|
tradingClearingRegistryImdg.delete(resultUpdating);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void tradingClearingRegistryBlock() {
|
||||||
|
TradingClearingRegistry existTradingClearingRegistry = new TradingClearingRegistry();
|
||||||
|
existTradingClearingRegistry.setStatus(ServiceStatus.Closed.getKey());
|
||||||
|
Long registryId = tradingClearingRegistryImdg.insert(existTradingClearingRegistry);
|
||||||
|
|
||||||
|
CommonDeleteRequest tradingClearingRegistryDeleteRequest = new CommonDeleteRequest();
|
||||||
|
tradingClearingRegistryDeleteRequest.setId(registryId);
|
||||||
|
|
||||||
|
String jsonString = getJsonStringForDELETE(tradingClearingRegistryDeleteRequest, 0);
|
||||||
|
|
||||||
|
//ACT
|
||||||
|
addRecordToKafka((MockConsumer) tradingClearingRegistryService.getConsumer(),
|
||||||
|
Consts.DESTINATION_TRADING_CLEARING_REGISTRY_BLOCK,
|
||||||
|
PARTITION,
|
||||||
|
0,
|
||||||
|
jsonString);
|
||||||
|
|
||||||
|
//ASSERT
|
||||||
|
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||||
|
|
||||||
|
TradingClearingRegistry resultUpdating = tradingClearingRegistryImdg.getSingleObjectByID(registryId);
|
||||||
|
existTradingClearingRegistry.setUpdated(resultUpdating.getUpdated());
|
||||||
|
existTradingClearingRegistry.setStatus(ServiceStatus.Blocked.getKey());
|
||||||
|
TRADING_CLEARING_REGISTRY_MATCHER.assertMatch(resultUpdating, existTradingClearingRegistry);
|
||||||
|
tradingClearingRegistryImdg.delete(resultUpdating);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -7,7 +7,7 @@ import ru.spcex.clearing.backendapi.service.IOperator;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
||||||
public class AbstractQueueController {
|
public abstract class AbstractQueueController {
|
||||||
private final IOperator operator;
|
private final IOperator operator;
|
||||||
|
|
||||||
public AbstractQueueController(IOperator operator) {
|
public AbstractQueueController(IOperator operator) {
|
||||||
|
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import io.swagger.annotations.ApiResponse;
|
|
||||||
import io.swagger.annotations.ApiResponses;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import ru.clearing.classes.statics.data.account.AccountBalance;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
@Controller
|
|
||||||
@RequestMapping("/account-balances")
|
|
||||||
public class AccountBalanceController {
|
|
||||||
private final IStateLoader stateLoader;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public AccountBalanceController(IStateLoader stateLoader) {
|
|
||||||
this.stateLoader = stateLoader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "get all account balances.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
|
||||||
@ResponseBody
|
|
||||||
public CommonGetAllResponse getAll() {
|
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
|
||||||
response.fromEntity(all);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -16,7 +16,8 @@ import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAc
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.account.BankAccountBackendGetById;
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetByIdResponse;
|
||||||
|
import ru.spcex.clearing.backendapi.meta.GetResponseFactory;
|
||||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
@ -31,11 +32,13 @@ import java.util.concurrent.ExecutionException;
|
||||||
@RequestMapping("/accounting/bank-accounts")
|
@RequestMapping("/accounting/bank-accounts")
|
||||||
public class BankAccountController extends AbstractQueueController {
|
public class BankAccountController extends AbstractQueueController {
|
||||||
private final IStateLoader stateLoader;
|
private final IStateLoader stateLoader;
|
||||||
|
private final GetResponseFactory responseMetaFactory;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public BankAccountController(IOperator operator, IStateLoader stateLoader) {
|
public BankAccountController(GetResponseFactory responseMetaFactory, IOperator operator, IStateLoader stateLoader) {
|
||||||
super(operator);
|
super(operator);
|
||||||
this.stateLoader = stateLoader;
|
this.stateLoader = stateLoader;
|
||||||
|
this.responseMetaFactory = responseMetaFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "create bank account.")
|
@ApiOperation(value = "create bank account.")
|
||||||
|
|
@ -73,14 +76,17 @@ public class BankAccountController extends AbstractQueueController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "get bank account.")
|
@ApiOperation(value = "get bank account.")
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = BankAccountBackendGetById.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetByIdResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||||
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
|
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public BankAccountBackendGetById getById(@ApiParam(value = "Идентификатор объекта", required = true, example = "1234")
|
public CommonGetByIdResponse getById(@ApiParam(value = "Идентификатор объекта", required = true, example = "1234")
|
||||||
@PathVariable("id") Long id) {
|
@PathVariable("id") Long id) {
|
||||||
Optional<BankAccount> bankAccount = stateLoader.getById(id, IMDGDistributedNames.Map_BankAccount, BankAccount.class);
|
Optional<BankAccount> bankAccount = stateLoader.getById(id, IMDGDistributedNames.Map_BankAccount, BankAccount.class);
|
||||||
BankAccountBackendGetById response = new BankAccountBackendGetById();
|
CommonGetByIdResponse response = new CommonGetByIdResponse();
|
||||||
bankAccount.ifPresentOrElse(response::fromEntity, () -> response.setCode(404));
|
bankAccount.ifPresentOrElse( r -> {
|
||||||
|
Map<String, Object> extractedByMeta = responseMetaFactory.responseFromObject(r);
|
||||||
|
response.fromEntity(extractedByMeta);
|
||||||
|
}, () -> response.setCode(404));
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,10 @@ import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanySymbolNewAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanySymbolUpdateAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanySymbolUpdateAction;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.company.ContactNewAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||||
|
|
@ -35,6 +38,17 @@ public class CompanySymbolController extends AbstractQueueController {
|
||||||
this.stateLoader = stateLoader;
|
this.stateLoader = stateLoader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "create company symbol.")
|
||||||
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||||
|
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
@ResponseBody
|
||||||
|
public CudResponse create(
|
||||||
|
@ApiParam(value = "Значения полей нового объекта.", required = true)
|
||||||
|
@RequestBody CompanySymbolNewAction companySymbolNewAction) throws ExecutionException, InterruptedException {
|
||||||
|
return processRequest(Consts.DESTINATION_COMPANY_SYMBOL_NEW, companySymbolNewAction);
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "update company symbol.")
|
@ApiOperation(value = "update company symbol.")
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
|
@ -58,4 +72,15 @@ public class CompanySymbolController extends AbstractQueueController {
|
||||||
response.fromEntity(all);
|
response.fromEntity(all);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "delete company symbol.")
|
||||||
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class)})
|
||||||
|
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
||||||
|
@ResponseBody
|
||||||
|
public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234")
|
||||||
|
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
||||||
|
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||||
|
deleteAction.setId(id);
|
||||||
|
return processRequest(Consts.DESTINATION_COMPANY_SYMBOL_DELETE, deleteAction);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,8 @@ import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import ru.clearing.classes.statics.data.profile.Contact;
|
import ru.clearing.classes.statics.data.profile.Contact;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.company.ContactNewAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.company.ContactUpdateAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.company.ContactUpdateAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||||
|
|
@ -47,6 +49,27 @@ public class ContactController extends AbstractQueueController {
|
||||||
return processRequest(Consts.DESTINATION_CONTACT_UPDATE, contactUpdateAction);
|
return processRequest(Consts.DESTINATION_CONTACT_UPDATE, contactUpdateAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "create company contact.")
|
||||||
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||||
|
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
@ResponseBody
|
||||||
|
public CudResponse create(
|
||||||
|
@ApiParam(value = "Значения полей нового объекта.", required = true)
|
||||||
|
@RequestBody ContactNewAction contactNewAction) throws ExecutionException, InterruptedException {
|
||||||
|
return processRequest(Consts.DESTINATION_CONTACT_NEW, contactNewAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "delete contact.")
|
||||||
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class)})
|
||||||
|
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
||||||
|
@ResponseBody
|
||||||
|
public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234")
|
||||||
|
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
||||||
|
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||||
|
deleteAction.setId(id);
|
||||||
|
return processRequest(Consts.DESTINATION_CONTACT_DELETE, deleteAction);
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "get all Contacts.")
|
@ApiOperation(value = "get all Contacts.")
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
@RequestMapping(method = RequestMethod.GET)
|
||||||
|
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.liabilities;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import io.swagger.annotations.ApiResponse;
|
|
||||||
import io.swagger.annotations.ApiResponses;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@RequestMapping("/liabilities-claims-assets")
|
|
||||||
public class LiabilitiesClaimsAssetController extends AbstractQueueController {
|
|
||||||
private final IStateLoader stateLoader;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public LiabilitiesClaimsAssetController(IOperator operator, IStateLoader stateLoader) {
|
|
||||||
super(operator);
|
|
||||||
this.stateLoader = stateLoader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "get all LiabilitiesClaimsAssets.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
|
||||||
@ResponseBody
|
|
||||||
public CommonGetAllResponse getAll() {
|
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
|
||||||
IMDGDistributedNames.Map_LiabilitiesClaimsAssets,
|
|
||||||
LiabilitiesClaimsAssets.class);
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
|
||||||
response.fromEntity(all);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.liabilities;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import io.swagger.annotations.ApiResponse;
|
|
||||||
import io.swagger.annotations.ApiResponses;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@RequestMapping("/liabilities-claims-money")
|
|
||||||
public class LiabilitiesClaimsMoneyController extends AbstractQueueController {
|
|
||||||
private final IStateLoader stateLoader;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public LiabilitiesClaimsMoneyController(IOperator operator, IStateLoader stateLoader) {
|
|
||||||
super(operator);
|
|
||||||
this.stateLoader = stateLoader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "get all LiabilitiesClaimsMoney.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
|
||||||
@ResponseBody
|
|
||||||
public CommonGetAllResponse getAll() {
|
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
|
||||||
IMDGDistributedNames.Map_LiabilitiesClaimsMoney,
|
|
||||||
LiabilitiesClaimsMoney.class);
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
|
||||||
response.fromEntity(all);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import io.swagger.annotations.ApiResponse;
|
|
||||||
import io.swagger.annotations.ApiResponses;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import ru.clearing.classes.statics.data.register.AdmittedDealRegister;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@RequestMapping("/admitted-deal-registers")
|
|
||||||
public class AdmittedDealRegisterController extends AbstractQueueController {
|
|
||||||
private final IStateLoader stateLoader;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public AdmittedDealRegisterController(IOperator operator, IStateLoader stateLoader) {
|
|
||||||
super(operator);
|
|
||||||
this.stateLoader = stateLoader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "get all admitted deal registers.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
|
||||||
@ResponseBody
|
|
||||||
public CommonGetAllResponse getAll() {
|
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
|
||||||
IMDGDistributedNames.Map_AdmittedDealRegister,
|
|
||||||
AdmittedDealRegister.class);
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
|
||||||
response.fromEntity(all);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import io.swagger.annotations.ApiResponse;
|
|
||||||
import io.swagger.annotations.ApiResponses;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import ru.clearing.classes.statics.data.misc.BalanceRegister;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@RequestMapping("/balance-registers")
|
|
||||||
public class BalanceRegisterController extends AbstractQueueController {
|
|
||||||
private final IStateLoader stateLoader;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public BalanceRegisterController(IOperator operator, IStateLoader stateLoader) {
|
|
||||||
super(operator);
|
|
||||||
this.stateLoader = stateLoader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "get all money balance registers.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
|
||||||
@ResponseBody
|
|
||||||
public CommonGetAllResponse getAll() {
|
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
|
||||||
IMDGDistributedNames.Map_BalanceRegister,
|
|
||||||
BalanceRegister.class);
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
|
||||||
response.fromEntity(all);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import io.swagger.annotations.ApiResponse;
|
|
||||||
import io.swagger.annotations.ApiResponses;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import ru.clearing.classes.statics.data.misc.ClearMemberRegister;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@RequestMapping("/clearmember-registers")
|
|
||||||
public class ClearMemberRegisterController extends AbstractQueueController {
|
|
||||||
private final IStateLoader stateLoader;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public ClearMemberRegisterController(IOperator operator, IStateLoader stateLoader) {
|
|
||||||
super(operator);
|
|
||||||
this.stateLoader = stateLoader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "get all money ClearMemberRegisters.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
|
||||||
@ResponseBody
|
|
||||||
public CommonGetAllResponse getAll() {
|
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
|
||||||
IMDGDistributedNames.Map_ClearMemberRegister,
|
|
||||||
ClearMemberRegister.class);
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
|
||||||
response.fromEntity(all);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import io.swagger.annotations.ApiResponse;
|
|
||||||
import io.swagger.annotations.ApiResponses;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import ru.clearing.classes.statics.data.register.CoveredDealRegister;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@RequestMapping("/covered-deal-registers")
|
|
||||||
public class CoveredDealRegisterController extends AbstractQueueController {
|
|
||||||
private final IStateLoader stateLoader;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public CoveredDealRegisterController(IOperator operator, IStateLoader stateLoader) {
|
|
||||||
super(operator);
|
|
||||||
this.stateLoader = stateLoader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "get all covered deal registers.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
|
||||||
@ResponseBody
|
|
||||||
public CommonGetAllResponse getAll() {
|
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
|
||||||
IMDGDistributedNames.Map_CoveredDealRegister,
|
|
||||||
CoveredDealRegister.class);
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
|
||||||
response.fromEntity(all);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import io.swagger.annotations.ApiResponse;
|
|
||||||
import io.swagger.annotations.ApiResponses;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import ru.clearing.classes.statics.data.register.DealRegister;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@RequestMapping("/deal-registers")
|
|
||||||
public class DealRegisterController extends AbstractQueueController {
|
|
||||||
private final IStateLoader stateLoader;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public DealRegisterController(IOperator operator, IStateLoader stateLoader) {
|
|
||||||
super(operator);
|
|
||||||
this.stateLoader = stateLoader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "get all deal registers.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
|
||||||
@ResponseBody
|
|
||||||
public CommonGetAllResponse getAll() {
|
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
|
||||||
IMDGDistributedNames.Map_DealRegister,
|
|
||||||
DealRegister.class);
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
|
||||||
response.fromEntity(all);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import io.swagger.annotations.ApiResponse;
|
|
||||||
import io.swagger.annotations.ApiResponses;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import ru.clearing.classes.statics.data.register.OrderRegister;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@RequestMapping("/order-registers")
|
|
||||||
public class OrderRegisterController extends AbstractQueueController {
|
|
||||||
private final IStateLoader stateLoader;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public OrderRegisterController(IOperator operator, IStateLoader stateLoader) {
|
|
||||||
super(operator);
|
|
||||||
this.stateLoader = stateLoader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "get all order registers.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
|
||||||
@ResponseBody
|
|
||||||
public CommonGetAllResponse getAll() {
|
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
|
||||||
IMDGDistributedNames.Map_OrderRegister,
|
|
||||||
OrderRegister.class);
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
|
||||||
response.fromEntity(all);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import io.swagger.annotations.ApiResponse;
|
||||||
|
import io.swagger.annotations.ApiResponses;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import ru.clearing.classes.statics.data.registry.Registry;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.registry.RSplitDepositActionNew;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||||
|
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||||
|
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/registries")
|
||||||
|
public class RegistryController extends AbstractQueueController {
|
||||||
|
private final IStateLoader stateLoader;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public RegistryController(IOperator operator, IStateLoader stateLoader) {
|
||||||
|
super(operator);
|
||||||
|
this.stateLoader = stateLoader;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "get all registries.")
|
||||||
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||||
|
@RequestMapping(method = RequestMethod.GET)
|
||||||
|
@ResponseBody
|
||||||
|
public CommonGetAllResponse getAll() {
|
||||||
|
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||||
|
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||||
|
response.fromEntity(all);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "Досрочное изъятие части денежных средств по договору")
|
||||||
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||||
|
@RequestMapping(value = "/splitDeposit", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
@ResponseBody
|
||||||
|
public CudResponse splitDepositAction(
|
||||||
|
@ApiParam(value = "Параметры команды в JSON формате.", required = true)
|
||||||
|
@RequestBody RSplitDepositActionNew rSplitDepositActionNew) throws ExecutionException, InterruptedException {
|
||||||
|
return processRequest(Consts.REGISTRY_SPLIT_DEPOSIT_ACTION, rSplitDepositActionNew);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import io.swagger.annotations.ApiResponse;
|
|
||||||
import io.swagger.annotations.ApiResponses;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import ru.clearing.classes.statics.data.register.UncoveredDealRegister;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@RequestMapping("/uncovered-deal-registers")
|
|
||||||
public class UncoveredDealRegisterController extends AbstractQueueController {
|
|
||||||
private final IStateLoader stateLoader;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public UncoveredDealRegisterController(IOperator operator, IStateLoader stateLoader) {
|
|
||||||
super(operator);
|
|
||||||
this.stateLoader = stateLoader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "get all uncovered deal registers.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
|
||||||
@ResponseBody
|
|
||||||
public CommonGetAllResponse getAll() {
|
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
|
||||||
IMDGDistributedNames.Map_UncoveredDealRegister,
|
|
||||||
UncoveredDealRegister.class);
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
|
||||||
response.fromEntity(all);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -10,9 +10,9 @@ import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryNewAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryNewAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryUpdateAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryUpdateAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||||
|
|
@ -69,7 +69,7 @@ public class TradingClearingRegistryController extends AbstractQueueController {
|
||||||
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
||||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||||
deleteAction.setId(id);
|
deleteAction.setId(id);
|
||||||
return processRequest(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_DELETE, deleteAction);
|
return processRequest(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_BLOCK, deleteAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "get TradingClearingRegistry by id.")
|
@ApiOperation(value = "get TradingClearingRegistry by id.")
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,9 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Deprecated //todo не лишний ли этот контроллер? См. CudMoneyMarketSecurityController @Deprecated
|
/**
|
||||||
|
* SecurityController и MoneyMarketSecurityController разные контроллеры, не путать.
|
||||||
|
*/
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("/securities")
|
@RequestMapping("/securities")
|
||||||
public class SecurityController {
|
public class SecurityController {
|
||||||
|
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.utilities;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import io.swagger.annotations.ApiParam;
|
|
||||||
import io.swagger.annotations.ApiResponse;
|
|
||||||
import io.swagger.annotations.ApiResponses;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.http.MediaType;
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
import ru.clearing.classes.statics.data.misc.KeyRate;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.utilities.KeyRateNewAction;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.utilities.KeyRateUpdateAction;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.ExecutionException;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@RequestMapping("/utilities/key-rates")
|
|
||||||
public class CudKeyRateController extends AbstractQueueController {
|
|
||||||
private final IStateLoader stateLoader;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public CudKeyRateController(IOperator operator, IStateLoader stateLoader) {
|
|
||||||
super(operator);
|
|
||||||
this.stateLoader = stateLoader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "create key rate.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
|
||||||
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
|
||||||
@ResponseBody
|
|
||||||
public CudResponse add(
|
|
||||||
@ApiParam(value = "Параметры команды в JSON формате.", required = true)
|
|
||||||
@RequestBody KeyRateNewAction keyRateNewAction) throws ExecutionException, InterruptedException {
|
|
||||||
return processRequest(Consts.DESTINATION_KEY_RATE_NEW, keyRateNewAction);
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "update key rate.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
|
||||||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
|
||||||
@ResponseBody
|
|
||||||
public CudResponse update(
|
|
||||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
|
||||||
@PathVariable("id") Long id,
|
|
||||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
|
||||||
@RequestBody KeyRateUpdateAction keyRateUpdateAction) throws ExecutionException, InterruptedException {
|
|
||||||
keyRateUpdateAction.setId(id);
|
|
||||||
return processRequest(Consts.DESTINATION_KEY_RATE_UPDATE, keyRateUpdateAction);
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "delete key rate.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
|
||||||
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
|
||||||
@ResponseBody
|
|
||||||
public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234")
|
|
||||||
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
|
||||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
|
||||||
deleteAction.setId(id);
|
|
||||||
return processRequest(Consts.DESTINATION_KEY_RATE_DELETE, deleteAction);
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "get all KeyRate's.")
|
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
|
||||||
@ResponseBody
|
|
||||||
public CommonGetAllResponse getAll() {
|
|
||||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_KeyRate, KeyRate.class);
|
|
||||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
|
||||||
response.fromEntity(all);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -15,7 +15,6 @@ import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetByIdResponse;
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetByIdResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.account.BankAccountBackendGetById;
|
|
||||||
import ru.spcex.clearing.backendapi.errors.NotFound404Exception;
|
import ru.spcex.clearing.backendapi.errors.NotFound404Exception;
|
||||||
import ru.spcex.clearing.backendapi.meta.GetResponseFactory;
|
import ru.spcex.clearing.backendapi.meta.GetResponseFactory;
|
||||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||||
|
|
@ -51,7 +50,7 @@ public class StatementController extends AbstractQueueController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "get Statement by Id.")
|
@ApiOperation(value = "get Statement by Id.")
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = BankAccountBackendGetById.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetByIdResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||||
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
|
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public CommonGetByIdResponse getById(@ApiParam(value = "Идентификатор объекта", required = true, example = "1234")
|
public CommonGetByIdResponse getById(@ApiParam(value = "Идентификатор объекта", required = true, example = "1234")
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
package ru.spcex.clearing.backendapi.controller.request.cud.company;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanySymbolUpdateRequest;
|
||||||
|
|
||||||
|
public class CompanySymbolNewAction implements IAction<CompanySymbolUpdateRequest> {
|
||||||
|
@ApiModelProperty(value = "Идентификатор Компании", example = "1234")
|
||||||
|
@JsonProperty
|
||||||
|
private Long companyId;
|
||||||
|
@ApiModelProperty(value = "Идентификатор справочника", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
private String companySymbol;
|
||||||
|
@ApiModelProperty(value = "Значение справочника", example = "Company description example")
|
||||||
|
@JsonProperty
|
||||||
|
private String companySymbolValue;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CompanySymbolUpdateRequest toRequest() {
|
||||||
|
CompanySymbolUpdateRequest request = new CompanySymbolUpdateRequest();
|
||||||
|
request.setCompanyId(this.companyId);
|
||||||
|
request.setCompanySymbol(this.companySymbol);
|
||||||
|
request.setCompanySymbolValue(this.companySymbolValue);
|
||||||
|
return request;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiModelProperty(hidden = true)
|
||||||
|
@Override
|
||||||
|
public ActionType getActionType() {
|
||||||
|
return ActionType.NEW;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Long getCompanyId() {
|
||||||
|
return companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanyId(Long companyId) {
|
||||||
|
this.companyId = companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCompanySymbol() {
|
||||||
|
return companySymbol;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanySymbol(String companySymbol) {
|
||||||
|
this.companySymbol = companySymbol;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCompanySymbolValue() {
|
||||||
|
return companySymbolValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanySymbolValue(String companySymbolValue) {
|
||||||
|
this.companySymbolValue = companySymbolValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -14,9 +14,6 @@ public class CompanySymbolUpdateAction implements IAction<CompanySymbolUpdateReq
|
||||||
@ApiModelProperty(value = "Идентификатор Компании", example = "1234")
|
@ApiModelProperty(value = "Идентификатор Компании", example = "1234")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private Long companyId;
|
private Long companyId;
|
||||||
@ApiModelProperty(value = "Идентификатор справочника", example = "ABCD")
|
|
||||||
@JsonProperty
|
|
||||||
private String companySymbol;
|
|
||||||
@ApiModelProperty(value = "Значение справочника", example = "Company description example")
|
@ApiModelProperty(value = "Значение справочника", example = "Company description example")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private String companySymbolValue;
|
private String companySymbolValue;
|
||||||
|
|
@ -26,7 +23,6 @@ public class CompanySymbolUpdateAction implements IAction<CompanySymbolUpdateReq
|
||||||
CompanySymbolUpdateRequest request = new CompanySymbolUpdateRequest();
|
CompanySymbolUpdateRequest request = new CompanySymbolUpdateRequest();
|
||||||
request.setId(this.id);
|
request.setId(this.id);
|
||||||
request.setCompanyId(this.companyId);
|
request.setCompanyId(this.companyId);
|
||||||
request.setCompanySymbol(this.companySymbol);
|
|
||||||
request.setCompanySymbolValue(this.companySymbolValue);
|
request.setCompanySymbolValue(this.companySymbolValue);
|
||||||
return request;
|
return request;
|
||||||
}
|
}
|
||||||
|
|
@ -53,14 +49,6 @@ public class CompanySymbolUpdateAction implements IAction<CompanySymbolUpdateReq
|
||||||
this.companyId = companyId;
|
this.companyId = companyId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCompanySymbol() {
|
|
||||||
return companySymbol;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCompanySymbol(String companySymbol) {
|
|
||||||
this.companySymbol = companySymbol;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCompanySymbolValue() {
|
public String getCompanySymbolValue() {
|
||||||
return companySymbolValue;
|
return companySymbolValue;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
package ru.spcex.clearing.backendapi.controller.request.cud.company;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.company.ContactNewRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.company.ContactUpdateRequest;
|
||||||
|
|
||||||
|
public class ContactNewAction implements IAction<ContactNewRequest> {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "Наименование компании", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
private Long companyId;
|
||||||
|
@ApiModelProperty(value = "Идентификатор справочника", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
private String contactType;
|
||||||
|
@ApiModelProperty(value = "Значение справочника", example = "example contact string")
|
||||||
|
@JsonProperty
|
||||||
|
private String contactValue;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ContactNewRequest toRequest() {
|
||||||
|
ContactNewRequest request = new ContactNewRequest();
|
||||||
|
request.setCompanyId(this.companyId);
|
||||||
|
request.setContactType(this.contactType);
|
||||||
|
request.setContactValue(this.contactValue);
|
||||||
|
return request;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiModelProperty(hidden = true)
|
||||||
|
@Override
|
||||||
|
public ActionType getActionType() {
|
||||||
|
return ActionType.NEW;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getCompanyId() {
|
||||||
|
return companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanyId(Long companyId) {
|
||||||
|
this.companyId = companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContactType() {
|
||||||
|
return contactType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContactType(String contactType) {
|
||||||
|
this.contactType = contactType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContactValue() {
|
||||||
|
return contactValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContactValue(String contactValue) {
|
||||||
|
this.contactValue = contactValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,99 @@
|
||||||
|
package ru.spcex.clearing.backendapi.controller.request.cud.registry;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||||
|
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistrySplitDepositActionRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
|
||||||
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class RSplitDepositActionNew implements IAction<RegistrySplitDepositActionRequest> {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "Основание", example = "Основание ...")
|
||||||
|
@JsonProperty
|
||||||
|
public String comment;
|
||||||
|
@ApiModelProperty(value = "Сумма для вывода", example = "1600.20")
|
||||||
|
@JsonProperty
|
||||||
|
public BigDecimal outboundAmount;
|
||||||
|
@ApiModelProperty(value = "Дата возврата", example = "2022-12-25")
|
||||||
|
@JsonSerialize(using = LocalDateSerializer.class)
|
||||||
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
|
@JsonProperty
|
||||||
|
public LocalDate refundDate;
|
||||||
|
@ApiModelProperty(value = "Договор для разделения", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String contract;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Collection<EnumMessage> validate() {
|
||||||
|
List<EnumMessage> errors = new ArrayList<>();
|
||||||
|
if (StringUtils.isEmpty(this.contract))
|
||||||
|
errors.add(new EnumMessage(BackEndError.ValidationError, "contract"));
|
||||||
|
if (this.refundDate == null)
|
||||||
|
errors.add(new EnumMessage(BackEndError.ValidationError, "refundDate"));
|
||||||
|
if (this.outboundAmount == null)
|
||||||
|
errors.add(new EnumMessage(BackEndError.ValidationError, "outboundAmount"));
|
||||||
|
return errors.isEmpty() ? Collections.emptyList() : errors;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RegistrySplitDepositActionRequest toRequest() {
|
||||||
|
var req = new RegistrySplitDepositActionRequest();
|
||||||
|
req.setComment(this.comment);
|
||||||
|
req.setOutboundAmount(this.outboundAmount);
|
||||||
|
req.setRefundDate(this.refundDate);
|
||||||
|
req.setContract(this.contract);
|
||||||
|
return req;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiModelProperty(hidden = true)
|
||||||
|
@Override
|
||||||
|
public ActionType getActionType() {
|
||||||
|
return ActionType.NEW;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getComment() {
|
||||||
|
return comment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setComment(String comment) {
|
||||||
|
this.comment = comment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getOutboundAmount() {
|
||||||
|
return outboundAmount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOutboundAmount(BigDecimal outboundAmount) {
|
||||||
|
this.outboundAmount = outboundAmount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDate getRefundDate() {
|
||||||
|
return refundDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRefundDate(LocalDate refundDate) {
|
||||||
|
this.refundDate = refundDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContract() {
|
||||||
|
return contract;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContract(String contract) {
|
||||||
|
this.contract = contract;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -14,13 +14,13 @@ import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class LauncherNew implements IAction<Object> {
|
public class LauncherNew implements IAction<Object> {
|
||||||
@ApiModelProperty(value = "Идентификатор единоличного исполнительного органа", example = "ABCD")
|
@ApiModelProperty(value = "Код задачи", example = "ABCD")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private String task;
|
private String task;
|
||||||
@ApiModelProperty(value = "Идентификатор инициатора", example = "1000")
|
@ApiModelProperty(value = "Наименование инициатора", example = "1000")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private Long companyId;
|
private Long companyId;
|
||||||
@ApiModelProperty(value = "Идентификатор инструмента", example = "1000")
|
@ApiModelProperty(value = "Наименование инструмента", example = "1000")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private Long securityId;
|
private Long securityId;
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,11 @@ public class PlannerNewAction implements IAction<PlannerNewRequest> {
|
||||||
|
|
||||||
@ApiModelProperty(value = "Секция", example = "ABCD")
|
@ApiModelProperty(value = "Секция", example = "ABCD")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public String market;
|
public String section;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "Тип клиринговой сессии", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String sessionType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "Статус", example = "ABCD")
|
@ApiModelProperty(value = "Статус", example = "ABCD")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
|
|
@ -60,7 +64,8 @@ public class PlannerNewAction implements IAction<PlannerNewRequest> {
|
||||||
plannerNewRequest.setTask(task);
|
plannerNewRequest.setTask(task);
|
||||||
plannerNewRequest.setTaskTime(taskTime);
|
plannerNewRequest.setTaskTime(taskTime);
|
||||||
plannerNewRequest.setClearingDate(clearingDate);
|
plannerNewRequest.setClearingDate(clearingDate);
|
||||||
plannerNewRequest.setMarket(market);
|
plannerNewRequest.setSection(section);
|
||||||
|
plannerNewRequest.setSessionType(sessionType);
|
||||||
plannerNewRequest.setTaskStatus(taskStatus);
|
plannerNewRequest.setTaskStatus(taskStatus);
|
||||||
plannerNewRequest.setCompanyId(companyId);
|
plannerNewRequest.setCompanyId(companyId);
|
||||||
plannerNewRequest.setSecurityId(securityId);
|
plannerNewRequest.setSecurityId(securityId);
|
||||||
|
|
@ -115,12 +120,28 @@ public class PlannerNewAction implements IAction<PlannerNewRequest> {
|
||||||
this.clearingDate = clearingDate;
|
this.clearingDate = clearingDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getMarket() {
|
public String getSection() {
|
||||||
return market;
|
return section;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMarket(String market) {
|
public void setSection(String section) {
|
||||||
this.market = market;
|
this.section = section;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSessionType() {
|
||||||
|
return sessionType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSessionType(String sessionType) {
|
||||||
|
this.sessionType = sessionType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getCompanyId() {
|
||||||
|
return companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanyId(Long companyId) {
|
||||||
|
this.companyId = companyId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTaskStatus() {
|
public String getTaskStatus() {
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,12 @@ public class PlannerTemplateNewAction implements IAction<PlannerTemplateNewReque
|
||||||
@JsonDeserialize(using = LocalTimeDeserializer.class)
|
@JsonDeserialize(using = LocalTimeDeserializer.class)
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public LocalTime taskTime;
|
public LocalTime taskTime;
|
||||||
|
@ApiModelProperty(value = "Секция", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String section;
|
||||||
|
@ApiModelProperty(value = "Тип клиринговой сессии", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String sessionType;
|
||||||
@ApiModelProperty(value = "Статус", example = "ACTV")
|
@ApiModelProperty(value = "Статус", example = "ACTV")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public String taskStatus;
|
public String taskStatus;
|
||||||
|
|
@ -42,6 +48,8 @@ public class PlannerTemplateNewAction implements IAction<PlannerTemplateNewReque
|
||||||
PlannerTemplateNewRequest plannerTemplateNewRequest = new PlannerTemplateNewRequest();
|
PlannerTemplateNewRequest plannerTemplateNewRequest = new PlannerTemplateNewRequest();
|
||||||
plannerTemplateNewRequest.setTask(task);
|
plannerTemplateNewRequest.setTask(task);
|
||||||
plannerTemplateNewRequest.setTaskTime(taskTime);
|
plannerTemplateNewRequest.setTaskTime(taskTime);
|
||||||
|
plannerTemplateNewRequest.setSection(section);
|
||||||
|
plannerTemplateNewRequest.setSessionType(sessionType);
|
||||||
plannerTemplateNewRequest.setTaskStatus(taskStatus);
|
plannerTemplateNewRequest.setTaskStatus(taskStatus);
|
||||||
plannerTemplateNewRequest.setCompanyId(companyId);
|
plannerTemplateNewRequest.setCompanyId(companyId);
|
||||||
plannerTemplateNewRequest.setSecurityId(securityId);
|
plannerTemplateNewRequest.setSecurityId(securityId);
|
||||||
|
|
@ -108,4 +116,20 @@ public class PlannerTemplateNewAction implements IAction<PlannerTemplateNewReque
|
||||||
public void setSecurityId(Long securityId) {
|
public void setSecurityId(Long securityId) {
|
||||||
this.securityId = securityId;
|
this.securityId = securityId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getSection() {
|
||||||
|
return section;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSection(String section) {
|
||||||
|
this.section = section;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSessionType() {
|
||||||
|
return sessionType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSessionType(String sessionType) {
|
||||||
|
this.sessionType = sessionType;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,12 @@ public class PlannerTemplateUpdateAction implements IAction<PlannerTemplateUpdat
|
||||||
@JsonDeserialize(using = LocalTimeDeserializer.class)
|
@JsonDeserialize(using = LocalTimeDeserializer.class)
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public LocalTime taskTime;
|
public LocalTime taskTime;
|
||||||
|
@ApiModelProperty(value = "Секция", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String section;
|
||||||
|
@ApiModelProperty(value = "Тип клиринговой сессии", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String sessionType;
|
||||||
@ApiModelProperty(value = "Статус", example = "ACTV")
|
@ApiModelProperty(value = "Статус", example = "ACTV")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public String taskStatus;
|
public String taskStatus;
|
||||||
|
|
@ -47,6 +53,8 @@ public class PlannerTemplateUpdateAction implements IAction<PlannerTemplateUpdat
|
||||||
plannerTemplateUpdateRequest.setId(id);
|
plannerTemplateUpdateRequest.setId(id);
|
||||||
plannerTemplateUpdateRequest.setTask(task);
|
plannerTemplateUpdateRequest.setTask(task);
|
||||||
plannerTemplateUpdateRequest.setTaskTime(taskTime);
|
plannerTemplateUpdateRequest.setTaskTime(taskTime);
|
||||||
|
plannerTemplateUpdateRequest.setSection(section);
|
||||||
|
plannerTemplateUpdateRequest.setSessionType(sessionType);
|
||||||
plannerTemplateUpdateRequest.setTaskStatus(taskStatus);
|
plannerTemplateUpdateRequest.setTaskStatus(taskStatus);
|
||||||
plannerTemplateUpdateRequest.setCompanyId(companyId);
|
plannerTemplateUpdateRequest.setCompanyId(companyId);
|
||||||
plannerTemplateUpdateRequest.setSecurityId(securityId);
|
plannerTemplateUpdateRequest.setSecurityId(securityId);
|
||||||
|
|
@ -125,4 +133,20 @@ public class PlannerTemplateUpdateAction implements IAction<PlannerTemplateUpdat
|
||||||
public void setSecurityId(Long securityId) {
|
public void setSecurityId(Long securityId) {
|
||||||
this.securityId = securityId;
|
this.securityId = securityId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getSection() {
|
||||||
|
return section;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSection(String section) {
|
||||||
|
this.section = section;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSessionType() {
|
||||||
|
return sessionType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSessionType(String sessionType) {
|
||||||
|
this.sessionType = sessionType;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,11 @@ public class PlannerUpdateAction implements IAction<PlannerUpdateRequest>, WithI
|
||||||
|
|
||||||
@ApiModelProperty(value = "Секция", example = "ABCD")
|
@ApiModelProperty(value = "Секция", example = "ABCD")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public String market;
|
public String section;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "Тип клиринговой сессии", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String sessionType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "Статус", example = "ABCD")
|
@ApiModelProperty(value = "Статус", example = "ABCD")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
|
|
@ -66,7 +70,8 @@ public class PlannerUpdateAction implements IAction<PlannerUpdateRequest>, WithI
|
||||||
plannerUpdateRequest.setTask(task);
|
plannerUpdateRequest.setTask(task);
|
||||||
plannerUpdateRequest.setTaskTime(taskTime);
|
plannerUpdateRequest.setTaskTime(taskTime);
|
||||||
plannerUpdateRequest.setClearingDate(clearingDate);
|
plannerUpdateRequest.setClearingDate(clearingDate);
|
||||||
plannerUpdateRequest.setMarket(market);
|
plannerUpdateRequest.setSection(section);
|
||||||
|
plannerUpdateRequest.setSessionType(sessionType);
|
||||||
plannerUpdateRequest.setTaskStatus(taskStatus);
|
plannerUpdateRequest.setTaskStatus(taskStatus);
|
||||||
plannerUpdateRequest.setCompanyId(companyId);
|
plannerUpdateRequest.setCompanyId(companyId);
|
||||||
plannerUpdateRequest.setSecurityId(securityId);
|
plannerUpdateRequest.setSecurityId(securityId);
|
||||||
|
|
@ -133,12 +138,20 @@ public class PlannerUpdateAction implements IAction<PlannerUpdateRequest>, WithI
|
||||||
this.clearingDate = clearingDate;
|
this.clearingDate = clearingDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getMarket() {
|
public String getSection() {
|
||||||
return market;
|
return section;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMarket(String market) {
|
public void setSection(String section) {
|
||||||
this.market = market;
|
this.section = section;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSessionType() {
|
||||||
|
return sessionType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSessionType(String sessionType) {
|
||||||
|
this.sessionType = sessionType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTaskStatus() {
|
public String getTaskStatus() {
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,25 @@ import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class MoneyMarketSecurityNewAction implements IAction<MoneyMarketSecurityNewRequest>, WithSecuritySymbol {
|
public class MoneyMarketSecurityNewAction implements IAction<MoneyMarketSecurityNewRequest>, WithSecuritySymbol {
|
||||||
@ApiModelProperty(value = "Дата начала действия", example = "2022-01-20")
|
@ApiModelProperty(value = "Код инструмента", example = "CDE")
|
||||||
|
@JsonProperty
|
||||||
|
public String securitySymbol;
|
||||||
|
@ApiModelProperty(value = "Краткое наименование инструмента", example = "NAME")
|
||||||
|
@JsonProperty
|
||||||
|
public String shortName;
|
||||||
|
@ApiModelProperty(value = "Полное наименование инструмента", example = "NAME A")
|
||||||
|
@JsonProperty
|
||||||
|
public String fullName;
|
||||||
|
@ApiModelProperty(value = "Размер лота", example = "21.55")
|
||||||
|
@JsonProperty
|
||||||
|
public BigDecimal lotSize;
|
||||||
|
@ApiModelProperty(value = "Номинал", example = "20.5554")
|
||||||
|
@JsonProperty
|
||||||
|
public BigDecimal nominalValue;
|
||||||
|
@ApiModelProperty(value = "Наименование валюты номинала", example = "RUB")
|
||||||
|
@JsonProperty
|
||||||
|
public String nominalCurrency;
|
||||||
|
@ApiModelProperty(value = "Дата начала действия", example = "2022-02-20")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
||||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
|
|
@ -31,27 +49,30 @@ public class MoneyMarketSecurityNewAction implements IAction<MoneyMarketSecurity
|
||||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public LocalDate endDate;
|
public LocalDate endDate;
|
||||||
@ApiModelProperty(value = "Номинал", example = "20.5")
|
@ApiModelProperty(value = "Наименование вида инструмента", example = "ABCD")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public BigDecimal nominalValue;
|
public String termType;
|
||||||
@ApiModelProperty(value = "Идентификатор валюты номинала", example = "1000")
|
@ApiModelProperty(value = "Описание", example = "ABCD E")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public String nominalCurrency;
|
public String description;
|
||||||
@ApiModelProperty(value = "Идентификатор типа инструмента", example = "ABCD")
|
@ApiModelProperty(value = "Наименование эмитента", example = "1234")
|
||||||
|
@JsonProperty
|
||||||
|
public Long issuerId;
|
||||||
|
@ApiModelProperty(value = "Краткое наименование инструмента на английском", example = "ABSDE")
|
||||||
|
@JsonProperty
|
||||||
|
public String shortNameEng;
|
||||||
|
@ApiModelProperty(value = "Полное наименование инструмента на английском", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String fullNameEng;
|
||||||
|
@ApiModelProperty(value = "Наименование инструмента ISIN", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String isin;
|
||||||
|
@ApiModelProperty(value = "Наименование статуса", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String workflowStatus;
|
||||||
|
@ApiModelProperty(value = "Наименование типа инструмента", example = "ABCDE")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public String instrumentType;
|
public String instrumentType;
|
||||||
@ApiModelProperty(value = "Полное наименование инструмента", example = "Treasury bills")
|
|
||||||
@JsonProperty
|
|
||||||
public String fullName;
|
|
||||||
@ApiModelProperty(value = "Код инструмента", example = "ABSDEFJ")
|
|
||||||
@JsonProperty
|
|
||||||
public String securitySymbol;
|
|
||||||
@ApiModelProperty(value = "Размер лота", example = "300.5")
|
|
||||||
@JsonProperty
|
|
||||||
public BigDecimal lotSize;
|
|
||||||
@ApiModelProperty(value = "Краткое наименование инструмента", example = "ABSDE")
|
|
||||||
@JsonProperty
|
|
||||||
public String shortName;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Collection<EnumMessage> validate() {
|
public Collection<EnumMessage> validate() {
|
||||||
|
|
@ -70,8 +91,8 @@ public class MoneyMarketSecurityNewAction implements IAction<MoneyMarketSecurity
|
||||||
errors.add(new EnumMessage(BackEndError.ValidationError, "startDate"));
|
errors.add(new EnumMessage(BackEndError.ValidationError, "startDate"));
|
||||||
if (this.endDate == null)
|
if (this.endDate == null)
|
||||||
errors.add(new EnumMessage(BackEndError.ValidationError, "endDate"));
|
errors.add(new EnumMessage(BackEndError.ValidationError, "endDate"));
|
||||||
// if (this.termType == null)
|
if (this.termType == null)
|
||||||
// errors.add(new EnumMessage(BackEndError.ValidationError, "termType"));
|
errors.add(new EnumMessage(BackEndError.ValidationError, "termType"));
|
||||||
if (TextUtil.isEmpty(instrumentType))
|
if (TextUtil.isEmpty(instrumentType))
|
||||||
errors.add(new EnumMessage(BackEndError.ValidationError, "instrumentType"));
|
errors.add(new EnumMessage(BackEndError.ValidationError, "instrumentType"));
|
||||||
return errors.size() > 0 ? errors : Collections.emptyList();
|
return errors.size() > 0 ? errors : Collections.emptyList();
|
||||||
|
|
@ -89,6 +110,13 @@ public class MoneyMarketSecurityNewAction implements IAction<MoneyMarketSecurity
|
||||||
req.setSecuritySymbol(this.getSecuritySymbol());
|
req.setSecuritySymbol(this.getSecuritySymbol());
|
||||||
req.setLotSize(this.getLotSize());
|
req.setLotSize(this.getLotSize());
|
||||||
req.setShortName(this.getShortName());
|
req.setShortName(this.getShortName());
|
||||||
|
req.setTermType(this.getTermType());
|
||||||
|
req.setDescription(this.getDescription());
|
||||||
|
req.setIssuerId(this.getIssuerId());
|
||||||
|
req.setShortNameEng(this.getShortNameEng());
|
||||||
|
req.setFullNameEng(this.getFullNameEng());
|
||||||
|
req.setIsin(this.getIsin());
|
||||||
|
req.setWorkflowStatus(this.getWorkflowStatus());
|
||||||
return req;
|
return req;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -98,20 +126,37 @@ public class MoneyMarketSecurityNewAction implements IAction<MoneyMarketSecurity
|
||||||
return ActionType.NEW;
|
return ActionType.NEW;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LocalDate getStartDate() {
|
@Override
|
||||||
return startDate;
|
public String getSecuritySymbol() {
|
||||||
|
return securitySymbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setStartDate(LocalDate startDate) {
|
public void setSecuritySymbol(String securitySymbol) {
|
||||||
this.startDate = startDate;
|
this.securitySymbol = securitySymbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LocalDate getEndDate() {
|
public String getShortName() {
|
||||||
return endDate;
|
return shortName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEndDate(LocalDate endDate) {
|
public void setShortName(String shortName) {
|
||||||
this.endDate = endDate;
|
this.shortName = shortName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFullName() {
|
||||||
|
return fullName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFullName(String fullName) {
|
||||||
|
this.fullName = fullName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getLotSize() {
|
||||||
|
return lotSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLotSize(BigDecimal lotSize) {
|
||||||
|
this.lotSize = lotSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BigDecimal getNominalValue() {
|
public BigDecimal getNominalValue() {
|
||||||
|
|
@ -130,6 +175,78 @@ public class MoneyMarketSecurityNewAction implements IAction<MoneyMarketSecurity
|
||||||
this.nominalCurrency = nominalCurrency;
|
this.nominalCurrency = nominalCurrency;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LocalDate getStartDate() {
|
||||||
|
return startDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStartDate(LocalDate startDate) {
|
||||||
|
this.startDate = startDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDate getEndDate() {
|
||||||
|
return endDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEndDate(LocalDate endDate) {
|
||||||
|
this.endDate = endDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTermType() {
|
||||||
|
return termType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTermType(String termType) {
|
||||||
|
this.termType = termType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDescription(String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getIssuerId() {
|
||||||
|
return issuerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIssuerId(Long issuerId) {
|
||||||
|
this.issuerId = issuerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getShortNameEng() {
|
||||||
|
return shortNameEng;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShortNameEng(String shortNameEng) {
|
||||||
|
this.shortNameEng = shortNameEng;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFullNameEng() {
|
||||||
|
return fullNameEng;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFullNameEng(String fullNameEng) {
|
||||||
|
this.fullNameEng = fullNameEng;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIsin() {
|
||||||
|
return isin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsin(String isin) {
|
||||||
|
this.isin = isin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWorkflowStatus() {
|
||||||
|
return workflowStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWorkflowStatus(String workflowStatus) {
|
||||||
|
this.workflowStatus = workflowStatus;
|
||||||
|
}
|
||||||
|
|
||||||
public String getInstrumentType() {
|
public String getInstrumentType() {
|
||||||
return instrumentType;
|
return instrumentType;
|
||||||
}
|
}
|
||||||
|
|
@ -137,36 +254,4 @@ public class MoneyMarketSecurityNewAction implements IAction<MoneyMarketSecurity
|
||||||
public void setInstrumentType(String instrumentType) {
|
public void setInstrumentType(String instrumentType) {
|
||||||
this.instrumentType = instrumentType;
|
this.instrumentType = instrumentType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getFullName() {
|
|
||||||
return fullName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFullName(String fullName) {
|
|
||||||
this.fullName = fullName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSecuritySymbol() {
|
|
||||||
return securitySymbol;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSecuritySymbol(String securitySymbol) {
|
|
||||||
this.securitySymbol = securitySymbol;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getLotSize() {
|
|
||||||
return lotSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLotSize(BigDecimal lotSize) {
|
|
||||||
this.lotSize = lotSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getShortName() {
|
|
||||||
return shortName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setShortName(String shortName) {
|
|
||||||
this.shortName = shortName;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,25 @@ public class MoneyMarketSecurityUpdateAction implements IAction<MoneyMarketSecur
|
||||||
@ApiModelProperty(hidden = true)
|
@ApiModelProperty(hidden = true)
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public Long id;
|
public Long id;
|
||||||
@ApiModelProperty(value = "Дата начала действия", example = "2022-02-21")
|
@ApiModelProperty(value = "Код инструмента", example = "CDE")
|
||||||
|
@JsonProperty
|
||||||
|
public String securitySymbol;
|
||||||
|
@ApiModelProperty(value = "Краткое наименование инструмента", example = "NAME")
|
||||||
|
@JsonProperty
|
||||||
|
public String shortName;
|
||||||
|
@ApiModelProperty(value = "Полное наименование инструмента", example = "NAME A")
|
||||||
|
@JsonProperty
|
||||||
|
public String fullName;
|
||||||
|
@ApiModelProperty(value = "Размер лота", example = "21.55")
|
||||||
|
@JsonProperty
|
||||||
|
public BigDecimal lotSize;
|
||||||
|
@ApiModelProperty(value = "Номинал", example = "20.5554")
|
||||||
|
@JsonProperty
|
||||||
|
public BigDecimal nominalValue;
|
||||||
|
@ApiModelProperty(value = "Наименование валюты номинала", example = "RUB")
|
||||||
|
@JsonProperty
|
||||||
|
public String nominalCurrency;
|
||||||
|
@ApiModelProperty(value = "Дата начала действия", example = "2022-02-20")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
||||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
|
|
@ -33,24 +51,30 @@ public class MoneyMarketSecurityUpdateAction implements IAction<MoneyMarketSecur
|
||||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public LocalDate endDate;
|
public LocalDate endDate;
|
||||||
@ApiModelProperty(value = "Номинал", example = "20.5")
|
@ApiModelProperty(value = "Наименование вида инструмента", example = "ABCD")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public BigDecimal nominalValue;
|
public String termType;
|
||||||
@ApiModelProperty(value = "Валюта номинала", example = "RUB")
|
@ApiModelProperty(value = "Описание", example = "ABCD E")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public String nominalCurrency;
|
public String description;
|
||||||
@ApiModelProperty(value = "Идентификатор типа инструмента", example = "ABCD")
|
@ApiModelProperty(value = "Наименование эмитента", example = "1234")
|
||||||
|
@JsonProperty
|
||||||
|
public Long issuerId;
|
||||||
|
@ApiModelProperty(value = "Краткое наименование инструмента на английском", example = "ABSDE")
|
||||||
|
@JsonProperty
|
||||||
|
public String shortNameEng;
|
||||||
|
@ApiModelProperty(value = "Полное наименование инструмента на английском", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String fullNameEng;
|
||||||
|
@ApiModelProperty(value = "Наименование инструмента ISIN", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String isin;
|
||||||
|
@ApiModelProperty(value = "Наименование статуса", example = "ABCD")
|
||||||
|
@JsonProperty
|
||||||
|
public String workflowStatus;
|
||||||
|
@ApiModelProperty(value = "Наименование типа инструмента", example = "ABCDE")
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
public String instrumentType;
|
public String instrumentType;
|
||||||
@ApiModelProperty(value = "Полное наименование инструмента", example = "Treasury bills")
|
|
||||||
@JsonProperty
|
|
||||||
public String fullName;
|
|
||||||
@ApiModelProperty(value = "Размер лота", example = "300.5")
|
|
||||||
@JsonProperty
|
|
||||||
public BigDecimal lotSize;
|
|
||||||
@ApiModelProperty(value = "Краткое наименование инструмента", example = "ABSDE")
|
|
||||||
@JsonProperty
|
|
||||||
public String shortName;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MoneyMarketSecurityUpdateRequest toRequest() {
|
public MoneyMarketSecurityUpdateRequest toRequest() {
|
||||||
|
|
@ -62,8 +86,16 @@ public class MoneyMarketSecurityUpdateAction implements IAction<MoneyMarketSecur
|
||||||
req.setNominalCurrency(this.getNominalCurrency());
|
req.setNominalCurrency(this.getNominalCurrency());
|
||||||
req.setInstrumentType(this.getInstrumentType());
|
req.setInstrumentType(this.getInstrumentType());
|
||||||
req.setFullName(this.getFullName());
|
req.setFullName(this.getFullName());
|
||||||
|
req.setSecuritySymbol(this.getSecuritySymbol());
|
||||||
req.setLotSize(this.getLotSize());
|
req.setLotSize(this.getLotSize());
|
||||||
req.setShortName(this.getShortName());
|
req.setShortName(this.getShortName());
|
||||||
|
req.setTermType(this.getTermType());
|
||||||
|
req.setDescription(this.getDescription());
|
||||||
|
req.setIssuerId(this.getIssuerId());
|
||||||
|
req.setShortNameEng(this.getShortNameEng());
|
||||||
|
req.setFullNameEng(this.getFullNameEng());
|
||||||
|
req.setIsin(this.getIsin());
|
||||||
|
req.setWorkflowStatus(this.getWorkflowStatus());
|
||||||
return req;
|
return req;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -82,36 +114,29 @@ public class MoneyMarketSecurityUpdateAction implements IAction<MoneyMarketSecur
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public LocalDate getEndDate() {
|
@Override
|
||||||
return endDate;
|
public Long getId() {
|
||||||
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEndDate(LocalDate endDate) {
|
public void setId(Long id) {
|
||||||
this.endDate = endDate;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BigDecimal getNominalValue() {
|
public String getSecuritySymbol() {
|
||||||
return nominalValue;
|
return securitySymbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setNominalValue(BigDecimal nominalValue) {
|
public void setSecuritySymbol(String securitySymbol) {
|
||||||
this.nominalValue = nominalValue;
|
this.securitySymbol = securitySymbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getNominalCurrency() {
|
public String getShortName() {
|
||||||
return nominalCurrency;
|
return shortName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setNominalCurrency(String nominalCurrency) {
|
public void setShortName(String shortName) {
|
||||||
this.nominalCurrency = nominalCurrency;
|
this.shortName = shortName;
|
||||||
}
|
|
||||||
|
|
||||||
public String getInstrumentType() {
|
|
||||||
return instrumentType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setInstrumentType(String instrumentType) {
|
|
||||||
this.instrumentType = instrumentType;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getFullName() {
|
public String getFullName() {
|
||||||
|
|
@ -130,12 +155,20 @@ public class MoneyMarketSecurityUpdateAction implements IAction<MoneyMarketSecur
|
||||||
this.lotSize = lotSize;
|
this.lotSize = lotSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getId() {
|
public BigDecimal getNominalValue() {
|
||||||
return id;
|
return nominalValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setId(Long id) {
|
public void setNominalValue(BigDecimal nominalValue) {
|
||||||
this.id = id;
|
this.nominalValue = nominalValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNominalCurrency() {
|
||||||
|
return nominalCurrency;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNominalCurrency(String nominalCurrency) {
|
||||||
|
this.nominalCurrency = nominalCurrency;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LocalDate getStartDate() {
|
public LocalDate getStartDate() {
|
||||||
|
|
@ -146,11 +179,75 @@ public class MoneyMarketSecurityUpdateAction implements IAction<MoneyMarketSecur
|
||||||
this.startDate = startDate;
|
this.startDate = startDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getShortName() {
|
public LocalDate getEndDate() {
|
||||||
return shortName;
|
return endDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setShortName(String shortName) {
|
public void setEndDate(LocalDate endDate) {
|
||||||
this.shortName = shortName;
|
this.endDate = endDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTermType() {
|
||||||
|
return termType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTermType(String termType) {
|
||||||
|
this.termType = termType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDescription(String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getIssuerId() {
|
||||||
|
return issuerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIssuerId(Long issuerId) {
|
||||||
|
this.issuerId = issuerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getShortNameEng() {
|
||||||
|
return shortNameEng;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShortNameEng(String shortNameEng) {
|
||||||
|
this.shortNameEng = shortNameEng;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFullNameEng() {
|
||||||
|
return fullNameEng;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFullNameEng(String fullNameEng) {
|
||||||
|
this.fullNameEng = fullNameEng;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIsin() {
|
||||||
|
return isin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsin(String isin) {
|
||||||
|
this.isin = isin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWorkflowStatus() {
|
||||||
|
return workflowStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWorkflowStatus(String workflowStatus) {
|
||||||
|
this.workflowStatus = workflowStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInstrumentType() {
|
||||||
|
return instrumentType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInstrumentType(String instrumentType) {
|
||||||
|
this.instrumentType = instrumentType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.request.cud.utilities;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
|
||||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.utilities.KeyRateNewRequest;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
|
|
||||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class KeyRateNewAction implements IAction<KeyRateNewRequest> {
|
|
||||||
@ApiModelProperty(value = "Ключевая ставка ЦБ РФ", example = "12.5")
|
|
||||||
@JsonProperty
|
|
||||||
public BigDecimal rate;
|
|
||||||
@ApiModelProperty(value = "Дата начала действия ключевой ставки", example = "2022-01-20")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
|
||||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
|
||||||
@JsonProperty
|
|
||||||
public LocalDate startDate;
|
|
||||||
@ApiModelProperty(value = "Дата окончания действия ключевой ставки", example = "2022-04-20")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
|
||||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
|
||||||
@JsonProperty
|
|
||||||
public LocalDate endDate;
|
|
||||||
@ApiModelProperty(value = "Документ ЦБ", example = "Lorem ipsum")
|
|
||||||
@JsonProperty
|
|
||||||
public String document;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Collection<EnumMessage> validate() {
|
|
||||||
if (this.startDate == null)
|
|
||||||
return List.of(new EnumMessage(BackEndError.ValidationError, "startDate"));
|
|
||||||
else return Collections.emptyList();
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiModelProperty(hidden = true)
|
|
||||||
@Override
|
|
||||||
public ActionType getActionType() {
|
|
||||||
return ActionType.NEW;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public KeyRateNewRequest toRequest() {
|
|
||||||
var req = new KeyRateNewRequest();
|
|
||||||
req.setStartDate(this.getStartDate());
|
|
||||||
req.setEndDate(this.getEndDate());
|
|
||||||
req.setKeyRate(this.getRate());
|
|
||||||
req.setDocument(this.getDocument());
|
|
||||||
return req;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getRate() {
|
|
||||||
return rate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRate(BigDecimal rate) {
|
|
||||||
this.rate = rate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getStartDate() {
|
|
||||||
return startDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStartDate(LocalDate startDate) {
|
|
||||||
this.startDate = startDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getEndDate() {
|
|
||||||
return endDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEndDate(LocalDate endDate) {
|
|
||||||
this.endDate = endDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDocument() {
|
|
||||||
return document;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDocument(String document) {
|
|
||||||
this.document = document;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.request.cud.utilities;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.utilities.KeyRateUpdateRequest;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
|
|
||||||
public class KeyRateUpdateAction implements IAction<KeyRateUpdateRequest> {
|
|
||||||
@ApiModelProperty(hidden = true)
|
|
||||||
@JsonProperty
|
|
||||||
public Long id;
|
|
||||||
@ApiModelProperty(value = "Ключевая ставка ЦБ РФ", example = "12.5")
|
|
||||||
@JsonProperty
|
|
||||||
public BigDecimal rate;
|
|
||||||
@ApiModelProperty(value = "Дата начала действия ключевой ставки", example = "2022-01-20")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
|
||||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
|
||||||
@JsonProperty
|
|
||||||
public LocalDate startDate;
|
|
||||||
@ApiModelProperty(value = "Дата окончания действия ключевой ставки", example = "2022-04-20")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
|
||||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
|
||||||
@JsonProperty
|
|
||||||
public LocalDate endDate;
|
|
||||||
@ApiModelProperty(value = "Документ ЦБ", example = "Lorem ipsum")
|
|
||||||
@JsonProperty
|
|
||||||
public String document;
|
|
||||||
|
|
||||||
@ApiModelProperty(hidden = true)
|
|
||||||
@Override
|
|
||||||
public ActionType getActionType() {
|
|
||||||
return ActionType.UPDATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public KeyRateUpdateRequest toRequest() {
|
|
||||||
var req = new KeyRateUpdateRequest();
|
|
||||||
req.setId(this.getId());
|
|
||||||
req.setStartDate(this.getStartDate());
|
|
||||||
req.setEndDate(this.getEndDate());
|
|
||||||
req.setKeyRate(this.getRate());
|
|
||||||
req.setDocument(this.getDocument());
|
|
||||||
return req;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getRate() {
|
|
||||||
return rate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRate(BigDecimal rate) {
|
|
||||||
this.rate = rate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getStartDate() {
|
|
||||||
return startDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStartDate(LocalDate startDate) {
|
|
||||||
this.startDate = startDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getEndDate() {
|
|
||||||
return endDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEndDate(LocalDate endDate) {
|
|
||||||
this.endDate = endDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDocument() {
|
|
||||||
return document;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDocument(String document) {
|
|
||||||
this.document = document;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -35,6 +35,7 @@ public class AccountBackendGetAll extends BasicSpcexResponse {
|
||||||
singleItem.setRelationId(account.getRelationId());
|
singleItem.setRelationId(account.getRelationId());
|
||||||
singleItem.setStatus(account.getStatus());
|
singleItem.setStatus(account.getStatus());
|
||||||
singleItem.setProcessingSign(account.getProcessingSign());
|
singleItem.setProcessingSign(account.getProcessingSign());
|
||||||
|
singleItem.setCompanyId(account.getCompanyId());
|
||||||
singleItem.setCreated(account.getCreated());
|
singleItem.setCreated(account.getCreated());
|
||||||
singleItem.setUpdated(account.getUpdated());
|
singleItem.setUpdated(account.getUpdated());
|
||||||
payload.getItems().add(singleItem);
|
payload.getItems().add(singleItem);
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@ public class AccountBackendGetFields {
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private String processingSign;
|
private String processingSign;
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
|
private Long companyId;
|
||||||
|
@JsonProperty
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
@JsonSerialize(using = InstantSerializer.class)
|
||||||
private Instant created;
|
private Instant created;
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
|
|
@ -74,6 +76,14 @@ public class AccountBackendGetFields {
|
||||||
this.processingSign = processingSign;
|
this.processingSign = processingSign;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Long getCompanyId() {
|
||||||
|
return companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanyId(Long companyId) {
|
||||||
|
this.companyId = companyId;
|
||||||
|
}
|
||||||
|
|
||||||
public Instant getCreated() {
|
public Instant getCreated() {
|
||||||
return created;
|
return created;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,64 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.account;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.clearing.classes.statics.data.account.BankAccount;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Банковские реквизиты для перечисления денежных средств
|
|
||||||
**/
|
|
||||||
@ApiModel(description = "Ответ при получении объектов BankAccount.")
|
|
||||||
public class BankAccountBackendGetAll extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Полезная нагрузка")
|
|
||||||
private BankAccountBackendPayload payload = new BankAccountBackendPayload();
|
|
||||||
|
|
||||||
public BankAccountBackendPayload getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(BankAccountBackendPayload payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(Collection<BankAccount> bankAccounts) {
|
|
||||||
var payload = this.getPayload();
|
|
||||||
for (BankAccount bankAccount : bankAccounts) {
|
|
||||||
var singleItem = new BankAccountBackendGetFields();
|
|
||||||
singleItem.setId(bankAccount.getId());
|
|
||||||
singleItem.setAccountId(bankAccount.getAccountId());
|
|
||||||
singleItem.setBankIdentificationCode(bankAccount.getBankIdentificationCode());
|
|
||||||
singleItem.setBankName(bankAccount.getBankName());
|
|
||||||
singleItem.setCorrespondentAccount(bankAccount.getCorrespondentAccount());
|
|
||||||
singleItem.setCorrespondentAccountName(bankAccount.getCorrespondentAccountName());
|
|
||||||
singleItem.setCurrency(bankAccount.getCurrency());
|
|
||||||
singleItem.setDestination(bankAccount.getDestination());
|
|
||||||
singleItem.setIban(bankAccount.getIban());
|
|
||||||
singleItem.setInternationalTransferSign(bankAccount.getInternationalTransferSign());
|
|
||||||
singleItem.setSwiftCode(bankAccount.getSwiftCode());
|
|
||||||
singleItem.setTaxpayerIdentificationNumber(bankAccount.getTaxpayerIdentificationNumber());
|
|
||||||
singleItem.setTaxRegistrationReasonCode(bankAccount.getTaxRegistrationReasonCode());
|
|
||||||
payload.getItems().add(singleItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static class BankAccountBackendPayload {
|
|
||||||
private List<BankAccountBackendGetFields> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<BankAccountBackendGetFields> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<BankAccountBackendGetFields> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.account;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.clearing.classes.statics.data.account.BankAccount;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Банковские реквизиты для перечисления денежных средств
|
|
||||||
*
|
|
||||||
* @ApiModel(description = "Ответ в результате отправки операции в топик Kafka.")
|
|
||||||
* @ApiModelProperty(value = "Информация о принятом запросе")
|
|
||||||
**/
|
|
||||||
@ApiModel(description = "Ответ при получении объекта BankAccount.")
|
|
||||||
public class BankAccountBackendGetById extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Поля объекта")
|
|
||||||
private BankAccountBackendGetFields payload;
|
|
||||||
|
|
||||||
public BankAccountBackendGetFields getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(BankAccountBackendGetFields payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(BankAccount bankAccount) {
|
|
||||||
var payload = new BankAccountBackendGetFields();
|
|
||||||
this.setPayload(payload);
|
|
||||||
payload.setId(bankAccount.getId());
|
|
||||||
payload.setAccountId(bankAccount.getAccountId());
|
|
||||||
payload.setBankIdentificationCode(bankAccount.getBankIdentificationCode());
|
|
||||||
payload.setBankName(bankAccount.getBankName());
|
|
||||||
payload.setCorrespondentAccount(bankAccount.getCorrespondentAccount());
|
|
||||||
payload.setCorrespondentAccountName(bankAccount.getCorrespondentAccountName());
|
|
||||||
payload.setCurrency(bankAccount.getCurrency());
|
|
||||||
payload.setDestination(bankAccount.getDestination());
|
|
||||||
payload.setIban(bankAccount.getIban());
|
|
||||||
payload.setInternationalTransferSign(bankAccount.getInternationalTransferSign());
|
|
||||||
payload.setSwiftCode(bankAccount.getSwiftCode());
|
|
||||||
payload.setTaxpayerIdentificationNumber(bankAccount.getTaxpayerIdentificationNumber());
|
|
||||||
payload.setTaxRegistrationReasonCode(bankAccount.getTaxRegistrationReasonCode());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,150 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.account;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
|
|
||||||
public class BankAccountBackendGetFields {
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Идентификатор", example = "1234")
|
|
||||||
private Long id;
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "", example = "")
|
|
||||||
private Long accountId;
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "", example = "ABCD")
|
|
||||||
private String bankIdentificationCode;
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Имя банка", example = "Сбербанк")
|
|
||||||
private String bankName;
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "", example = "")
|
|
||||||
private String correspondentAccount;
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "", example = "")
|
|
||||||
private String correspondentAccountName;
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "", example = "")
|
|
||||||
private String currency;
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "", example = "")
|
|
||||||
private String destination;
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "", example = "")
|
|
||||||
private String iban;
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "", example = "")
|
|
||||||
private String internationalTransferSign;
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "", example = "")
|
|
||||||
private String swiftCode;
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "", example = "")
|
|
||||||
private String taxpayerIdentificationNumber;
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "", example = "")
|
|
||||||
private String taxRegistrationReasonCode;
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getAccountId() {
|
|
||||||
return accountId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAccountId(Long value) {
|
|
||||||
this.accountId = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBankIdentificationCode() {
|
|
||||||
return bankIdentificationCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBankIdentificationCode(String value) {
|
|
||||||
this.bankIdentificationCode = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBankName() {
|
|
||||||
return bankName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBankName(String value) {
|
|
||||||
this.bankName = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCorrespondentAccount() {
|
|
||||||
return correspondentAccount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCorrespondentAccount(String value) {
|
|
||||||
this.correspondentAccount = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCorrespondentAccountName() {
|
|
||||||
return correspondentAccountName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCorrespondentAccountName(String value) {
|
|
||||||
this.correspondentAccountName = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCurrency() {
|
|
||||||
return currency;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCurrency(String value) {
|
|
||||||
this.currency = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDestination() {
|
|
||||||
return destination;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDestination(String value) {
|
|
||||||
this.destination = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIban() {
|
|
||||||
return iban;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIban(String value) {
|
|
||||||
this.iban = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getInternationalTransferSign() {
|
|
||||||
return internationalTransferSign;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setInternationalTransferSign(String value) {
|
|
||||||
this.internationalTransferSign = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSwiftCode() {
|
|
||||||
return swiftCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSwiftCode(String value) {
|
|
||||||
this.swiftCode = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTaxpayerIdentificationNumber() {
|
|
||||||
return taxpayerIdentificationNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTaxpayerIdentificationNumber(String value) {
|
|
||||||
this.taxpayerIdentificationNumber = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTaxRegistrationReasonCode() {
|
|
||||||
return taxRegistrationReasonCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTaxRegistrationReasonCode(String value) {
|
|
||||||
this.taxRegistrationReasonCode = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -51,18 +51,26 @@ public class CompanyBackendGetAll extends BasicSpcexResponse {
|
||||||
singleItem.setFullName(company.getFullName());
|
singleItem.setFullName(company.getFullName());
|
||||||
singleItem.setCreated(company.getCreated());
|
singleItem.setCreated(company.getCreated());
|
||||||
singleItem.setUpdated(company.getUpdated());
|
singleItem.setUpdated(company.getUpdated());
|
||||||
CompanyInfo profile = company.getProfile();
|
// CompanyInfo profile = company.getProfile();
|
||||||
if (profile != null) {
|
// if (profile != null) {
|
||||||
singleItem.setCorporationSoleType(profile.getCorporationSoleType());
|
// singleItem.setCorporationSoleType(profile.getCorporationSoleType());
|
||||||
singleItem.setCountryCode(profile.getCountryCode());
|
// singleItem.setCountryCode(profile.getCountryCode());
|
||||||
singleItem.setDescription(profile.getDescription());
|
// singleItem.setDescription(profile.getDescription());
|
||||||
singleItem.setProfessionalSign(profile.getProfessionalSign());
|
// singleItem.setProfessionalSign(profile.getProfessionalSign());
|
||||||
singleItem.setLegalKind(profile.getLegalKind());
|
// singleItem.setLegalKind(profile.getLegalKind());
|
||||||
singleItem.setOrganizationType(profile.getOrganizationType());
|
// singleItem.setOrganizationType(profile.getOrganizationType());
|
||||||
singleItem.setResidence(profile.getResidence());
|
// singleItem.setResidence(profile.getResidence());
|
||||||
singleItem.setShortNameEng(profile.getShortNameEng());
|
// singleItem.setShortNameEng(profile.getShortNameEng());
|
||||||
singleItem.setFullNameEng(profile.getFullNameEng());
|
// singleItem.setFullNameEng(profile.getFullNameEng());
|
||||||
}
|
// }
|
||||||
|
/* todo
|
||||||
|
CompanySymbol companySymbol = ;
|
||||||
|
if (companySymbol!=null) {
|
||||||
|
|
||||||
|
singleItem.setCompanySymbol(profile.getCompanySymbol());
|
||||||
|
singleItem.setCompanySymbolValue(profile.getCompanySymbolValue());
|
||||||
|
}*/
|
||||||
|
|
||||||
payload.getItems().add(singleItem);
|
payload.getItems().add(singleItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,37 +16,21 @@ public class CompanyBackendGetFields {
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private String registrationCode;
|
private String registrationCode;
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private String workflowStatus; // WorkflowStatusDictionary
|
private String workflowStatus;
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private String shortName;
|
private String shortName;
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private String fullName;
|
private String fullName;
|
||||||
|
@JsonProperty
|
||||||
|
private String companySymbol;
|
||||||
|
@JsonProperty
|
||||||
|
private String companySymbolValue;
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
@JsonSerialize(using = InstantSerializer.class)
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private Instant created;
|
private Instant created;
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
@JsonSerialize(using = InstantSerializer.class)
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private Instant updated;
|
private Instant updated;
|
||||||
@JsonProperty
|
|
||||||
private String clearingMemberCategory; // ref CHAR(4),
|
|
||||||
@JsonProperty
|
|
||||||
private String corporationSoleType; // ref CHAR(4),
|
|
||||||
@JsonProperty
|
|
||||||
private String countryCode; //ref CHAR(4),
|
|
||||||
@JsonProperty
|
|
||||||
private String description;
|
|
||||||
@JsonProperty
|
|
||||||
private String professionalSign; // ref CHAR(4),
|
|
||||||
@JsonProperty
|
|
||||||
private String legalKind; // ref CHAR(4),
|
|
||||||
@JsonProperty
|
|
||||||
private String organizationType; // ref CHAR(4),
|
|
||||||
@JsonProperty
|
|
||||||
private String residence; // ref CHAR(4),
|
|
||||||
@JsonProperty
|
|
||||||
private String shortNameEng;
|
|
||||||
@JsonProperty
|
|
||||||
private String fullNameEng;
|
|
||||||
|
|
||||||
public Long getId() {
|
public Long getId() {
|
||||||
return id;
|
return id;
|
||||||
|
|
@ -120,256 +104,19 @@ public class CompanyBackendGetFields {
|
||||||
this.updated = updated;
|
this.updated = updated;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getClearingMemberCategory() {
|
public String getCompanySymbol() {
|
||||||
return clearingMemberCategory;
|
return companySymbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setClearingMemberCategory(String clearingMemberCategory) {
|
public void setCompanySymbol(String companySymbol) {
|
||||||
this.clearingMemberCategory = clearingMemberCategory;
|
this.companySymbol = companySymbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCorporationSoleType() {
|
public String getCompanySymbolValue() {
|
||||||
return corporationSoleType;
|
return companySymbolValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCorporationSoleType(String corporationSoleType) {
|
public void setCompanySymbolValue(String companySymbolValue) {
|
||||||
this.corporationSoleType = corporationSoleType;
|
this.companySymbolValue = companySymbolValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCountryCode() {
|
|
||||||
return countryCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCountryCode(String countryCode) {
|
|
||||||
this.countryCode = countryCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDescription() {
|
|
||||||
return description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDescription(String description) {
|
|
||||||
this.description = description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getProfessionalSign() {
|
|
||||||
return professionalSign;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProfessionalSign(String professionalSign) {
|
|
||||||
this.professionalSign = professionalSign;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getLegalKind() {
|
|
||||||
return legalKind;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLegalKind(String legalKind) {
|
|
||||||
this.legalKind = legalKind;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOrganizationType() {
|
|
||||||
return organizationType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrganizationType(String organizationType) {
|
|
||||||
this.organizationType = organizationType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getResidence() {
|
|
||||||
return residence;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setResidence(String residence) {
|
|
||||||
this.residence = residence;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getShortNameEng() {
|
|
||||||
return shortNameEng;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setShortNameEng(String shortNameEng) {
|
|
||||||
this.shortNameEng = shortNameEng;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getFullNameEng() {
|
|
||||||
return fullNameEng;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFullNameEng(String fullNameEng) {
|
|
||||||
this.fullNameEng = fullNameEng;
|
|
||||||
}
|
|
||||||
|
|
||||||
// static class CompanyInfoFields {
|
|
||||||
// @JsonProperty
|
|
||||||
// private Long id;
|
|
||||||
// @JsonProperty
|
|
||||||
// private Long companyId; // Company.CompanyInfo.companyId = CompanyInfo.id
|
|
||||||
// @JsonProperty
|
|
||||||
// private String clearingMemberCategory; // ref CHAR(4),
|
|
||||||
// @JsonProperty
|
|
||||||
// private String corporationSoleType; // ref CHAR(4),
|
|
||||||
// @JsonProperty
|
|
||||||
// private String countryCode; //ref CHAR(4),
|
|
||||||
// @JsonProperty
|
|
||||||
// private String description;
|
|
||||||
// @JsonProperty
|
|
||||||
// private String professionalSign; // ref CHAR(4),
|
|
||||||
// @JsonProperty
|
|
||||||
// private String legalKind; // ref CHAR(4),
|
|
||||||
// @JsonProperty
|
|
||||||
// private String organizationType; // ref CHAR(4),
|
|
||||||
// @JsonProperty
|
|
||||||
// private String residence; // ref CHAR(4),
|
|
||||||
// @JsonProperty
|
|
||||||
// private String shortName;
|
|
||||||
// @JsonProperty
|
|
||||||
// private String fullName;
|
|
||||||
// @JsonProperty
|
|
||||||
// private String shortNameEng;
|
|
||||||
// @JsonProperty
|
|
||||||
// private String fullNameEng;
|
|
||||||
// @JsonProperty
|
|
||||||
// private String tradingCode;
|
|
||||||
// @JsonProperty
|
|
||||||
// private String clearingCode;
|
|
||||||
// @JsonProperty
|
|
||||||
// private String registrationCode;
|
|
||||||
//
|
|
||||||
// public Long getCompanyId() {
|
|
||||||
// return companyId;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setCompanyId(Long companyId) {
|
|
||||||
// this.companyId = companyId;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getClearingMemberCategory() {
|
|
||||||
// return clearingMemberCategory;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setClearingMemberCategory(String clearingMemberCategory) {
|
|
||||||
// this.clearingMemberCategory = clearingMemberCategory;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getCorporationSoleType() {
|
|
||||||
// return corporationSoleType;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setCorporationSoleType(String corporationSoleType) {
|
|
||||||
// this.corporationSoleType = corporationSoleType;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getCountryCode() {
|
|
||||||
// return countryCode;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setCountryCode(String countryCode) {
|
|
||||||
// this.countryCode = countryCode;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getDescription() {
|
|
||||||
// return description;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setDescription(String description) {
|
|
||||||
// this.description = description;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getProfessionalSign() {
|
|
||||||
// return professionalSign;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setProfessionalSign(String professionalSign) {
|
|
||||||
// this.professionalSign = professionalSign;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getLegalKind() {
|
|
||||||
// return legalKind;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setLegalKind(String legalKind) {
|
|
||||||
// this.legalKind = legalKind;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getOrganizationType() {
|
|
||||||
// return organizationType;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setOrganizationType(String organizationType) {
|
|
||||||
// this.organizationType = organizationType;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getResidence() {
|
|
||||||
// return residence;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setResidence(String residence) {
|
|
||||||
// this.residence = residence;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getShortName() {
|
|
||||||
// return shortName;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setShortName(String shortName) {
|
|
||||||
// this.shortName = shortName;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getFullName() {
|
|
||||||
// return fullName;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setFullName(String fullName) {
|
|
||||||
// this.fullName = fullName;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getShortNameEng() {
|
|
||||||
// return shortNameEng;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setShortNameEng(String shortNameEng) {
|
|
||||||
// this.shortNameEng = shortNameEng;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getFullNameEng() {
|
|
||||||
// return fullNameEng;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setFullNameEng(String fullNameEng) {
|
|
||||||
// this.fullNameEng = fullNameEng;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getTradingCode() {
|
|
||||||
// return tradingCode;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setTradingCode(String tradingCode) {
|
|
||||||
// this.tradingCode = tradingCode;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getClearingCode() {
|
|
||||||
// return clearingCode;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setClearingCode(String clearingCode) {
|
|
||||||
// this.clearingCode = clearingCode;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getRegistrationCode() {
|
|
||||||
// return registrationCode;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setRegistrationCode(String registrationCode) {
|
|
||||||
// this.registrationCode = registrationCode;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public Long getId() {
|
|
||||||
// return id;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setId(Long id) {
|
|
||||||
// this.id = id;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.company;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.clearing.classes.statics.data.profile.CompanyInfo;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@ApiModel(description = "Ответ при получении объектов CompanyInfo.")
|
|
||||||
public class CompanyBackendInfoGetAll extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Полезная нагрузка")
|
|
||||||
private CompanyInfoBackendPayload payload = new CompanyInfoBackendPayload();
|
|
||||||
|
|
||||||
private static class CompanyInfoBackendPayload {
|
|
||||||
private List<CompanyBackendInfoGetFields> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<CompanyBackendInfoGetFields> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<CompanyBackendInfoGetFields> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public CompanyInfoBackendPayload getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(CompanyInfoBackendPayload payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(Collection<CompanyInfo> companyInfos) {
|
|
||||||
var payload = this.getPayload();
|
|
||||||
for (var companyInfo : companyInfos) {
|
|
||||||
var singleItem = new CompanyBackendInfoGetFields();
|
|
||||||
singleItem.setId(companyInfo.getId());
|
|
||||||
singleItem.setCompanyId(companyInfo.getCompanyId());
|
|
||||||
singleItem.setCorporationSoleType(companyInfo.getCorporationSoleType());
|
|
||||||
singleItem.setCountryCode(companyInfo.getCountryCode());
|
|
||||||
singleItem.setDescription(companyInfo.getDescription());
|
|
||||||
singleItem.setProfessionalSign(companyInfo.getProfessionalSign());
|
|
||||||
singleItem.setLegalKind(companyInfo.getLegalKind());
|
|
||||||
singleItem.setOrganizationType(companyInfo.getOrganizationType());
|
|
||||||
singleItem.setResidence(companyInfo.getResidence());
|
|
||||||
singleItem.setShortNameEng(companyInfo.getShortNameEng());
|
|
||||||
singleItem.setFullNameEng(companyInfo.getFullNameEng());
|
|
||||||
payload.getItems().add(singleItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,176 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.company;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
|
|
||||||
public class CompanyBackendInfoGetFields {
|
|
||||||
@JsonProperty
|
|
||||||
private Long id;
|
|
||||||
@JsonProperty
|
|
||||||
private Long companyId;
|
|
||||||
@JsonProperty
|
|
||||||
private String clearingMemberCategory;
|
|
||||||
@JsonProperty
|
|
||||||
private String corporationSoleType;
|
|
||||||
@JsonProperty
|
|
||||||
private String countryCode;
|
|
||||||
@JsonProperty
|
|
||||||
private String description;
|
|
||||||
@JsonProperty
|
|
||||||
private String professionalSign;
|
|
||||||
@JsonProperty
|
|
||||||
private String legalKind;
|
|
||||||
@JsonProperty
|
|
||||||
private String organizationType;
|
|
||||||
@JsonProperty
|
|
||||||
private String residence;
|
|
||||||
@JsonProperty
|
|
||||||
private String shortName;
|
|
||||||
@JsonProperty
|
|
||||||
private String fullName;
|
|
||||||
@JsonProperty
|
|
||||||
private String shortNameEng;
|
|
||||||
@JsonProperty
|
|
||||||
private String fullNameEng;
|
|
||||||
@JsonProperty
|
|
||||||
private String tradingCode;
|
|
||||||
@JsonProperty
|
|
||||||
private String clearingCode;
|
|
||||||
@JsonProperty
|
|
||||||
private String registrationCode;
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getCompanyId() {
|
|
||||||
return companyId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCompanyId(Long companyId) {
|
|
||||||
this.companyId = companyId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getClearingMemberCategory() {
|
|
||||||
return clearingMemberCategory;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setClearingMemberCategory(String clearingMemberCategory) {
|
|
||||||
this.clearingMemberCategory = clearingMemberCategory;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCorporationSoleType() {
|
|
||||||
return corporationSoleType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCorporationSoleType(String corporationSoleType) {
|
|
||||||
this.corporationSoleType = corporationSoleType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCountryCode() {
|
|
||||||
return countryCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCountryCode(String countryCode) {
|
|
||||||
this.countryCode = countryCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDescription() {
|
|
||||||
return description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDescription(String description) {
|
|
||||||
this.description = description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getProfessionalSign() {
|
|
||||||
return professionalSign;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProfessionalSign(String professionalSign) {
|
|
||||||
this.professionalSign = professionalSign;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getLegalKind() {
|
|
||||||
return legalKind;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLegalKind(String legalKind) {
|
|
||||||
this.legalKind = legalKind;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOrganizationType() {
|
|
||||||
return organizationType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrganizationType(String organizationType) {
|
|
||||||
this.organizationType = organizationType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getResidence() {
|
|
||||||
return residence;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setResidence(String residence) {
|
|
||||||
this.residence = residence;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getShortName() {
|
|
||||||
return shortName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setShortName(String shortName) {
|
|
||||||
this.shortName = shortName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getFullName() {
|
|
||||||
return fullName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFullName(String fullName) {
|
|
||||||
this.fullName = fullName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getShortNameEng() {
|
|
||||||
return shortNameEng;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setShortNameEng(String shortNameEng) {
|
|
||||||
this.shortNameEng = shortNameEng;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getFullNameEng() {
|
|
||||||
return fullNameEng;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFullNameEng(String fullNameEng) {
|
|
||||||
this.fullNameEng = fullNameEng;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTradingCode() {
|
|
||||||
return tradingCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTradingCode(String tradingCode) {
|
|
||||||
this.tradingCode = tradingCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getClearingCode() {
|
|
||||||
return clearingCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setClearingCode(String clearingCode) {
|
|
||||||
this.clearingCode = clearingCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRegistrationCode() {
|
|
||||||
return registrationCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRegistrationCode(String registrationCode) {
|
|
||||||
this.registrationCode = registrationCode;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -34,7 +34,7 @@ public class TradingClearingRegistryBackendGetById extends BasicSpcexResponse {
|
||||||
payload.setCompanyId(tcr.getCompanyId());
|
payload.setCompanyId(tcr.getCompanyId());
|
||||||
payload.setCode(tcr.getCode());
|
payload.setCode(tcr.getCode());
|
||||||
payload.setMoneyAccountId(tcr.getMoneyAccountId());
|
payload.setMoneyAccountId(tcr.getMoneyAccountId());
|
||||||
payload.setDepoAaccountId(tcr.getDepoAaccountId());
|
payload.setDepoAccountId(tcr.getDepoAccountId());
|
||||||
payload.setTradingClearingRegistryType(tcr.getTradingClearingRegistryType());
|
payload.setTradingClearingRegistryType(tcr.getTradingClearingRegistryType());
|
||||||
payload.setTradingClearingRegistryLevel(tcr.getTradingClearingRegistryLevel());
|
payload.setTradingClearingRegistryLevel(tcr.getTradingClearingRegistryLevel());
|
||||||
payload.setTradingClearingRegistryPurpose(tcr.getTradingClearingRegistryPurpose());
|
payload.setTradingClearingRegistryPurpose(tcr.getTradingClearingRegistryPurpose());
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ public class TradingClearingRegistryBackendGetFields {
|
||||||
private Long moneyAccountId;
|
private Long moneyAccountId;
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
@ApiModelProperty(value = "Идентификатор депозитарного счета", example = "")
|
@ApiModelProperty(value = "Идентификатор депозитарного счета", example = "")
|
||||||
private Long depoAaccountId;
|
private Long depoAccountId;
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
@ApiModelProperty(value = "Код торгово-клирингового регистра", example = "")
|
@ApiModelProperty(value = "Код торгово-клирингового регистра", example = "")
|
||||||
private String tradingClearingRegistryType;
|
private String tradingClearingRegistryType;
|
||||||
|
|
@ -77,12 +77,12 @@ public class TradingClearingRegistryBackendGetFields {
|
||||||
this.moneyAccountId = moneyAccountId;
|
this.moneyAccountId = moneyAccountId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getDepoAaccountId() {
|
public Long getDepoAccountId() {
|
||||||
return depoAaccountId;
|
return depoAccountId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDepoAaccountId(Long depoAaccountId) {
|
public void setDepoAccountId(Long depoAaccountId) {
|
||||||
this.depoAaccountId = depoAaccountId;
|
this.depoAccountId = depoAaccountId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTradingClearingRegistryType() {
|
public String getTradingClearingRegistryType() {
|
||||||
|
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.schedule;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.clearing.classes.statics.data.scheduler.ClearingCalendar;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@ApiModel(description = "Ответ при получении объектов TradingCalendar.")
|
|
||||||
public class ClearingCalendarBackendGetAll extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Полезная нагрузка")
|
|
||||||
private ClearingCalendarBackendPayload payload = new ClearingCalendarBackendPayload();
|
|
||||||
|
|
||||||
public ClearingCalendarBackendPayload getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(ClearingCalendarBackendPayload payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(Collection<ClearingCalendar> tradingCalendars) {
|
|
||||||
var payload = this.getPayload();
|
|
||||||
for (var tradingCalendar : tradingCalendars) {
|
|
||||||
var singleItem = new TradingCalendarBackendGetFields();
|
|
||||||
singleItem.setId(tradingCalendar.getId());
|
|
||||||
singleItem.setClearingDate(tradingCalendar.getClearingDate());
|
|
||||||
singleItem.setCompanyId(tradingCalendar.getCompanyId());
|
|
||||||
singleItem.setDayStatus(tradingCalendar.getDayStatus());
|
|
||||||
singleItem.setCreated(tradingCalendar.getCreated());
|
|
||||||
singleItem.setUpdated(tradingCalendar.getUpdated());
|
|
||||||
payload.getItems().add(singleItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static class ClearingCalendarBackendPayload {
|
|
||||||
private List<TradingCalendarBackendGetFields> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<TradingCalendarBackendGetFields> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<TradingCalendarBackendGetFields> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.schedule;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.clearing.classes.statics.data.scheduler.Launcher;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@ApiModel(description = "Ответ при получении объектов TaskRunner.")
|
|
||||||
public class LauncherBackendGetAll extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Полезная нагрузка")
|
|
||||||
private LauncherBackendPayload payload = new LauncherBackendPayload();
|
|
||||||
|
|
||||||
private static class LauncherBackendPayload {
|
|
||||||
private List<LauncherBackendGetFields> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<LauncherBackendGetFields> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<LauncherBackendGetFields> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public LauncherBackendPayload getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(LauncherBackendPayload payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(Collection<Launcher> taskRunners) {
|
|
||||||
var payload = this.getPayload();
|
|
||||||
for (var taskRunner : taskRunners) {
|
|
||||||
var singleItem = new LauncherBackendGetFields();
|
|
||||||
singleItem.setId(taskRunner.getId());
|
|
||||||
singleItem.setSenderId(taskRunner.getSenderId());
|
|
||||||
singleItem.setTask(taskRunner.getTask());
|
|
||||||
singleItem.setCreated(taskRunner.getCreated());
|
|
||||||
singleItem.setUpdated(taskRunner.getUpdated());
|
|
||||||
payload.getItems().add(singleItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.schedule;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantSerializer;
|
|
||||||
|
|
||||||
import java.time.Instant;
|
|
||||||
|
|
||||||
public class LauncherBackendGetFields {
|
|
||||||
@JsonProperty
|
|
||||||
private Long id;
|
|
||||||
@JsonProperty
|
|
||||||
private Long senderId;
|
|
||||||
@JsonProperty
|
|
||||||
private String task;
|
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
|
||||||
@JsonProperty
|
|
||||||
private Instant created;
|
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
|
||||||
@JsonProperty
|
|
||||||
private Instant updated;
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getSenderId() {
|
|
||||||
return senderId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSenderId(Long senderId) {
|
|
||||||
this.senderId = senderId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTask() {
|
|
||||||
return task;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTask(String task) {
|
|
||||||
this.task = task;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getCreated() {
|
|
||||||
return created;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCreated(Instant created) {
|
|
||||||
this.created = created;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getUpdated() {
|
|
||||||
return updated;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUpdated(Instant updated) {
|
|
||||||
this.updated = updated;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.schedule;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.clearing.classes.statics.data.scheduler.PlannerAllToday;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@ApiModel(description = "Ответ при получении объектов SchedulerAllToday.")
|
|
||||||
public class SchedulerAllTodayBackendGetAll extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Полезная нагрузка")
|
|
||||||
private SchedulerAllTodayBackendPayload payload = new SchedulerAllTodayBackendPayload();
|
|
||||||
|
|
||||||
public SchedulerAllTodayBackendPayload getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(SchedulerAllTodayBackendPayload payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(Collection<PlannerAllToday> schedulersAllToday) {
|
|
||||||
var payload = this.getPayload();
|
|
||||||
for (var schedulerAllToday : schedulersAllToday) {
|
|
||||||
var singleItem = new SchedulerAllTodayBackendGetFields();
|
|
||||||
singleItem.setId(schedulerAllToday.getId());
|
|
||||||
singleItem.setTask(schedulerAllToday.getTask());
|
|
||||||
singleItem.setTaskTime(schedulerAllToday.getTaskTime());
|
|
||||||
singleItem.setClearingDate(schedulerAllToday.getClearingDate());
|
|
||||||
singleItem.setMarket(schedulerAllToday.getMarket());
|
|
||||||
singleItem.setTaskStatus(schedulerAllToday.getTaskStatus());
|
|
||||||
singleItem.setSecurityId(schedulerAllToday.getSecurityId());
|
|
||||||
singleItem.setSource(schedulerAllToday.getParent());
|
|
||||||
singleItem.setOrigId(schedulerAllToday.getParentId());
|
|
||||||
payload.getItems().add(singleItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static class SchedulerAllTodayBackendPayload {
|
|
||||||
private List<SchedulerAllTodayBackendGetFields> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<SchedulerAllTodayBackendGetFields> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<SchedulerAllTodayBackendGetFields> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,104 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.schedule;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalTimeSerializer;
|
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.LocalTime;
|
|
||||||
|
|
||||||
public class SchedulerAllTodayBackendGetFields {
|
|
||||||
@JsonProperty
|
|
||||||
private Long id;
|
|
||||||
@JsonProperty
|
|
||||||
private String task;
|
|
||||||
@JsonProperty
|
|
||||||
@JsonSerialize(using = LocalTimeSerializer.class)
|
|
||||||
private LocalTime taskTime;
|
|
||||||
@JsonProperty
|
|
||||||
@JsonSerialize(using = LocalDateSerializer.class)
|
|
||||||
private LocalDate clearingDate;
|
|
||||||
@JsonProperty
|
|
||||||
private String market;
|
|
||||||
@JsonProperty
|
|
||||||
private String taskStatus;
|
|
||||||
@JsonProperty
|
|
||||||
private Long securityId;
|
|
||||||
@JsonProperty
|
|
||||||
private String source;
|
|
||||||
@JsonProperty
|
|
||||||
private Long origId;
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTask() {
|
|
||||||
return task;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTask(String task) {
|
|
||||||
this.task = task;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalTime getTaskTime() {
|
|
||||||
return taskTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTaskTime(LocalTime taskTime) {
|
|
||||||
this.taskTime = taskTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getClearingDate() {
|
|
||||||
return clearingDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setClearingDate(LocalDate clearingDate) {
|
|
||||||
this.clearingDate = clearingDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMarket() {
|
|
||||||
return market;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMarket(String market) {
|
|
||||||
this.market = market;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTaskStatus() {
|
|
||||||
return taskStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTaskStatus(String taskStatus) {
|
|
||||||
this.taskStatus = taskStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getSecurityId() {
|
|
||||||
return securityId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSecurityId(Long securityId) {
|
|
||||||
this.securityId = securityId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSource() {
|
|
||||||
return source;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSource(String source) {
|
|
||||||
this.source = source;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getOrigId() {
|
|
||||||
return origId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrigId(Long origId) {
|
|
||||||
this.origId = origId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.schedule;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.clearing.classes.statics.data.scheduler.Planner;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@ApiModel(description = "Ответ при получении объектов Scheduler.")
|
|
||||||
public class SchedulerBackendGetAll extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Полезная нагрузка")
|
|
||||||
private SchedulerBackendPayload payload = new SchedulerBackendPayload();
|
|
||||||
|
|
||||||
private static class SchedulerBackendPayload {
|
|
||||||
private List<SchedulerBackendGetFields> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<SchedulerBackendGetFields> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<SchedulerBackendGetFields> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public SchedulerBackendPayload getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(SchedulerBackendPayload payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(Collection<Planner> schedulers) {
|
|
||||||
var payload = this.getPayload();
|
|
||||||
for (var scheduler : schedulers) {
|
|
||||||
var singleItem = new SchedulerBackendGetFields();
|
|
||||||
singleItem.setId(scheduler.getId());
|
|
||||||
singleItem.setTask(scheduler.getTask());
|
|
||||||
singleItem.setTaskTime(scheduler.getTaskTime());
|
|
||||||
singleItem.setClearingDate(scheduler.getClearingDate());
|
|
||||||
singleItem.setMarket(scheduler.getMarket());
|
|
||||||
singleItem.setTaskStatus(scheduler.getTaskStatus());
|
|
||||||
singleItem.setSecurityId(scheduler.getSecurityId());
|
|
||||||
singleItem.setCreated(scheduler.getCreated());
|
|
||||||
singleItem.setUpdated(scheduler.getUpdated());
|
|
||||||
payload.getItems().add(singleItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,108 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.schedule;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantSerializer;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalTimeSerializer;
|
|
||||||
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.LocalTime;
|
|
||||||
|
|
||||||
public class SchedulerBackendGetFields {
|
|
||||||
@JsonProperty
|
|
||||||
private Long id;
|
|
||||||
@JsonProperty
|
|
||||||
private String task;
|
|
||||||
@JsonProperty
|
|
||||||
@JsonSerialize(using = LocalTimeSerializer.class)
|
|
||||||
private LocalTime taskTime;
|
|
||||||
@JsonProperty
|
|
||||||
@JsonSerialize(using = LocalDateSerializer.class)
|
|
||||||
private LocalDate clearingDate;
|
|
||||||
@JsonProperty
|
|
||||||
private String market;
|
|
||||||
@JsonProperty
|
|
||||||
private String taskStatus;
|
|
||||||
@JsonProperty
|
|
||||||
private Long securityId;
|
|
||||||
@JsonProperty
|
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
|
||||||
private Instant created;
|
|
||||||
@JsonProperty
|
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
|
||||||
private Instant updated;
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTask() {
|
|
||||||
return task;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTask(String task) {
|
|
||||||
this.task = task;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalTime getTaskTime() {
|
|
||||||
return taskTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTaskTime(LocalTime taskTime) {
|
|
||||||
this.taskTime = taskTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getClearingDate() {
|
|
||||||
return clearingDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setClearingDate(LocalDate clearingDate) {
|
|
||||||
this.clearingDate = clearingDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMarket() {
|
|
||||||
return market;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMarket(String market) {
|
|
||||||
this.market = market;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTaskStatus() {
|
|
||||||
return taskStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTaskStatus(String taskStatus) {
|
|
||||||
this.taskStatus = taskStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getSecurityId() {
|
|
||||||
return securityId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSecurityId(Long securityId) {
|
|
||||||
this.securityId = securityId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getCreated() {
|
|
||||||
return created;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCreated(Instant created) {
|
|
||||||
this.created = created;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getUpdated() {
|
|
||||||
return updated;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUpdated(Instant updated) {
|
|
||||||
this.updated = updated;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.schedule;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.clearing.classes.statics.data.scheduler.PlannerTemplate;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@ApiModel(description = "Ответ при получении объектов Timetable.")
|
|
||||||
public class TimetableBackendGetAll extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Полезная нагрузка")
|
|
||||||
private TimetableBackendPayload payload = new TimetableBackendPayload();
|
|
||||||
|
|
||||||
private static class TimetableBackendPayload {
|
|
||||||
private List<TimetableBackendGetFields> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<TimetableBackendGetFields> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<TimetableBackendGetFields> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public TimetableBackendPayload getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(TimetableBackendPayload payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(Collection<PlannerTemplate> timeTables) {
|
|
||||||
var payload = this.getPayload();
|
|
||||||
for (var timetable : timeTables) {
|
|
||||||
var singleItem = new TimetableBackendGetFields();
|
|
||||||
singleItem.setId(timetable.getId());
|
|
||||||
singleItem.setTask(timetable.getTask());
|
|
||||||
singleItem.setTaskTime(timetable.getTaskTime());
|
|
||||||
singleItem.setTaskStatus(timetable.getTaskStatus());
|
|
||||||
singleItem.setCreated(timetable.getCreated());
|
|
||||||
singleItem.setUpdated(timetable.getUpdated());
|
|
||||||
payload.getItems().add(singleItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,75 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.schedule;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantSerializer;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalTimeSerializer;
|
|
||||||
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.time.LocalTime;
|
|
||||||
|
|
||||||
public class TimetableBackendGetFields {
|
|
||||||
@JsonProperty
|
|
||||||
private Long id;
|
|
||||||
@JsonProperty
|
|
||||||
private String task;
|
|
||||||
@JsonProperty
|
|
||||||
@JsonSerialize(using = LocalTimeSerializer.class)
|
|
||||||
private LocalTime taskTime;
|
|
||||||
@JsonProperty
|
|
||||||
private String taskStatus;
|
|
||||||
@JsonProperty
|
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
|
||||||
private Instant created;
|
|
||||||
@JsonProperty
|
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
|
||||||
private Instant updated;
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTask() {
|
|
||||||
return task;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTask(String task) {
|
|
||||||
this.task = task;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalTime getTaskTime() {
|
|
||||||
return taskTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTaskTime(LocalTime taskTime) {
|
|
||||||
this.taskTime = taskTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTaskStatus() {
|
|
||||||
return taskStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTaskStatus(String taskStatus) {
|
|
||||||
this.taskStatus = taskStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getCreated() {
|
|
||||||
return created;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCreated(Instant created) {
|
|
||||||
this.created = created;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getUpdated() {
|
|
||||||
return updated;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUpdated(Instant updated) {
|
|
||||||
this.updated = updated;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,75 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.schedule;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantSerializer;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
|
|
||||||
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
|
|
||||||
public class TradingCalendarBackendGetFields {
|
|
||||||
@JsonProperty
|
|
||||||
private Long id;
|
|
||||||
@JsonProperty
|
|
||||||
@JsonSerialize(using = LocalDateSerializer.class)
|
|
||||||
private LocalDate clearingDate;
|
|
||||||
@JsonProperty
|
|
||||||
private Long companyId;
|
|
||||||
@JsonProperty
|
|
||||||
private String dayStatus;
|
|
||||||
@JsonProperty
|
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
|
||||||
private Instant created;
|
|
||||||
@JsonProperty
|
|
||||||
@JsonSerialize(using = InstantSerializer.class)
|
|
||||||
private Instant updated;
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getClearingDate() {
|
|
||||||
return clearingDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setClearingDate(LocalDate clearingDate) {
|
|
||||||
this.clearingDate = clearingDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getCompanyId() {
|
|
||||||
return companyId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCompanyId(Long companyId) {
|
|
||||||
this.companyId = companyId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDayStatus() {
|
|
||||||
return dayStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDayStatus(String dayStatus) {
|
|
||||||
this.dayStatus = dayStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getCreated() {
|
|
||||||
return created;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCreated(Instant created) {
|
|
||||||
this.created = created;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Instant getUpdated() {
|
|
||||||
return updated;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUpdated(Instant updated) {
|
|
||||||
this.updated = updated;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.securities;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@ApiModel(description = "Ответ при получении объектов MoneyMarketSecurity.")
|
|
||||||
public class MoneyMarketSecurityBackendGetAll extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Полезная нагрузка")
|
|
||||||
private MoneyMarketSecurityBackendPayload payload = new MoneyMarketSecurityBackendPayload();
|
|
||||||
|
|
||||||
private static class MoneyMarketSecurityBackendPayload {
|
|
||||||
private List<Map<String, Object>> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<Map<String, Object>> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<Map<String, Object>> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public MoneyMarketSecurityBackendPayload getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(MoneyMarketSecurityBackendPayload payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(Collection<Map<String, Object>> moneyMarketSecurities) {
|
|
||||||
var payload = this.getPayload();
|
|
||||||
for (Map<String, Object> moneyMarketSecurity : moneyMarketSecurities) {
|
|
||||||
payload.getItems().add(moneyMarketSecurity);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.securities;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.clearing.classes.statics.data.misc.MoneyMarketSecurity;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
@ApiModel(description = "Ответ при получении объектов MoneyMarketSecurity.")
|
|
||||||
public class MoneyMarketSecurityBackendGetAllOld extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Полезная нагрузка")
|
|
||||||
private MoneyMarketSecurityBackendPayload payload = new MoneyMarketSecurityBackendPayload();
|
|
||||||
|
|
||||||
public MoneyMarketSecurityBackendPayload getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(MoneyMarketSecurityBackendPayload payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(Collection<MoneyMarketSecurity> moneyMarketSecurities) {
|
|
||||||
var payload = this.getPayload();
|
|
||||||
for (MoneyMarketSecurity moneyMarketSecurity : moneyMarketSecurities) {
|
|
||||||
var singleItem = new MoneyMarketSecurityBackendGetFields();
|
|
||||||
singleItem.setId(moneyMarketSecurity.getId());
|
|
||||||
singleItem.setSecurityId(moneyMarketSecurity.getSecurityId());
|
|
||||||
singleItem.setDescription(moneyMarketSecurity.getDescription());
|
|
||||||
singleItem.setStartDate(moneyMarketSecurity.getStartDate());
|
|
||||||
singleItem.setEndDate(moneyMarketSecurity.getEndDate());
|
|
||||||
singleItem.setNominalValue(moneyMarketSecurity.getNominalValue());
|
|
||||||
singleItem.setNominalCurrency(moneyMarketSecurity.getNominalCurrency());
|
|
||||||
singleItem.setInstrumentType(moneyMarketSecurity.getInstrumentType());
|
|
||||||
singleItem.setFullName(moneyMarketSecurity.getFullName());
|
|
||||||
singleItem.setSecuritySymbol(moneyMarketSecurity.getSecuritySymbol());
|
|
||||||
singleItem.setTermType(moneyMarketSecurity.getTermType());
|
|
||||||
payload.getItems().add(singleItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static class MoneyMarketSecurityBackendPayload {
|
|
||||||
private List<MoneyMarketSecurityBackendGetFields> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<MoneyMarketSecurityBackendGetFields> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<MoneyMarketSecurityBackendGetFields> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,123 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.securities;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
|
|
||||||
public class MoneyMarketSecurityBackendGetFields {
|
|
||||||
@JsonProperty
|
|
||||||
private Long id;
|
|
||||||
@JsonProperty
|
|
||||||
private Long securityId;// (linked to security)
|
|
||||||
@JsonProperty
|
|
||||||
private String description;
|
|
||||||
@JsonSerialize(using = LocalDateSerializer.class)
|
|
||||||
@JsonProperty
|
|
||||||
private LocalDate startDate;
|
|
||||||
@JsonSerialize(using = LocalDateSerializer.class)
|
|
||||||
@JsonProperty
|
|
||||||
private LocalDate endDate;
|
|
||||||
@JsonProperty
|
|
||||||
private BigDecimal nominalValue;
|
|
||||||
@JsonProperty
|
|
||||||
private String nominalCurrency; // (linked to currencyCode)
|
|
||||||
@JsonProperty
|
|
||||||
private String instrumentType; // (linked to instrumentType)
|
|
||||||
@JsonProperty
|
|
||||||
private String fullName;
|
|
||||||
@JsonProperty
|
|
||||||
private String securitySymbol;
|
|
||||||
@JsonProperty
|
|
||||||
private String termType;
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getSecurityId() {
|
|
||||||
return securityId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSecurityId(Long securityId) {
|
|
||||||
this.securityId = securityId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDescription() {
|
|
||||||
return description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDescription(String description) {
|
|
||||||
this.description = description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getStartDate() {
|
|
||||||
return startDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStartDate(LocalDate startDate) {
|
|
||||||
this.startDate = startDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getEndDate() {
|
|
||||||
return endDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEndDate(LocalDate endDate) {
|
|
||||||
this.endDate = endDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getNominalValue() {
|
|
||||||
return nominalValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setNominalValue(BigDecimal nominalValue) {
|
|
||||||
this.nominalValue = nominalValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getNominalCurrency() {
|
|
||||||
return nominalCurrency;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setNominalCurrency(String nominalCurrency) {
|
|
||||||
this.nominalCurrency = nominalCurrency;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getInstrumentType() {
|
|
||||||
return instrumentType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setInstrumentType(String instrumentType) {
|
|
||||||
this.instrumentType = instrumentType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getFullName() {
|
|
||||||
return fullName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFullName(String fullName) {
|
|
||||||
this.fullName = fullName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSecuritySymbol() {
|
|
||||||
return securitySymbol;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSecuritySymbol(String securitySymbol) {
|
|
||||||
this.securitySymbol = securitySymbol;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTermType() {
|
|
||||||
return termType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTermType(String termType) {
|
|
||||||
this.termType = termType;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.user;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.clearing.classes.statics.data.user.UserRoleSession;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@ApiModel(description = "Ответ при получении объектов UserRoleSession.")
|
|
||||||
public class UserRoleSessionBackendGetAll extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Полезная нагрузка")
|
|
||||||
private UserRoleSessionBackendPayload payload = new UserRoleSessionBackendPayload();
|
|
||||||
|
|
||||||
private static class UserRoleSessionBackendPayload {
|
|
||||||
private List<UserRoleSessionsBackendGetFields> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<UserRoleSessionsBackendGetFields> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<UserRoleSessionsBackendGetFields> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public UserRoleSessionBackendPayload getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(UserRoleSessionBackendPayload payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(Collection<UserRoleSession> userRoleSessions) {
|
|
||||||
var payload = this.getPayload();
|
|
||||||
for (var userRoleSession : userRoleSessions) {
|
|
||||||
var singleItem = new UserRoleSessionsBackendGetFields();
|
|
||||||
singleItem.setId(userRoleSession.getId());
|
|
||||||
singleItem.setUserId(userRoleSession.getUserId());
|
|
||||||
singleItem.setUserRole(userRoleSession.getUserRole());
|
|
||||||
singleItem.setCompanyId(userRoleSession.getCompanyId());
|
|
||||||
singleItem.setStatus(userRoleSession.getStatus());
|
|
||||||
payload.getItems().add(singleItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.user;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
|
|
||||||
public class UserRoleSessionsBackendGetFields {
|
|
||||||
@JsonProperty
|
|
||||||
private Long id;
|
|
||||||
@JsonProperty
|
|
||||||
private Long userId;
|
|
||||||
@JsonProperty
|
|
||||||
private String userRole;
|
|
||||||
@JsonProperty
|
|
||||||
private Long companyId;
|
|
||||||
@JsonProperty
|
|
||||||
private String status;
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getUserId() {
|
|
||||||
return userId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUserId(Long userId) {
|
|
||||||
this.userId = userId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUserRole() {
|
|
||||||
return userRole;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUserRole(String userRole) {
|
|
||||||
this.userRole = userRole;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getCompanyId() {
|
|
||||||
return companyId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCompanyId(Long companyId) {
|
|
||||||
this.companyId = companyId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getStatus() {
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStatus(String status) {
|
|
||||||
this.status = status;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.user;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.clearing.classes.statics.data.user.UserSettings;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@ApiModel(description = "Ответ при получении объектов UserSetting.")
|
|
||||||
public class UserSettingsBackendGetAll extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Полезная нагрузка")
|
|
||||||
private UserSettingBackendPayload payload = new UserSettingBackendPayload();
|
|
||||||
|
|
||||||
private static class UserSettingBackendPayload {
|
|
||||||
private List<UserSettingsBackendGetFields> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<UserSettingsBackendGetFields> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<UserSettingsBackendGetFields> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public UserSettingBackendPayload getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(UserSettingBackendPayload payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(Collection<UserSettings> userSettings) {
|
|
||||||
var payload = this.getPayload();
|
|
||||||
for (var userSetting : userSettings) {
|
|
||||||
var singleItem = new UserSettingsBackendGetFields();
|
|
||||||
singleItem.setId(userSetting.getId());
|
|
||||||
singleItem.setUserId(userSetting.getUserId());
|
|
||||||
singleItem.setVersion(userSetting.getVersion());
|
|
||||||
singleItem.setJson(userSetting.getJson());
|
|
||||||
payload.getItems().add(singleItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.user;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
|
|
||||||
public class UserSettingsBackendGetFields {
|
|
||||||
@JsonProperty
|
|
||||||
private Long id;
|
|
||||||
@JsonProperty
|
|
||||||
private Long userId;
|
|
||||||
@JsonProperty
|
|
||||||
private String version;
|
|
||||||
@JsonProperty
|
|
||||||
private String json;
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getUserId() {
|
|
||||||
return userId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUserId(Long userId) {
|
|
||||||
this.userId = userId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getVersion() {
|
|
||||||
return version;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setVersion(String version) {
|
|
||||||
this.version = version;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getJson() {
|
|
||||||
return json;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setJson(String json) {
|
|
||||||
this.json = json;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.utilities;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import ru.clearing.classes.statics.data.misc.KeyRate;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@ApiModel(description = "Ответ при получении объектов KeyRate.")
|
|
||||||
public class KeyRateBackendGetAll extends BasicSpcexResponse {
|
|
||||||
|
|
||||||
@JsonProperty
|
|
||||||
@ApiModelProperty(value = "Полезная нагрузка")
|
|
||||||
private KeyRateBackendPayload payload = new KeyRateBackendPayload();
|
|
||||||
|
|
||||||
private static class KeyRateBackendPayload {
|
|
||||||
private List<KeyRateBackendGetFields> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<KeyRateBackendGetFields> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItems(List<KeyRateBackendGetFields> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public KeyRateBackendPayload getPayload() {
|
|
||||||
return payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPayload(KeyRateBackendPayload payload) {
|
|
||||||
this.payload = payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fromEntity(Collection<KeyRate> keyRates) {
|
|
||||||
var payload = this.getPayload();
|
|
||||||
for (var keyRate : keyRates) {
|
|
||||||
var singleItem = new KeyRateBackendGetFields();
|
|
||||||
singleItem.setId(keyRate.getId());
|
|
||||||
singleItem.setKeyRate(keyRate.getRate());
|
|
||||||
singleItem.setStartDate(keyRate.getStartDate());
|
|
||||||
singleItem.setEndDate(keyRate.getEndDate());
|
|
||||||
singleItem.setDocument(keyRate.getDocument());
|
|
||||||
singleItem.setWorkflowStatus(keyRate.getWorkflowStatus());
|
|
||||||
payload.getItems().add(singleItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,73 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.response.entity.utilities;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
|
|
||||||
public class KeyRateBackendGetFields {
|
|
||||||
@JsonProperty
|
|
||||||
private Long id;
|
|
||||||
@JsonProperty
|
|
||||||
private BigDecimal keyRate;
|
|
||||||
@JsonSerialize(using = LocalDateSerializer.class)
|
|
||||||
@JsonProperty
|
|
||||||
private LocalDate startDate;
|
|
||||||
@JsonSerialize(using = LocalDateSerializer.class)
|
|
||||||
@JsonProperty
|
|
||||||
private LocalDate endDate;
|
|
||||||
@JsonProperty
|
|
||||||
private String document;
|
|
||||||
@JsonProperty
|
|
||||||
private String workflowStatus;
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getKeyRate() {
|
|
||||||
return keyRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setKeyRate(BigDecimal keyRate) {
|
|
||||||
this.keyRate = keyRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getStartDate() {
|
|
||||||
return startDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStartDate(LocalDate startDate) {
|
|
||||||
this.startDate = startDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getEndDate() {
|
|
||||||
return endDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEndDate(LocalDate endDate) {
|
|
||||||
this.endDate = endDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDocument() {
|
|
||||||
return document;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDocument(String document) {
|
|
||||||
this.document = document;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getWorkflowStatus() {
|
|
||||||
return workflowStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setWorkflowStatus(String workflowStatus) {
|
|
||||||
this.workflowStatus = workflowStatus;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -22,7 +22,7 @@ public class DefaultController implements InitializingBean {
|
||||||
|
|
||||||
@ApiOperation(value = "Test backend-api availability.")
|
@ApiOperation(value = "Test backend-api availability.")
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = String.class)})
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = String.class)})
|
||||||
@RequestMapping(method = RequestMethod.GET, path = "/anonymous/method1", produces = MediaType.TEXT_PLAIN_VALUE)
|
@RequestMapping(method = RequestMethod.GET, path = "/system/ping", produces = MediaType.TEXT_PLAIN_VALUE)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public String processGet() {
|
public String processGet() {
|
||||||
log.info("Call test method for backend-api controller");
|
log.info("Call test method for backend-api controller");
|
||||||
|
|
@ -31,7 +31,7 @@ public class DefaultController implements InitializingBean {
|
||||||
|
|
||||||
@ApiOperation(value = "Test backend-api availability (for authorized access). Available for anonymous, if authorization-disabled=true.")
|
@ApiOperation(value = "Test backend-api availability (for authorized access). Available for anonymous, if authorization-disabled=true.")
|
||||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK")})
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK")})
|
||||||
@RequestMapping(method = RequestMethod.GET, path = "/users/method2", produces = MediaType.TEXT_PLAIN_VALUE)
|
@RequestMapping(method = RequestMethod.GET, path = "/system/ping/authorized", produces = MediaType.TEXT_PLAIN_VALUE)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public String processProtectedGet() {
|
public String processProtectedGet() {
|
||||||
log.info("controller method2");
|
log.info("controller method2");
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<meta version="3.5.0.4">
|
<meta version="3.5.0.5">
|
||||||
<enums>
|
<enums>
|
||||||
<allowed id="1" code="ALWD" name="Разрешено"/>
|
<allowed id="1" code="ALWD" name="Разрешено"/>
|
||||||
<allowed id="2" code="DEND" name="Запрещено"/>
|
<allowed id="2" code="DEND" name="Запрещено"/>
|
||||||
|
|
@ -62,15 +62,16 @@
|
||||||
<documentType id="21" code="LICT" name="Документ о лицензии по управлению ЦБ" shortname="Управление ценными бумагами"/>
|
<documentType id="21" code="LICT" name="Документ о лицензии по управлению ЦБ" shortname="Управление ценными бумагами"/>
|
||||||
<documentType id="22" code="LICС" name="Документ о лицензии по брокерской деятельности ПФИ (производных финансовых инструментов)" shortname="Брокерская деятельность ПФИ"/>
|
<documentType id="22" code="LICС" name="Документ о лицензии по брокерской деятельности ПФИ (производных финансовых инструментов)" shortname="Брокерская деятельность ПФИ"/>
|
||||||
<documentType id="23" code="LICF" name="Документ о лицензии форекс-дилера" shortname="Деятельность форекс-дилера"/>
|
<documentType id="23" code="LICF" name="Документ о лицензии форекс-дилера" shortname="Деятельность форекс-дилера"/>
|
||||||
<companySymbol id="1" code="OCVD" name="Общероссийский классификатор видов экономической деятельности" shortname="ОКВЭД"/>
|
<documentType id="24" code="LICM" name="Документ о лицензии на управление инвестиционными фондами, паевыми инвестиционными фондами, негосударственными пенсионными фондами" shortname="Управление фондами"/>
|
||||||
<companySymbol id="2" code="INN" name="Индивидуальный налоговый номер" shortname="ИНН"/>
|
<companySymbol id="1" code="INN" name="Индивидуальный налоговый номер" shortname="ИНН"/>
|
||||||
<companySymbol id="3" code="CPP" name="Код причины постановки" shortname="КПП"/>
|
<companySymbol id="2" code="CIO" name="Код иностранной организации" shortname="КИО"/>
|
||||||
<companySymbol id="4" code="OCPO" name="Общероссийский классификатор предприятий и организаций" shortname="ОКПО"/>
|
<companySymbol id="3" code="OCVD" name="Общероссийский классификатор видов экономической деятельности" shortname="ОКВЭД"/>
|
||||||
<companySymbol id="5" code="LICP" name="Номер лицензии профессионального участника по брокерской деятельности" shortname="Профессиональная деятельность на рынке ценных бумаг"/>
|
<companySymbol id="4" code="CPP" name="Код причины постановки" shortname="КПП"/>
|
||||||
<companySymbol id="6" code="LICB" name="Номер банковской лицензии" shortname="Банковская деятельность"/>
|
<companySymbol id="5" code="OCPO" name="Общероссийский классификатор предприятий и организаций" shortname="ОКПО"/>
|
||||||
<companySymbol id="7" code="BIC" name="Банковский идентификационный код" shortname="БИК"/>
|
<companySymbol id="6" code="LICP" name="Номер лицензии профессионального участника по брокерской деятельности" shortname="Профессиональная деятельность на рынке ценных бумаг"/>
|
||||||
<companySymbol id="8" code="OGRN" name="Основной государственный регистрационный номер" shortname="ОГРН"/>
|
<companySymbol id="7" code="LICB" name="Номер банковской лицензии" shortname="Банковская деятельность"/>
|
||||||
<companySymbol id="9" code="CIO" name="Код иностранной организации" shortname="КИО"/>
|
<companySymbol id="8" code="BIC" name="Банковский идентификационный код" shortname="БИК"/>
|
||||||
|
<companySymbol id="9" code="OGRN" name="Основной государственный регистрационный номер" shortname="ОГРН"/>
|
||||||
<companySymbol id="10" code="LICD" name="Номер дилерской лицензии" shortname="Дилерская деятельность"/>
|
<companySymbol id="10" code="LICD" name="Номер дилерской лицензии" shortname="Дилерская деятельность"/>
|
||||||
<companySymbol id="11" code="LICT" name="Номер лицензии по управлению ЦБ" shortname="Управление ценными бумагами"/>
|
<companySymbol id="11" code="LICT" name="Номер лицензии по управлению ЦБ" shortname="Управление ценными бумагами"/>
|
||||||
<companySymbol id="12" code="LICС" name="Номер лицензии по брокерской деятельности ПФИ (производных финансовых инструментов)" shortname="Брокерская деятельность ПФИ"/>
|
<companySymbol id="12" code="LICС" name="Номер лицензии по брокерской деятельности ПФИ (производных финансовых инструментов)" shortname="Брокерская деятельность ПФИ"/>
|
||||||
|
|
@ -87,6 +88,7 @@
|
||||||
<companyRole id="4" code="SETH" name="Расчетный центр"/>
|
<companyRole id="4" code="SETH" name="Расчетный центр"/>
|
||||||
<companyRole id="5" code="DEPS" name="Депозитарий"/>
|
<companyRole id="5" code="DEPS" name="Депозитарий"/>
|
||||||
<companyRole id="6" code="CLRM" name="Участник клиринга"/>
|
<companyRole id="6" code="CLRM" name="Участник клиринга"/>
|
||||||
|
<companyRole id="7" code="ODEP" name="Участник расчетов по открытым депозитным счетам на секции МКР"/>
|
||||||
<currencyCode id="643" code="RUB" name="Российский рубль"/>
|
<currencyCode id="643" code="RUB" name="Российский рубль"/>
|
||||||
<instrumentType id="1" code="RATE" name="Инструмент Денежного рынка"/>
|
<instrumentType id="1" code="RATE" name="Инструмент Денежного рынка"/>
|
||||||
<instrumentType id="2" code="CRNC" name="Валюта"/>
|
<instrumentType id="2" code="CRNC" name="Валюта"/>
|
||||||
|
|
@ -168,6 +170,8 @@
|
||||||
<registryStatus id="5" code="PROC" name="К клирингу"/>
|
<registryStatus id="5" code="PROC" name="К клирингу"/>
|
||||||
<registryStatus id="6" code="LIQU" name="Ликвидационный неттинг"/>
|
<registryStatus id="6" code="LIQU" name="Ликвидационный неттинг"/>
|
||||||
<registryStatus id="7" code="POOL" name="В клиринге"/>
|
<registryStatus id="7" code="POOL" name="В клиринге"/>
|
||||||
|
<registryStatus id="8" code="NACK" name="Не допущено"/>
|
||||||
|
<registryStatus id="9" code="NACC" name="Не допущено у контрагента"/>
|
||||||
<balanceDimension id="1" code="PICS" name="Штуки"/>
|
<balanceDimension id="1" code="PICS" name="Штуки"/>
|
||||||
<balanceDimension id="2" code="LOTS" name="Лоты"/>
|
<balanceDimension id="2" code="LOTS" name="Лоты"/>
|
||||||
<balanceDimension id="3" code="MONY" name="Деньги"/>
|
<balanceDimension id="3" code="MONY" name="Деньги"/>
|
||||||
|
|
@ -198,7 +202,7 @@
|
||||||
<task id="9" code="GVER" name="Запуск сверки"/>
|
<task id="9" code="GVER" name="Запуск сверки"/>
|
||||||
<task id="12" code="CMBA" name="Формирование распоряжения на перевод с ТБС"/>
|
<task id="12" code="CMBA" name="Формирование распоряжения на перевод с ТБС"/>
|
||||||
<task id="14" code="GCMR" name="Формирование реестра участников клиринга"/>
|
<task id="14" code="GCMR" name="Формирование реестра участников клиринга"/>
|
||||||
<task id="15" code="GBRR" name="Формирование реестра остатков денежных средств"/>
|
<task id="15" code="GBRR" name="Формирование реестра остатков денежных средств "/>
|
||||||
<task id="16" code="GORR" name="Формирование реестра распоряжений, направленных расчетной организации"/>
|
<task id="16" code="GORR" name="Формирование реестра распоряжений, направленных расчетной организации"/>
|
||||||
<task id="17" code="GREP" name="Формирование отчетности"/>
|
<task id="17" code="GREP" name="Формирование отчетности"/>
|
||||||
<task id="21" code="GSRR" name="Формирование реестра отправленных отчетов"/>
|
<task id="21" code="GSRR" name="Формирование реестра отправленных отчетов"/>
|
||||||
|
|
@ -247,23 +251,8 @@
|
||||||
<side id="2" code="SELL" name="Продажа"/>
|
<side id="2" code="SELL" name="Продажа"/>
|
||||||
<marketCode id="1" code="BMIC" name="СПВБ: ОФЗ-ИН - Аукцион БР"/>
|
<marketCode id="1" code="BMIC" name="СПВБ: ОФЗ-ИН - Аукцион БР"/>
|
||||||
|
|
||||||
<courierType id="1" code="STHS" name="ЭДО с Расчетной Организацией"/>
|
<marketType id="1" code="PRMR" name="Первичное размещение"/>
|
||||||
<transactionStatus id="1" code="STLD" name="Рассчитан"/>
|
<marketType id="2" code="SCND" name="Вторичные торги"/>
|
||||||
<transactionStatus id="2" code="SENT" name="Отправлен в ПРЦ"/>
|
|
||||||
<transactionStatus id="3" code="OK" name="Обработан ПРЦ"/>
|
|
||||||
<transactionStatus id="4" code="FAIL" name="Ошибка ПРЦ"/>
|
|
||||||
<transactionStatus id="5" code="CHER" name="Ошибка КС"/>
|
|
||||||
<transactionStatus id="6" code="NSNT" name="Не отправлен в ПРЦ"/>
|
|
||||||
<chargeType id="1" code="PRCT" name="Процент"/>
|
|
||||||
<chargeDirection id="1" code="GET" name="Получить"/>
|
|
||||||
<chargeDirection id="2" code="PAY" name="Заплатить"/>
|
|
||||||
<clearingStatus id="1" code="OK" name="Успешно"/>
|
|
||||||
<clearingStatus id="2" code="FAIL" name="Не успешно"/>
|
|
||||||
<clearingStatus id="3" code="MNG" name="Не учитывать"/>
|
|
||||||
<clearingStatus id="4" code="PROC" name="К клирингу"/>
|
|
||||||
<balanceAccountType id="1" code="ACNT" name="Остатки по счетам"/>
|
|
||||||
<inOutDirection id="1" code="IN" name="Зачисление"/>
|
|
||||||
<inOutDirection id="2" code="OUT" name="Списание"/>
|
|
||||||
<statementType id="1" code="FULL" name="Установка суммы"/>
|
<statementType id="1" code="FULL" name="Установка суммы"/>
|
||||||
<statementType id="2" code="INCR" name="Изменение суммы"/>
|
<statementType id="2" code="INCR" name="Изменение суммы"/>
|
||||||
<operationType id="1" code="STMT" name="Расчетные операции"/>
|
<operationType id="1" code="STMT" name="Расчетные операции"/>
|
||||||
|
|
@ -272,25 +261,36 @@
|
||||||
<operationStatus id="2" code="RJCT" name="Отклонена"/>
|
<operationStatus id="2" code="RJCT" name="Отклонена"/>
|
||||||
<operationStatus id="3" code="EXEC" name="Исполнена"/>
|
<operationStatus id="3" code="EXEC" name="Исполнена"/>
|
||||||
<operationStatus id="4" code="CNCL" name="Отменена"/>
|
<operationStatus id="4" code="CNCL" name="Отменена"/>
|
||||||
<managementJournalType id="1" code="CRPA" name="Корпоративное событие, связанное с допуском"/>
|
|
||||||
<managementJournalType id="2" code="DFLT" name="Отсутствие возврата по платежу"/>
|
|
||||||
<managementJournalType id="3" code="NOTC" name="Генерация уведомления"/>
|
|
||||||
<managementJournalType id="4" code="SETL" name="Взаимодействие с расчетной организацией"/>
|
|
||||||
<managementJournalStatus id="1" code="CRT" name="Создано"/>
|
|
||||||
<managementJournalPurpose id="1" code="ACC" name="Доступ"/>
|
|
||||||
<managementJournalPurpose id="2" code="NOND" name="Не поставка"/>
|
|
||||||
<managementJournalPurpose id="3" code="DEL" name="Удалена"/>
|
|
||||||
<resultStatus id="1" code="NACK" name="Неуспешно"/>
|
|
||||||
<resultStatus id="2" code="ACK" name="Успешно"/>
|
|
||||||
<inOutSDfType id="1" code="0102" name="Входящий ДФ-01/Исходящий ДФ-02"/>
|
<inOutSDfType id="1" code="0102" name="Входящий ДФ-01/Исходящий ДФ-02"/>
|
||||||
<inOutSDfType id="2" code="1617" name="Входящий ДФ-16/Исходящий ДФ-17"/>
|
<inOutSDfType id="2" code="0607" name="Входящий ДФ-06/Исходящий ДФ-07"/>
|
||||||
<inOutSDfType id="3" code="0910" name="Входящий ДФ-09/Исходящий ДФ-10"/>
|
<inOutSDfType id="3" code="0809" name="Входящий ДФ-08/Исходящий ДФ-09"/>
|
||||||
<objectType id="1" code="STMT" name="STATEMENT"/>
|
<inOutSDfType id="4" code="1011" name="Входящий ДФ-10/Исходящий ДФ-11"/>
|
||||||
|
<inOutSDfType id="5" code="57" name="Входящий ДФ-57"/>
|
||||||
|
<inOutDirection id="1" code="IN" name="Зачисление"/>
|
||||||
|
<inOutDirection id="2" code="OUT" name="Списание"/>
|
||||||
|
<transactionStatus id="1" code="STLD" name="Рассчитан"/>
|
||||||
|
<transactionStatus id="2" code="SENT" name="Отправлен"/>
|
||||||
|
<transactionStatus id="3" code="OK" name="Обработан"/>
|
||||||
|
<transactionStatus id="4" code="FAIL" name="Ошибка внешней системы"/>
|
||||||
|
<transactionStatus id="5" code="CHER" name="Ошибка КС"/>
|
||||||
|
<transactionStatus id="6" code="NSNT" name="Не отправлен"/>
|
||||||
|
<objectType id="1" code="STMT" name="statement"/>
|
||||||
<objectType id="2" code="VFRS" name="verificationResult"/>
|
<objectType id="2" code="VFRS" name="verificationResult"/>
|
||||||
<notificationStatus id="1" code="PEND" name="В ожидании"/>
|
<notificationStatus id="1" code="PEND" name="В ожидании"/>
|
||||||
<notificationStatus id="2" code="CNCL" name="Отменено"/>
|
<notificationStatus id="2" code="CNCL" name="Отменено"/>
|
||||||
<notificationStatus id="3" code="ACPT" name="Принято"/>
|
<notificationStatus id="3" code="ACPT" name="Принято"/>
|
||||||
<notificationStatus id="4" code="READ" name="Прочтено"/>
|
<notificationStatus id="4" code="READ" name="Прочтено"/>
|
||||||
|
<managementJournalType id="1" code="CRPA" name="Корпоративное событие, связанное с допуском"/>
|
||||||
|
<managementJournalType id="2" code="DFLT" name="Отсутствие возврата по платежу"/>
|
||||||
|
<managementJournalType id="3" code="NOTC" name="Генерация уведомления"/>
|
||||||
|
<managementJournalType id="4" code="SETL" name="Взаимодействие с расчетной организацией"/>
|
||||||
|
<managementJournalPurpose id="1" code="ACC" name="Доступ"/>
|
||||||
|
<managementJournalPurpose id="2" code="NOND" name="Не поставка"/>
|
||||||
|
<managementJournalPurpose id="3" code="DEL" name="Удалена"/>
|
||||||
|
<managementJournalStatus id="1" code="CRT" name="Создано"/>
|
||||||
|
<courierType id="1" code="STHS" name="ЭДО с Расчетной Организацией"/>
|
||||||
|
<resultStatus id="1" code="NACK" name="Неуспешно"/>
|
||||||
|
<resultStatus id="2" code="ACK" name="Успешно"/>
|
||||||
<eventType id="1" code="CRET" name="Создание"/>
|
<eventType id="1" code="CRET" name="Создание"/>
|
||||||
<eventType id="2" code="UPDT" name="Обновление"/>
|
<eventType id="2" code="UPDT" name="Обновление"/>
|
||||||
<eventType id="3" code="DELT" name="Удаление"/>
|
<eventType id="3" code="DELT" name="Удаление"/>
|
||||||
|
|
@ -349,6 +349,7 @@
|
||||||
<errorCode id="3024" code="CMPN" name="Договорные отношения %s в секции МКР уже созданы."/>
|
<errorCode id="3024" code="CMPN" name="Договорные отношения %s в секции МКР уже созданы."/>
|
||||||
<errorCode id="3025" code="CMPN" name="Договорные отношения %s на фондовой секции уже созданы."/>
|
<errorCode id="3025" code="CMPN" name="Договорные отношения %s на фондовой секции уже созданы."/>
|
||||||
<errorCode id="3026" code="CMPN" name="Запись о договорных отношениях не найдена."/>
|
<errorCode id="3026" code="CMPN" name="Запись о договорных отношениях не найдена."/>
|
||||||
|
<errorCode id="3027" code="CMPN" name="Код клиента %s не найден."/>
|
||||||
|
|
||||||
<!-- error code for report-serivce -->
|
<!-- error code for report-serivce -->
|
||||||
<errorCode id="4000" code="RPRT" name="Общая ошибка модуля report-serivce."/>
|
<errorCode id="4000" code="RPRT" name="Общая ошибка модуля report-serivce."/>
|
||||||
|
|
@ -368,9 +369,10 @@
|
||||||
<errorCode id="5013" code="ACNT" name="Компания %s не найдена."/>
|
<errorCode id="5013" code="ACNT" name="Компания %s не найдена."/>
|
||||||
<errorCode id="5014" code="ACNT" name="Компания %s неактивна."/>
|
<errorCode id="5014" code="ACNT" name="Компания %s неактивна."/>
|
||||||
<errorCode id="5015" code="ACNT" name="Для компании %s уже создан информационный счет %s."/>
|
<errorCode id="5015" code="ACNT" name="Для компании %s уже создан информационный счет %s."/>
|
||||||
<errorCode id="5016" code="ACNT" name="Для Компании %s уже создан ТКР %s."/>
|
<errorCode id="5016" code="ACNT" name="Для компании %s уже создан ТКР %s."/>
|
||||||
<errorCode id="5017" code="ACNT" name="Для Компании %s отсутствует счет ДЕПО."/>
|
<errorCode id="5017" code="ACNT" name="Для компании %s отсутствует счет ДЕПО."/>
|
||||||
<errorCode id="5018" code="ACNT" name="Для Компании %s отсутствует денежный счет."/>
|
<errorCode id="5018" code="ACNT" name="Для компании %s отсутствует денежный счет."/>
|
||||||
|
<errorCode id="5019" code="ACNT" name="Для компании %s отсутствует категория %s."/>
|
||||||
<!-- error code for balance-service -->
|
<!-- error code for balance-service -->
|
||||||
<errorCode id="5200" code="BLNC" name="Общая ошибка модуля balance-service."/>
|
<errorCode id="5200" code="BLNC" name="Общая ошибка модуля balance-service."/>
|
||||||
<errorCode id="5210" code="BLNC" name="Клиринговая сессия неактивна."/>
|
<errorCode id="5210" code="BLNC" name="Клиринговая сессия неактивна."/>
|
||||||
|
|
@ -406,6 +408,10 @@
|
||||||
<errorCode id="5417" code="CLRN" name="Инструмент %s неактивен."/>
|
<errorCode id="5417" code="CLRN" name="Инструмент %s неактивен."/>
|
||||||
<errorCode id="5418" code="CLRN" name="Торгово-клиринговый регистр %s не найден для компании %s."/>
|
<errorCode id="5418" code="CLRN" name="Торгово-клиринговый регистр %s не найден для компании %s."/>
|
||||||
<errorCode id="5419" code="CLRN" name="Торгово-клиринговый регистр %s неактивен."/>
|
<errorCode id="5419" code="CLRN" name="Торгово-клиринговый регистр %s неактивен."/>
|
||||||
|
<errorCode id="5420" code="CLRN" name="Доступ к клирингу на «%s» не найден для компании %s."/>
|
||||||
|
<errorCode id="5421" code="CLRN" name="Доступ к клирингу на «%s» неактивен для компании %s."/>
|
||||||
|
<errorCode id="5422" code="CLRN" name="Необеспеченность обязательств у компании %s."/>
|
||||||
|
<errorCode id="5423" code="CLRN" name="Новые сделки отсутствуют."/>
|
||||||
<!-- error code for dbf-importer -->
|
<!-- error code for dbf-importer -->
|
||||||
<errorCode id="5600" code="DBFI" name="Общая ошибка модуля dbf-importer."/>
|
<errorCode id="5600" code="DBFI" name="Общая ошибка модуля dbf-importer."/>
|
||||||
<!-- error code for dbf-exporter -->
|
<!-- error code for dbf-exporter -->
|
||||||
|
|
@ -442,6 +448,10 @@
|
||||||
<errorCode id="9004" code="BAPI" name="Не может обнаружитьт словарь %s."/>
|
<errorCode id="9004" code="BAPI" name="Не может обнаружитьт словарь %s."/>
|
||||||
<errorCode id="9005" code="BAPI" name="Не найдено ресурс %s."/>
|
<errorCode id="9005" code="BAPI" name="Не найдено ресурс %s."/>
|
||||||
|
|
||||||
|
<!-- error code for trade-importer -->
|
||||||
|
<errorCode id="10000" code="TRDI" name="Общая ошибка модуля trade-importer."/>
|
||||||
|
<errorCode id="10001" code="TRDI" name="Сделка с номером в ТС = %s некорректна."/>
|
||||||
|
|
||||||
</enums>
|
</enums>
|
||||||
<objects>
|
<objects>
|
||||||
<company id="1" fullName="АО Санкт-Петербургская Валютная Биржа" shortName="СПВБ" tradingCode="" clearingCode="" workflowStatus="ACTV"/>
|
<company id="1" fullName="АО Санкт-Петербургская Валютная Биржа" shortName="СПВБ" tradingCode="" clearingCode="" workflowStatus="ACTV"/>
|
||||||
|
|
@ -456,6 +466,79 @@
|
||||||
<account id="1" companyId="1" account="30414810300000006000" accountType="TRAN" status="ACTV" processingSign="ALWD"/>
|
<account id="1" companyId="1" account="30414810300000006000" accountType="TRAN" status="ACTV" processingSign="ALWD"/>
|
||||||
<account id="2" companyId="1" account="30414810600000007000" accountType="ANLT" status="ACTV" processingSign="ALWD"/>
|
<account id="2" companyId="1" account="30414810600000007000" accountType="ANLT" status="ACTV" processingSign="ALWD"/>
|
||||||
|
|
||||||
<market id="1" code="MKRS" name="Денежный рынок МКР" section="MKR"/>
|
<market id="1" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UESC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Обыкновенные акции"/>
|
||||||
|
<market id="2" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NESC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Обыкновенные акции"/>
|
||||||
|
<market id="3" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DESC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Обыкновенные акции"/>
|
||||||
|
<market id="4" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="AESC" name="Размещение: акции (аукцион по цене)" exchangeId="1" description="Размещение: акции (аукцион по цене): Обыкновенные акции"/>
|
||||||
|
<market id="5" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WESC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Обыкновенные акции"/>
|
||||||
|
<market id="6" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UEPC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Привилегированные акции"/>
|
||||||
|
<market id="7" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NEPC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Привилегированные акции"/>
|
||||||
|
<market id="8" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DEPC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Привилегированные акции"/>
|
||||||
|
<market id="9" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="AEPC" name="Размещение: акции (аукцион по цене)" exchangeId="1" description="Размещение: акции (аукцион по цене): Привилегированные акции"/>
|
||||||
|
<market id="10" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WEPC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Привилегированные акции"/>
|
||||||
|
<market id="11" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABVC" name="Размещение: Аукцион по цене" exchangeId="1" description="Размещение: Аукцион по цене: Купонные облигации с переменным купоном"/>
|
||||||
|
<market id="12" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="KBVC" name="Размещение: Аукцион по ставке" exchangeId="1" description="Размещение: Аукцион по ставке: Купонные облигации с переменным купоном"/>
|
||||||
|
<market id="13" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBVC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Купонные облигации с переменным купоном"/>
|
||||||
|
<market id="14" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBVC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Купонные облигации с переменным купоном"/>
|
||||||
|
<market id="15" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBVC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Купонные облигации с переменным купоном"/>
|
||||||
|
<market id="16" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WBVC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Купонные облигации с переменным купоном"/>
|
||||||
|
<market id="17" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABFC" name="Размещение: Аукцион по цене" exchangeId="1" description="Размещение: Аукцион по цене: Купонные облигации с постоянным купоном"/>
|
||||||
|
<market id="18" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="KBFC" name="Размещение: Аукцион по ставке" exchangeId="1" description="Размещение: Аукцион по ставке: Купонные облигации с постоянным купоном"/>
|
||||||
|
<market id="19" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBFC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Купонные облигации с постоянным купоном"/>
|
||||||
|
<market id="20" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBFC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Купонные облигации с постоянным купоном"/>
|
||||||
|
<market id="21" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBFC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Купонные облигации с постоянным купоном"/>
|
||||||
|
<market id="22" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WBFC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Купонные облигации с постоянным купоном"/>
|
||||||
|
<market id="23" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABIC" name="Размещение: Аукцион по цене" exchangeId="1" description="Размещение: Аукцион по цене: Облигации с индексированным номиналом"/>
|
||||||
|
<market id="24" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="KBIC" name="Размещение: Аукцион по ставке" exchangeId="1" description="Размещение: Аукцион по ставке: Облигации с индексированным номиналом"/>
|
||||||
|
<market id="25" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBIC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Облигации с индексированным номиналом"/>
|
||||||
|
<market id="26" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBIC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Облигации с индексированным номиналом"/>
|
||||||
|
<market id="27" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBIC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Облигации с индексированным номиналом"/>
|
||||||
|
<market id="28" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WBIC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Облигации с индексированным номиналом"/>
|
||||||
|
<market id="29" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABMC" name="Размещение: Аукцион по цене" exchangeId="1" description="Размещение: Аукцион по цене: Облигации с амортизацией долга"/>
|
||||||
|
<market id="30" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="KBMC" name="Размещение: Аукцион по ставке" exchangeId="1" description="Размещение: Аукцион по ставке: Облигации с амортизацией долга"/>
|
||||||
|
<market id="31" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBMC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Облигации с амортизацией долга"/>
|
||||||
|
<market id="32" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBMC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Облигации с амортизацией долга"/>
|
||||||
|
<market id="33" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBMC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Облигации с амортизацией долга"/>
|
||||||
|
<market id="34" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WBMC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Облигации с амортизацией долга"/>
|
||||||
|
<market id="35" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BKVC" name="Размещение: Аукцион БР" exchangeId="1" description="Размещение: Аукцион БР: Облигации Банка России с переменным купоном (КОБР)"/>
|
||||||
|
<market id="36" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SKVC" name="Доразмещение: Адресные заявки БР" exchangeId="1" description="Доразмещение: Адресные заявки БР: Облигации Банка России с переменным купоном (КОБР)"/>
|
||||||
|
<market id="37" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UKVC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Облигации Банка России с переменным купоном (КОБР)"/>
|
||||||
|
<market id="38" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NKVC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Облигации Банка России с переменным купоном (КОБР)"/>
|
||||||
|
<market id="39" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DKVC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Облигации Банка России с переменным купоном (КОБР)"/>
|
||||||
|
<market id="45" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABEC" name="Размещение: Аукцион СПВБ" exchangeId="1" description="Размещение: Аукцион СПВБ: Биржевые облигации"/>
|
||||||
|
<market id="46" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBEC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Биржевые облигации"/>
|
||||||
|
<market id="47" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBEC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Биржевые облигации"/>
|
||||||
|
<market id="48" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBEC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Биржевые облигации"/>
|
||||||
|
<market id="49" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDT" name="Размещение: депозитный аукцион" exchangeId="1" description="Размещение: депозитный аукцион: МКР"/>
|
||||||
|
<market id="51" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDS" name="Размещение: депозитный аукцион" exchangeId="1" description="Размещение: депозитный аукцион: МКР"/>
|
||||||
|
<market id="52" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDD" name="Размещение: депозитный аукцион" exchangeId="1" description="Размещение: депозитный аукцион: МКР"/>
|
||||||
|
<market id="54" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMTT" name="Размещение: депозитные торги" exchangeId="1" description="Размещение: депозитные торги: МКР"/>
|
||||||
|
<market id="55" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="YMRT" name="Доразмещение: аукцион по ставке депозита" exchangeId="1" description="Доразмещение: аукцион по ставке депозита: МКР"/>
|
||||||
|
<market id="56" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="YMRT" name="Доразмещение: депозитные торги" exchangeId="1" description="Доразмещение: депозитные торги: МКР"/>
|
||||||
|
<market id="58" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="YMTT" name="Доразмещение: депозитные торги" exchangeId="1" description="Доразмещение: депозитные торги: МКР"/>
|
||||||
|
<market id="59" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMXD" name="Размещение: отбор заявок" exchangeId="1" description="Размещение: отбор заявок: МКР"/>
|
||||||
|
<market id="60" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMXX" name="Размещение: отбор заявок" exchangeId="1" description="Размещение: отбор заявок: МКР"/>
|
||||||
|
<market id="61" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BMVC" name="ОФЗПК-Размещение: Аукцион БР" exchangeId="1" description="ОФЗПК-Размещение: Аукцион БР: Облигации Минфина"/>
|
||||||
|
<market id="62" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SMVC" name="ОФЗПК-Доразмещение: Адресные заявки БР" exchangeId="1" description="ОФЗПК-Доразмещение: Адресные заявки БР: Облигации Минфина"/>
|
||||||
|
<market id="63" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UMVC" name="ОФЗПК-Режим непрерывных торгов" exchangeId="1" description="ОФЗПК-Режим непрерывных торгов: Облигации Минфина"/>
|
||||||
|
<market id="64" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DMVC" name="ОФЗПК-Дискретный аукцион" exchangeId="1" description="ОФЗПК-Дискретный аукцион: Облигации Минфина"/>
|
||||||
|
<market id="65" marketType="SCND" section="FOND" settlementCurrency="RUB" code="MMVC" name="ОФЗПК-Торги в режиме выкупа" exchangeId="1" description="ОФЗПК-Торги в режиме выкупа: Облигации Минфина"/>
|
||||||
|
<market id="66" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BMFC" name="ОФЗПД-Размещение: Аукцион БР" exchangeId="1" description="ОФЗПД-Размещение: Аукцион БР: Облигации Минфина"/>
|
||||||
|
<market id="67" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SMFC" name="ОФЗПД- Доразмещение: Адресные заявки БР" exchangeId="1" description="ОФЗПД- Доразмещение: Адресные заявки БР: Облигации Минфина"/>
|
||||||
|
<market id="68" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UMFC" name="ОФЗПД-Режим непрерывных торгов" exchangeId="1" description="ОФЗПД-Режим непрерывных торгов: Облигации Минфина"/>
|
||||||
|
<market id="69" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DMFC" name="ОФЗПД-Дискретный аукцион" exchangeId="1" description="ОФЗПД-Дискретный аукцион: Облигации Минфина"/>
|
||||||
|
<market id="70" marketType="SCND" section="FOND" settlementCurrency="RUB" code="MMFC" name="ОФЗПД-Торги в режиме выкупа" exchangeId="1" description="ОФЗПД-Торги в режиме выкупа: Облигации Минфина"/>
|
||||||
|
<market id="71" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BMMC" name="ОФЗАД-Размещение: Аукцион БР" exchangeId="1" description="ОФЗАД-Размещение: Аукцион БР: Облигации Минфина"/>
|
||||||
|
<market id="72" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SMMC" name="ОФЗАД-Доразмещение: Адресные заявки БР" exchangeId="1" description="ОФЗАД-Доразмещение: Адресные заявки БР: Облигации Минфина"/>
|
||||||
|
<market id="73" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UMMC" name="ОФЗАД-Режим непрерывных торгов" exchangeId="1" description="ОФЗАД-Режим непрерывных торгов: Облигации Минфина"/>
|
||||||
|
<market id="74" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DMMC" name="ОФЗАД-Дискретный аукцион" exchangeId="1" description="ОФЗАД-Дискретный аукцион: Облигации Минфина"/>
|
||||||
|
<market id="75" marketType="SCND" section="FOND" settlementCurrency="RUB" code="MMMC" name="ОФЗАД-Торги в режиме выкупа" exchangeId="1" description="ОФЗАД-Торги в режиме выкупа: Облигации Минфина"/>
|
||||||
|
<market id="76" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BMIC" name="ОФЗИН-Размещение: Аукцион БР" exchangeId="1" description="ОФЗИН-Размещение: Аукцион БР: Облигации Минфина"/>
|
||||||
|
<market id="77" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SMIC" name="ОФЗИН-Доразмещение: Адресные заявки БР" exchangeId="1" description="ОФЗИН-Доразмещение: Адресные заявки БР: Облигации Минфина"/>
|
||||||
|
<market id="78" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UMIC" name="ОФЗИН-Режим непрерывных торгов" exchangeId="1" description="ОФЗИН-Режим непрерывных торгов: Облигации Минфина"/>
|
||||||
|
<market id="79" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DMIC" name="ОФЗИН-Дискретный аукцион" exchangeId="1" description="ОФЗИН-Дискретный аукцион: Облигации Минфина"/>
|
||||||
|
<market id="80" marketType="SCND" section="FOND" settlementCurrency="RUB" code="MMIC" name="ОФЗИН-Торги в режиме выкупа" exchangeId="1" description="ОФЗИН-Торги в режиме выкупа: Облигации Минфина"/>
|
||||||
</objects>
|
</objects>
|
||||||
</meta>
|
</meta>
|
||||||
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -26,6 +26,7 @@ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||||
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||||
import org.springframework.web.context.WebApplicationContext;
|
import org.springframework.web.context.WebApplicationContext;
|
||||||
import org.springframework.web.filter.CharacterEncodingFilter;
|
import org.springframework.web.filter.CharacterEncodingFilter;
|
||||||
|
import ru.clearing.classes.statics.data.company.Company;
|
||||||
import ru.clearing.classes.statics.data.user.User;
|
import ru.clearing.classes.statics.data.user.User;
|
||||||
import ru.spcex.clearing.backendapi.controller.config.*;
|
import ru.spcex.clearing.backendapi.controller.config.*;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.account.*;
|
import ru.spcex.clearing.backendapi.controller.queue.account.*;
|
||||||
|
|
@ -35,8 +36,6 @@ import ru.spcex.clearing.backendapi.controller.queue.execution.ExecutionFondCont
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.journal.InDocumentJournalController;
|
import ru.spcex.clearing.backendapi.controller.queue.journal.InDocumentJournalController;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.journal.ManagementJournalController;
|
import ru.spcex.clearing.backendapi.controller.queue.journal.ManagementJournalController;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.journal.OutDocumentJournalController;
|
import ru.spcex.clearing.backendapi.controller.queue.journal.OutDocumentJournalController;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.liabilities.LiabilitiesClaimsAssetController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.liabilities.LiabilitiesClaimsMoneyController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.misc.*;
|
import ru.spcex.clearing.backendapi.controller.queue.misc.*;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.payment.PaymentInstructionController;
|
import ru.spcex.clearing.backendapi.controller.queue.payment.PaymentInstructionController;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.register.*;
|
import ru.spcex.clearing.backendapi.controller.queue.register.*;
|
||||||
|
|
@ -45,7 +44,6 @@ import ru.spcex.clearing.backendapi.controller.queue.scheduler.*;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.securities.*;
|
import ru.spcex.clearing.backendapi.controller.queue.securities.*;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.user.UserController;
|
import ru.spcex.clearing.backendapi.controller.queue.user.UserController;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.user.UserRoleSessionController;
|
import ru.spcex.clearing.backendapi.controller.queue.user.UserRoleSessionController;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.utilities.CudKeyRateController;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.utilities.StatementController;
|
import ru.spcex.clearing.backendapi.controller.queue.utilities.StatementController;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.utilities.UserSettingsController;
|
import ru.spcex.clearing.backendapi.controller.queue.utilities.UserSettingsController;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||||
|
|
@ -62,6 +60,7 @@ import ru.spcex.clearing.test.TestUtils;
|
||||||
import ru.spcex.clearing.test.json.MatcherFactoryWithJson;
|
import ru.spcex.clearing.test.json.MatcherFactoryWithJson;
|
||||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
import ru.spcex.platform.imdg.iml.hazelcast.adapter.ImdgHazelcast;
|
||||||
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||||
|
|
||||||
|
|
@ -85,7 +84,6 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
||||||
|
|
||||||
@ContextConfiguration(classes = {
|
@ContextConfiguration(classes = {
|
||||||
//account
|
//account
|
||||||
AccountBalanceController.class,
|
|
||||||
AccountController.class,
|
AccountController.class,
|
||||||
BankAccountController.class,
|
BankAccountController.class,
|
||||||
ClearingAccountController.class,
|
ClearingAccountController.class,
|
||||||
|
|
@ -109,8 +107,6 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
||||||
ManagementJournalController.class,
|
ManagementJournalController.class,
|
||||||
OutDocumentJournalController.class,
|
OutDocumentJournalController.class,
|
||||||
//liabilities
|
//liabilities
|
||||||
LiabilitiesClaimsAssetController.class,
|
|
||||||
LiabilitiesClaimsMoneyController.class,
|
|
||||||
//misc
|
//misc
|
||||||
CurrencyController.class,
|
CurrencyController.class,
|
||||||
ErrorTextController.class,
|
ErrorTextController.class,
|
||||||
|
|
@ -121,16 +117,10 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
||||||
//payment
|
//payment
|
||||||
PaymentInstructionController.class,
|
PaymentInstructionController.class,
|
||||||
//register
|
//register
|
||||||
AdmittedDealRegisterController.class,
|
|
||||||
BalanceRegisterController.class,
|
|
||||||
ClearMemberRegisterController.class,
|
|
||||||
ContractRegisterController.class,
|
ContractRegisterController.class,
|
||||||
CoveredDealRegisterController.class,
|
|
||||||
DealRegisterController.class,
|
|
||||||
OrderRegisterController.class,
|
|
||||||
ReportRegisterController.class,
|
ReportRegisterController.class,
|
||||||
UncoveredDealRegisterController.class,
|
|
||||||
//registry
|
//registry
|
||||||
|
RegistryController.class,
|
||||||
TradingClearingRegistryController.class,
|
TradingClearingRegistryController.class,
|
||||||
//scheduler
|
//scheduler
|
||||||
ClearingCalendarController.class,
|
ClearingCalendarController.class,
|
||||||
|
|
@ -150,7 +140,6 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
||||||
UserController.class,
|
UserController.class,
|
||||||
UserRoleSessionController.class,
|
UserRoleSessionController.class,
|
||||||
//utilities
|
//utilities
|
||||||
CudKeyRateController.class,
|
|
||||||
StatementController.class,
|
StatementController.class,
|
||||||
UserSettingsController.class,
|
UserSettingsController.class,
|
||||||
//******* common configs *******
|
//******* common configs *******
|
||||||
|
|
@ -323,10 +312,11 @@ public abstract class AbstractControllerTest {
|
||||||
|
|
||||||
protected <T extends SpcexObjectBase> void checkGettingAllFromRestApi(String imdgDistributedNames, T existsObj, String restUrl) throws Exception {
|
protected <T extends SpcexObjectBase> void checkGettingAllFromRestApi(String imdgDistributedNames, T existsObj, String restUrl) throws Exception {
|
||||||
Class<T> clazz = (Class<T>) existsObj.getClass();
|
Class<T> clazz = (Class<T>) existsObj.getClass();
|
||||||
Imdg<T> inDocumentJournalImdg = hazelcastServiceTest.getImdg(imdgDistributedNames, clazz);
|
Imdg<T> testingImdg = hazelcastServiceTest.getImdg(imdgDistributedNames, clazz);
|
||||||
inDocumentJournalImdg.insert(existsObj);
|
// ((ImdgHazelcast<T>)testingImdg).clear(); // предварительная очистка
|
||||||
|
testingImdg.insert(existsObj);
|
||||||
|
|
||||||
Collection<T> values = inDocumentJournalImdg.getAllValues();
|
Collection<T> values = testingImdg.getAllValues();
|
||||||
Collection<Map<String, Object>> all = responseFactory.responseFromObjectCollection(values);
|
Collection<Map<String, Object>> all = responseFactory.responseFromObjectCollection(values);
|
||||||
CommonGetAllResponse expected = new CommonGetAllResponse();
|
CommonGetAllResponse expected = new CommonGetAllResponse();
|
||||||
expected.fromEntity(all);
|
expected.fromEntity(all);
|
||||||
|
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import ru.clearing.classes.statics.data.account.AccountBalance;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
class AccountBalanceControllerTest extends AbstractControllerTest {
|
|
||||||
private static final String REST_URL = "/account-balances/";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@link AccountBalanceController#getAll()} <br>
|
|
||||||
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.<br>
|
|
||||||
* Входной запрос /account-balances/ <br>
|
|
||||||
* Ответ CommonGetAllResponse <br>
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
void getAll() throws Exception {
|
|
||||||
//ARRANGE
|
|
||||||
AccountBalance existBankAccount = new AccountBalance();
|
|
||||||
existBankAccount.setAccountType("99");
|
|
||||||
existBankAccount.setAccount("123456789123");
|
|
||||||
existBankAccount.setId(currentId.get());
|
|
||||||
|
|
||||||
//ACT and ASSERT
|
|
||||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_AccountBalance, existBankAccount, REST_URL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -9,8 +9,8 @@ import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountNewAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountNewAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountUpdateAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountUpdateAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.account.BankAccountBackendGetById;
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.account.BankAccountBackendGetFields;
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetByIdResponse;
|
||||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||||
import ru.spcex.clearing.backendapi.errors.ActionValidationException;
|
import ru.spcex.clearing.backendapi.errors.ActionValidationException;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
@ -18,6 +18,9 @@ import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
|
||||||
|
|
@ -160,18 +163,19 @@ class BankAccountControllerTest extends AbstractControllerTest {
|
||||||
Imdg<BankAccount> inDocumentJournalImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_BankAccount, BankAccount.class);
|
Imdg<BankAccount> inDocumentJournalImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_BankAccount, BankAccount.class);
|
||||||
inDocumentJournalImdg.insert(existBankAccount);
|
inDocumentJournalImdg.insert(existBankAccount);
|
||||||
|
|
||||||
BankAccountBackendGetById expected = new BankAccountBackendGetById();
|
CommonGetByIdResponse expected = new CommonGetByIdResponse();
|
||||||
BankAccountBackendGetFields payload = new BankAccountBackendGetFields();
|
//expected.getPayload().
|
||||||
payload.setBankName("ooo tinkoff");
|
Map<String, Object> payload = new HashMap<>();
|
||||||
payload.setBankIdentificationCode("99999");
|
payload.put("bankName", "ooo tinkoff");
|
||||||
payload.setCorrespondentAccount("9294189285498598598");
|
payload.put("bankIdentificationCode", "99999");
|
||||||
payload.setCorrespondentAccountName("BIK OF TINKOFF");
|
payload.put("correspondentAccount", "9294189285498598598");
|
||||||
payload.setCurrency("RUB");
|
payload.put("correspondentAccountName", "BIK OF TINKOFF");
|
||||||
payload.setDestination("OOO ROGA I KOPITA");
|
payload.put("currency", "RUB");
|
||||||
payload.setTaxpayerIdentificationNumber("848484848484");
|
payload.put("destination", "OOO ROGA I KOPITA");
|
||||||
payload.setTaxRegistrationReasonCode("886886");
|
payload.put("taxpayerIdentificationNumber", "848484848484");
|
||||||
payload.setId(existBankAccount.getId());
|
payload.put("taxRegistrationReasonCode", "886886");
|
||||||
expected.setPayload(payload);
|
payload.put("id", existBankAccount.getId());
|
||||||
|
expected.fromEntity(payload);
|
||||||
//ACT
|
//ACT
|
||||||
perform(MockMvcRequestBuilders.get(REST_URL + existBankAccount.getId())
|
perform(MockMvcRequestBuilders.get(REST_URL + existBankAccount.getId())
|
||||||
.contentType(MediaType.APPLICATION_JSON))
|
.contentType(MediaType.APPLICATION_JSON))
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import ru.spcex.clearing.backendapi.errors.ActionValidationException;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
import ru.spcex.platform.imdg.iml.hazelcast.adapter.ImdgHazelcast;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
@ -121,6 +122,7 @@ class CompanyInfoControllerTest extends AbstractControllerTest {
|
||||||
existsCompany.setProfile(existsCompanyInfo);
|
existsCompany.setProfile(existsCompanyInfo);
|
||||||
|
|
||||||
Imdg<Company> companyImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
Imdg<Company> companyImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||||
|
((ImdgHazelcast<Company>)companyImdg).clear();
|
||||||
companyImdg.insert(existsCompany);
|
companyImdg.insert(existsCompany);
|
||||||
|
|
||||||
Collection<Map<String, Object>> all = new ArrayList<>();
|
Collection<Map<String, Object>> all = new ArrayList<>();
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@ class CompanySymbolControllerTest extends AbstractControllerTest {
|
||||||
* Тест проверяет получение сущности {@link CompanySymbolUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
* Тест проверяет получение сущности {@link CompanySymbolUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||||
* Входной запрос {@link CompanySymbolUpdateAction}:<br>
|
* Входной запрос {@link CompanySymbolUpdateAction}:<br>
|
||||||
* {@link CompanySymbolUpdateAction#companyId} - 1000L<br>
|
* {@link CompanySymbolUpdateAction#companyId} - 1000L<br>
|
||||||
* {@link CompanySymbolUpdateAction#companySymbol} - Symbol<br>
|
|
||||||
* {@link CompanySymbolUpdateAction#companySymbolValue} - SymbolValue<br>
|
* {@link CompanySymbolUpdateAction#companySymbolValue} - SymbolValue<br>
|
||||||
* {@link CompanySymbolUpdateAction#id} - currentId<br>
|
* {@link CompanySymbolUpdateAction#id} - currentId<br>
|
||||||
*/
|
*/
|
||||||
|
|
@ -39,7 +38,6 @@ class CompanySymbolControllerTest extends AbstractControllerTest {
|
||||||
* Тест проверяет получение сущности {@link CompanySymbolUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
* Тест проверяет получение сущности {@link CompanySymbolUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||||
* Входной запрос {@link CompanySymbolUpdateAction}:<br>
|
* Входной запрос {@link CompanySymbolUpdateAction}:<br>
|
||||||
* {@link CompanySymbolUpdateAction#companyId} - 1000L<br>
|
* {@link CompanySymbolUpdateAction#companyId} - 1000L<br>
|
||||||
* {@link CompanySymbolUpdateAction#companySymbol} - Symbol<br>
|
|
||||||
* {@link CompanySymbolUpdateAction#companySymbolValue} - SymbolValue<br>
|
* {@link CompanySymbolUpdateAction#companySymbolValue} - SymbolValue<br>
|
||||||
* {@link CompanySymbolUpdateAction#id} - currentId<br>
|
* {@link CompanySymbolUpdateAction#id} - currentId<br>
|
||||||
*/
|
*/
|
||||||
|
|
@ -48,7 +46,6 @@ class CompanySymbolControllerTest extends AbstractControllerTest {
|
||||||
//ARRANGE
|
//ARRANGE
|
||||||
CompanySymbolUpdateAction companySymbolUpdateAction = new CompanySymbolUpdateAction();
|
CompanySymbolUpdateAction companySymbolUpdateAction = new CompanySymbolUpdateAction();
|
||||||
companySymbolUpdateAction.setCompanyId(1000L);
|
companySymbolUpdateAction.setCompanyId(1000L);
|
||||||
companySymbolUpdateAction.setCompanySymbol("Symbol");
|
|
||||||
companySymbolUpdateAction.setCompanySymbolValue("SymbolValue");
|
companySymbolUpdateAction.setCompanySymbolValue("SymbolValue");
|
||||||
companySymbolUpdateAction.setId(currentId.get());
|
companySymbolUpdateAction.setId(currentId.get());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import ru.clearing.classes.statics.data.profile.Contact;
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.company.ClearingMemberCategoryNewAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.company.ClearingMemberCategoryNewAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanySymbolUpdateAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanySymbolUpdateAction;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.company.ContactNewAction;
|
||||||
import ru.spcex.clearing.backendapi.controller.request.cud.company.ContactUpdateAction;
|
import ru.spcex.clearing.backendapi.controller.request.cud.company.ContactUpdateAction;
|
||||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||||
import ru.spcex.clearing.backendapi.errors.ActionValidationException;
|
import ru.spcex.clearing.backendapi.errors.ActionValidationException;
|
||||||
|
|
@ -35,6 +36,28 @@ class ContactControllerTest extends AbstractControllerTest {
|
||||||
assertThrowsFor(getClearingMemberCategoryNewAction("", 0L));
|
assertThrowsFor(getClearingMemberCategoryNewAction("", 0L));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link ContactController#create(Long, ContactNewAction)}<br>
|
||||||
|
* Тест проверяет получение сущности {@link ContactNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||||
|
* Входной запрос {@link ContactNewAction}:<br>
|
||||||
|
* {@link ContactNewAction#contactType} - ContactType<br>
|
||||||
|
* {@link ContactNewAction#contactValue} - ContactValue<br>
|
||||||
|
* {@link ContactNewAction#id} - currentId<br>
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void create() throws Exception {
|
||||||
|
//ARRANGE
|
||||||
|
ContactNewAction companySymbolNewAction = new ContactNewAction();
|
||||||
|
companySymbolNewAction.setContactType("ContactType");
|
||||||
|
companySymbolNewAction.setContactValue("ContactValue");
|
||||||
|
companySymbolNewAction.setCompanyId(currentId.get());
|
||||||
|
|
||||||
|
//ACT and ASSERT
|
||||||
|
checkAddingByRestApi(REST_URL, companySymbolNewAction);
|
||||||
|
checkSendedMessegeFromKafka(Consts.DESTINATION_CONTACT_NEW, companySymbolNewAction);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link ContactController#update(Long, ContactUpdateAction)}<br>
|
* {@link ContactController#update(Long, ContactUpdateAction)}<br>
|
||||||
* Тест проверяет получение сущности {@link ContactUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
* Тест проверяет получение сущности {@link ContactUpdateAction} по REST API и отправку в Apache Kafka.<br>
|
||||||
|
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.liabilities;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
|
|
||||||
class LiabilitiesClaimsAssetControllerTest extends AbstractControllerTest {
|
|
||||||
private static final String REST_URL = "/liabilities-claims-assets/";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@link LiabilitiesClaimsAssetController#getAll()} <br>
|
|
||||||
* Тест проверяет получение запроса по REST API.<br>
|
|
||||||
* Входной запрос /liabilities-claims-assets/ <br>
|
|
||||||
* Ответ CommonGetAllResponse <br>
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
void getAll() throws Exception {
|
|
||||||
//ARRANGE
|
|
||||||
LiabilitiesClaimsAssets liabilitiesClaimsAssets = new LiabilitiesClaimsAssets();
|
|
||||||
liabilitiesClaimsAssets.setId(currentId.get());
|
|
||||||
liabilitiesClaimsAssets.setCompanyId(currentId.get());
|
|
||||||
liabilitiesClaimsAssets.setClearingDate(LocalDate.now());
|
|
||||||
liabilitiesClaimsAssets.setAccountId(currentId.get());
|
|
||||||
liabilitiesClaimsAssets.setAccountType("man");
|
|
||||||
liabilitiesClaimsAssets.setAccount("res");
|
|
||||||
liabilitiesClaimsAssets.setLiabilitiesQuantity(new BigDecimal(0));
|
|
||||||
liabilitiesClaimsAssets.setClaimsQuantity(new BigDecimal(0));
|
|
||||||
liabilitiesClaimsAssets.setCurrency("dos");
|
|
||||||
liabilitiesClaimsAssets.setSettlementDate(LocalDate.now());
|
|
||||||
liabilitiesClaimsAssets.setTradingDate(LocalDate.now());
|
|
||||||
liabilitiesClaimsAssets.setRefundDate(LocalDate.now());
|
|
||||||
liabilitiesClaimsAssets.setPrice(new BigDecimal(0));
|
|
||||||
liabilitiesClaimsAssets.setSecurityId(currentId.get());
|
|
||||||
liabilitiesClaimsAssets.setTradingCode("tra");
|
|
||||||
liabilitiesClaimsAssets.setClearingCode("cle");
|
|
||||||
liabilitiesClaimsAssets.setShortName("man");
|
|
||||||
liabilitiesClaimsAssets.setContract("res");
|
|
||||||
liabilitiesClaimsAssets.setComment("com");
|
|
||||||
liabilitiesClaimsAssets.setFullName("send");
|
|
||||||
liabilitiesClaimsAssets.setParentId(currentId.get());
|
|
||||||
liabilitiesClaimsAssets.setLiabilitiesClaimsMoneyId(currentId.get());
|
|
||||||
liabilitiesClaimsAssets.setClearingStatus(currentId.get());
|
|
||||||
liabilitiesClaimsAssets.setPaymentId(currentId.get());
|
|
||||||
liabilitiesClaimsAssets.setRefundPaymentId(currentId.get());
|
|
||||||
|
|
||||||
//ACT and ASSERT
|
|
||||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, liabilitiesClaimsAssets, REST_URL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.liabilities;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
|
|
||||||
class LiabilitiesClaimsMoneyControllerTest extends AbstractControllerTest {
|
|
||||||
private static final String REST_URL = "/liabilities-claims-money/";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@link LiabilitiesClaimsMoneyController#getAll()} <br>
|
|
||||||
* Тест проверяет получение запроса по REST API.<br>
|
|
||||||
* Входной запрос /liabilities-claims-money/ <br>
|
|
||||||
* Ответ CommonGetAllResponse <br>
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
void getAll() throws Exception {
|
|
||||||
//ARRANGE
|
|
||||||
LiabilitiesClaimsMoney liabilitiesClaimsMoney = new LiabilitiesClaimsMoney();
|
|
||||||
liabilitiesClaimsMoney.setId(currentId.get());
|
|
||||||
liabilitiesClaimsMoney.setCompanyId(currentId.get());
|
|
||||||
liabilitiesClaimsMoney.setAccountId(currentId.get());
|
|
||||||
liabilitiesClaimsMoney.setAccountType("acc");
|
|
||||||
liabilitiesClaimsMoney.setAccount("acc");
|
|
||||||
liabilitiesClaimsMoney.setLiabilitiesAmount(new BigDecimal(0));
|
|
||||||
liabilitiesClaimsMoney.setClaimsAmount(new BigDecimal(0));
|
|
||||||
liabilitiesClaimsMoney.setSettlementDate(LocalDate.now());
|
|
||||||
liabilitiesClaimsMoney.setTradingDate(LocalDate.now());
|
|
||||||
liabilitiesClaimsMoney.setCurrency("dos");
|
|
||||||
liabilitiesClaimsMoney.setTradingCode("tra");
|
|
||||||
liabilitiesClaimsMoney.setShortName("short");
|
|
||||||
liabilitiesClaimsMoney.setFullName("full");
|
|
||||||
liabilitiesClaimsMoney.setClearingDate(LocalDate.now());
|
|
||||||
|
|
||||||
//ACT and ASSERT
|
|
||||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_LiabilitiesClaimsMoney, liabilitiesClaimsMoney, REST_URL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -36,7 +36,7 @@ class NotificationControllerTest extends AbstractControllerTest {
|
||||||
profileDocument.setSenderId(1000L);
|
profileDocument.setSenderId(1000L);
|
||||||
profileDocument.setAddresseeId(1000L);
|
profileDocument.setAddresseeId(1000L);
|
||||||
profileDocument.setObjectType("ObjectType");
|
profileDocument.setObjectType("ObjectType");
|
||||||
profileDocument.setObjectId(Instant.now());
|
profileDocument.setObjectId(1111122222L);
|
||||||
profileDocument.setNotificationStatus("Status");
|
profileDocument.setNotificationStatus("Status");
|
||||||
profileDocument.setId(currentId.get());
|
profileDocument.setId(currentId.get());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
@ -32,6 +33,7 @@ class PaymentInstructionControllerTest extends AbstractControllerTest {
|
||||||
void getAll() throws Exception {
|
void getAll() throws Exception {
|
||||||
//ARRANGE
|
//ARRANGE
|
||||||
PaymentInstruction paymentInstruction = new PaymentInstruction();
|
PaymentInstruction paymentInstruction = new PaymentInstruction();
|
||||||
|
|
||||||
paymentInstruction.setSenderId(1010L);
|
paymentInstruction.setSenderId(1010L);
|
||||||
paymentInstruction.setAddresseeId(1010L);
|
paymentInstruction.setAddresseeId(1010L);
|
||||||
paymentInstruction.setAdresseeBic("123456789");
|
paymentInstruction.setAdresseeBic("123456789");
|
||||||
|
|
@ -41,21 +43,24 @@ class PaymentInstructionControllerTest extends AbstractControllerTest {
|
||||||
paymentInstruction.setPaymentDate(Instant.now());
|
paymentInstruction.setPaymentDate(Instant.now());
|
||||||
paymentInstruction.setPaymentPurpose("Purpose");
|
paymentInstruction.setPaymentPurpose("Purpose");
|
||||||
paymentInstruction.setSettlementDate(LocalDate.now());
|
paymentInstruction.setSettlementDate(LocalDate.now());
|
||||||
paymentInstruction.setCreditLegAmount(2020L);
|
paymentInstruction.setCreditLeg_amount(BigDecimal.valueOf(123.456));
|
||||||
paymentInstruction.setDebitLegAmount(2020L);
|
paymentInstruction.setDebitLeg_amount(BigDecimal.valueOf(123.256));
|
||||||
paymentInstruction.setCreditLegAccountId(2020L);
|
paymentInstruction.setCreditLeg_accountId(currentId.get());
|
||||||
paymentInstruction.setCreditCsAccount("Ok");
|
paymentInstruction.setCredit_csAccount("ACCT1");
|
||||||
paymentInstruction.setCreditLegAccount("123456789");
|
paymentInstruction.setCreditLeg_account("ACCT2");
|
||||||
paymentInstruction.setDebitLegAccountId(3030L);
|
paymentInstruction.setDebitLeg_accountId(222L);
|
||||||
paymentInstruction.setDebitCsAccount("123456789");
|
paymentInstruction.setDebit_csAccount("ACCC3");
|
||||||
paymentInstruction.setDebitLegAccount("123456789");
|
paymentInstruction.setDebitLeg_account("AC-1");
|
||||||
paymentInstruction.setCreditLegDirection(3030L);
|
paymentInstruction.setCreditLeg_direction("BUY");
|
||||||
paymentInstruction.setDebitLegDirection(3030L);
|
paymentInstruction.setDebitLeg_direction("SELL");
|
||||||
paymentInstruction.setCreditLegCurrencyCode("123456789");
|
paymentInstruction.setCreditLeg_currencyCode("RUB");
|
||||||
paymentInstruction.setDebitLegCurrencyCode("123456789");
|
paymentInstruction.setDebitLeg_currencyCode("RUB");
|
||||||
paymentInstruction.setClearingDate(LocalDate.now());
|
paymentInstruction.setCreditLeg_securityId(12L);
|
||||||
|
paymentInstruction.setDebitLeg_securityId(15L);
|
||||||
paymentInstruction.setTransactionStatus("Status");
|
paymentInstruction.setTransactionStatus("Status");
|
||||||
paymentInstruction.setDocumentNumber("123456789");
|
paymentInstruction.setDocumentNumber("123456789");
|
||||||
|
paymentInstruction.setClearingDate(LocalDate.now());
|
||||||
|
paymentInstruction.setSessionId(555L);
|
||||||
paymentInstruction.setId(currentId.get());
|
paymentInstruction.setId(currentId.get());
|
||||||
|
|
||||||
IMap<Long, PaymentInstruction> iMap = hazelcastServiceTest.getHazelcast().getMap(IMDGDistributedNames.Map_PaymentInstruction);
|
IMap<Long, PaymentInstruction> iMap = hazelcastServiceTest.getHazelcast().getMap(IMDGDistributedNames.Map_PaymentInstruction);
|
||||||
|
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import ru.clearing.classes.statics.data.register.AdmittedDealRegister;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
|
|
||||||
class AdmittedDealRegisterControllerTest extends AbstractControllerTest {
|
|
||||||
private static final String REST_URL = "/admitted-deal-registers/";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@link AdmittedDealRegisterController#getAll()} <br>
|
|
||||||
* Тест проверяет получение запроса по REST API.<br>
|
|
||||||
* Входной запрос /admitted-deal-registers/ <br>
|
|
||||||
* Ответ CommonGetAllResponse <br>
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
void getAll() throws Exception {
|
|
||||||
//ARRANGE
|
|
||||||
AdmittedDealRegister admittedDealRegister = new AdmittedDealRegister();
|
|
||||||
admittedDealRegister.setId(currentId.get());
|
|
||||||
admittedDealRegister.setExecutionId(currentId.get());
|
|
||||||
admittedDealRegister.setCompanyFullName("com");
|
|
||||||
admittedDealRegister.setTradingDate(LocalDate.now());
|
|
||||||
admittedDealRegister.setExchangeExecutionId(currentId.get());
|
|
||||||
admittedDealRegister.setExchangeExecutionTime(Instant.now());
|
|
||||||
admittedDealRegister.setSecuritySymbol("symb");
|
|
||||||
admittedDealRegister.setSecurityFullName("name");
|
|
||||||
admittedDealRegister.setSellerFullName("dos");
|
|
||||||
admittedDealRegister.setSellerClearingCode("code");
|
|
||||||
admittedDealRegister.setSellerAccount("acc");
|
|
||||||
admittedDealRegister.setBuyerFullName("name");
|
|
||||||
admittedDealRegister.setBuyerClearingCode("code");
|
|
||||||
admittedDealRegister.setBuyerAccount("buy");
|
|
||||||
admittedDealRegister.setAmount(new BigDecimal(0));
|
|
||||||
admittedDealRegister.setClearingDate(LocalDate.now());
|
|
||||||
|
|
||||||
//ACT and ASSERT
|
|
||||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_AdmittedDealRegister, admittedDealRegister, REST_URL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import ru.clearing.classes.statics.data.misc.BalanceRegister;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.Instant;
|
|
||||||
|
|
||||||
class BalanceRegisterControllerTest extends AbstractControllerTest {
|
|
||||||
private static final String REST_URL = "/balance-registers/";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@link BalanceRegisterController#getAll()} <br>
|
|
||||||
* Тест проверяет получение запроса по REST API.<br>
|
|
||||||
* Входной запрос /balance-registers/ <br>
|
|
||||||
* Ответ CommonGetAllResponse <br>
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
void getAll() throws Exception {
|
|
||||||
//ARRANGE
|
|
||||||
BalanceRegister balanceRegister = new BalanceRegister();
|
|
||||||
balanceRegister.setId(currentId.get());
|
|
||||||
balanceRegister.setsDf01Date(Instant.now());
|
|
||||||
balanceRegister.setCurrencyCode("com");
|
|
||||||
balanceRegister.setSetHouseName("name");
|
|
||||||
balanceRegister.setAccount("acc");
|
|
||||||
balanceRegister.setInfoAccount("acc");
|
|
||||||
balanceRegister.setRemainderSum(new BigDecimal(0));
|
|
||||||
balanceRegister.setBlockedSum(new BigDecimal(0));
|
|
||||||
balanceRegister.setUnblockedSum(new BigDecimal(0));
|
|
||||||
balanceRegister.setInn("code");
|
|
||||||
balanceRegister.setMarket(currentId.get());
|
|
||||||
balanceRegister.setFullName("name");
|
|
||||||
balanceRegister.setTypeRemains("code");
|
|
||||||
balanceRegister.setDocNumber("buy");
|
|
||||||
balanceRegister.setCompanyId(currentId.get());
|
|
||||||
|
|
||||||
//ACT and ASSERT
|
|
||||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_BalanceRegister, balanceRegister, REST_URL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import ru.clearing.classes.statics.data.misc.ClearMemberRegister;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
|
|
||||||
class ClearMemberRegisterControllerTest extends AbstractControllerTest {
|
|
||||||
private static final String REST_URL = "/clearmember-registers/";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@link ClearMemberRegisterController#getAll()} <br>
|
|
||||||
* Тест проверяет получение запроса по REST API.<br>
|
|
||||||
* Входной запрос /clearmember-registers/ <br>
|
|
||||||
* Ответ CommonGetAllResponse <br>
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
void getAll() throws Exception {
|
|
||||||
//ARRANGE
|
|
||||||
ClearMemberRegister clearMemberRegister = new ClearMemberRegister();
|
|
||||||
clearMemberRegister.setId(currentId.get());
|
|
||||||
clearMemberRegister.setTradingCode("code");
|
|
||||||
clearMemberRegister.setClearingCode("com");
|
|
||||||
clearMemberRegister.setFullName("name");
|
|
||||||
clearMemberRegister.setShortName("name");
|
|
||||||
clearMemberRegister.setCategoryList("cat");
|
|
||||||
clearMemberRegister.setCorporationSole("symb");
|
|
||||||
clearMemberRegister.setAccount("name");
|
|
||||||
clearMemberRegister.setBank(currentId.get());
|
|
||||||
clearMemberRegister.setBankName("code");
|
|
||||||
clearMemberRegister.setInn("acc");
|
|
||||||
clearMemberRegister.setBic("name");
|
|
||||||
clearMemberRegister.setOgrn("code");
|
|
||||||
clearMemberRegister.setCpp("buy");
|
|
||||||
clearMemberRegister.setOcpo("ocpo");
|
|
||||||
clearMemberRegister.setContractNumber("cont");
|
|
||||||
clearMemberRegister.setContractDate(LocalDate.now());
|
|
||||||
clearMemberRegister.setRegistrationDate(LocalDate.now());
|
|
||||||
clearMemberRegister.setSystemDate(LocalDate.now());
|
|
||||||
clearMemberRegister.setAccessDate(Instant.now());
|
|
||||||
clearMemberRegister.setSuspentionDate(Instant.now());
|
|
||||||
clearMemberRegister.setReopeningDate(Instant.now());
|
|
||||||
clearMemberRegister.setCloseDate(Instant.now());
|
|
||||||
clearMemberRegister.setExclusionDate(Instant.now());
|
|
||||||
clearMemberRegister.setAddress("code");
|
|
||||||
clearMemberRegister.setEmail("acc");
|
|
||||||
|
|
||||||
//ACT and ASSERT
|
|
||||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_ClearMemberRegister, clearMemberRegister, REST_URL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -24,7 +24,7 @@ class ContractRegisterControllerTest extends AbstractControllerTest {
|
||||||
contractRegister.setName("code");
|
contractRegister.setName("code");
|
||||||
contractRegister.setNumber("com");
|
contractRegister.setNumber("com");
|
||||||
contractRegister.setIssueDate(LocalDate.now());
|
contractRegister.setIssueDate(LocalDate.now());
|
||||||
contractRegister.setCompanyFullName(currentId.get());
|
contractRegister.setCompanyFullName("CF name C");
|
||||||
contractRegister.setCompanyId(currentId.get());
|
contractRegister.setCompanyId(currentId.get());
|
||||||
contractRegister.setDocumentType("symb");
|
contractRegister.setDocumentType("symb");
|
||||||
contractRegister.setIssuePlace("name");
|
contractRegister.setIssuePlace("name");
|
||||||
|
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import ru.clearing.classes.statics.data.register.CoveredDealRegister;
|
|
||||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
|
|
||||||
class CoveredDealRegisterControllerTest extends AbstractControllerTest {
|
|
||||||
private static final String REST_URL = "/covered-deal-registers/";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@link CoveredDealRegisterController#getAll()} <br>
|
|
||||||
* Тест проверяет получение запроса по REST API.<br>
|
|
||||||
* Входной запрос /covered-deal-registers/ <br>
|
|
||||||
* Ответ CommonGetAllResponse <br>
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
void getAll() throws Exception {
|
|
||||||
//ARRANGE
|
|
||||||
CoveredDealRegister coveredDealRegister = new CoveredDealRegister();
|
|
||||||
coveredDealRegister.setId(currentId.get());
|
|
||||||
coveredDealRegister.setExecutionId(currentId.get());
|
|
||||||
coveredDealRegister.setCompanyFullName("com");
|
|
||||||
coveredDealRegister.setTradingDate(LocalDate.now());
|
|
||||||
coveredDealRegister.setExchangeExecutionId(currentId.get());
|
|
||||||
coveredDealRegister.setExchangeExecutionTime(Instant.now());
|
|
||||||
coveredDealRegister.setSecuritySymbol("symb");
|
|
||||||
coveredDealRegister.setSecurityFullName("name");
|
|
||||||
coveredDealRegister.setSellerFullName("name");
|
|
||||||
coveredDealRegister.setSellerClearingCode("code");
|
|
||||||
coveredDealRegister.setSellerAccount("acc");
|
|
||||||
coveredDealRegister.setBuyerFullName("name");
|
|
||||||
coveredDealRegister.setBuyerClearingCode("code");
|
|
||||||
coveredDealRegister.setBuyerAccount("buy");
|
|
||||||
coveredDealRegister.setAmount(new BigDecimal(0));
|
|
||||||
coveredDealRegister.setClearingDate(LocalDate.now());
|
|
||||||
|
|
||||||
//ACT and ASSERT
|
|
||||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_CoveredDealRegister, coveredDealRegister, REST_URL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue