This commit is contained in:
parent
f3503bfc24
commit
c8f1610eba
3 changed files with 21 additions and 19 deletions
|
|
@ -13,6 +13,7 @@ import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
|||
import ru.spcex.clearing.account.errors.AccountError;
|
||||
import ru.spcex.clearing.account.validation.BackendClientCodeValidationRule;
|
||||
import ru.spcex.clearing.account.validation.GatewayClientCodeValidationRule;
|
||||
import ru.spcex.clearing.account.validation.GatewayEksClientCodeValidationRule;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClientCodeUpdateRequest;
|
||||
|
|
@ -196,9 +197,9 @@ public class ClientCodeValidationConfig {
|
|||
addImdg.accept(IMDGDistributedNames.Map_DepoAccount);
|
||||
return new ValidatorImpl<>(context,
|
||||
FieldRequiredRule.instance("client_code", TkrAccount::getClientCode, AccountError.RequiredFieldEmpty),
|
||||
GatewayClientCodeValidationRule.CompanyPresent,
|
||||
GatewayEksClientCodeValidationRule.CompanyPresent,
|
||||
// GatewayClientCodeValidationRule.AllAccountsPresent,
|
||||
GatewayClientCodeValidationRule.DepoAccountsPresent
|
||||
GatewayEksClientCodeValidationRule.DepoAccountsPresent
|
||||
// GatewayClientCodeValidationRule.TcrIsNotPresent,
|
||||
// GatewayClientCodeValidationRule.TcrListIsNotPresent
|
||||
);
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ import java.util.Map;
|
|||
import java.util.Optional;
|
||||
import org.springframework.util.StringUtils;
|
||||
import ru.clearing.classes.statics.data.account.Account;
|
||||
import ru.clearing.classes.statics.data.account.AccountSymbols;
|
||||
import ru.clearing.classes.statics.data.account.DepoAccount;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistryList;
|
||||
|
|
@ -98,18 +96,9 @@ public enum GatewayClientCodeValidationRule implements IValidationRule<ImdgValid
|
|||
return empty();
|
||||
}
|
||||
|
||||
Imdg<AccountSymbols> accountSymbolsImdg = context.obtainMap(IMDGDistributedNames.Map_AccountSymbols, AccountSymbols.class);
|
||||
ImdgPredicateBuilder predicateBuilder = accountSymbolsImdg.predicateBuilder();
|
||||
AccountSymbols accountSymbols = accountSymbolsImdg.getSingleObjectByPredicate(
|
||||
predicateBuilder.equals("accountSymbolValue", depoAccountVal)
|
||||
);
|
||||
|
||||
if (accountSymbols == null) {
|
||||
return of(AccountError.DepoAccountNotFound, "depo_account");
|
||||
}
|
||||
Imdg<DepoAccount> imdg = context.obtainMap(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class);
|
||||
DepoAccount depoAccount = imdg.getFirstObjectByPredicate(
|
||||
predicateBuilder.equals("accountId", accountSymbols.getAccountId())
|
||||
Imdg<Account> imdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class);
|
||||
Account depoAccount = imdg.getFirstObjectByFieldValues(
|
||||
Map.of("account", depoAccountVal)
|
||||
);
|
||||
if (depoAccount == null) {
|
||||
context.storeObject(ClientCodeStoreObjects.DEPO_ACCOUNT, Optional.empty());
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.util.StringUtils;
|
||||
import ru.clearing.classes.statics.data.account.Account;
|
||||
import ru.clearing.classes.statics.data.account.AccountSymbols;
|
||||
import ru.clearing.classes.statics.data.account.DepoAccount;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.spcex.clearing.account.errors.AccountError;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
|
@ -15,6 +17,7 @@ import ru.spcex.clearing.platform.messaging.domain.cud.account.TkrAccount;
|
|||
import ru.spcex.clearing.platform.messaging.domain.cud.gateway.MoneyAccountMsgRequest;
|
||||
import ru.spcex.platform.enumeration.CurrencyCode;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.validation.IValidationRule;
|
||||
|
|
@ -75,9 +78,18 @@ public enum GatewayEksClientCodeValidationRule implements IValidationRule<ImdgVa
|
|||
return empty();
|
||||
}
|
||||
|
||||
Imdg<Account> imdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class);
|
||||
Account depoAccount = imdg.getFirstObjectByFieldValues(
|
||||
Map.of("account", depoAccountVal)
|
||||
Imdg<AccountSymbols> accountSymbolsImdg = context.obtainMap(IMDGDistributedNames.Map_AccountSymbols, AccountSymbols.class);
|
||||
ImdgPredicateBuilder predicateBuilder = accountSymbolsImdg.predicateBuilder();
|
||||
AccountSymbols accountSymbols = accountSymbolsImdg.getSingleObjectByPredicate(
|
||||
predicateBuilder.equals("accountSymbolValue", depoAccountVal)
|
||||
);
|
||||
|
||||
if (accountSymbols == null) {
|
||||
return of(AccountError.DepoAccountNotFound, "depo_account");
|
||||
}
|
||||
Imdg<DepoAccount> imdg = context.obtainMap(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class);
|
||||
DepoAccount depoAccount = imdg.getFirstObjectByPredicate(
|
||||
predicateBuilder.equals("accountId", accountSymbols.getAccountId())
|
||||
);
|
||||
if (depoAccount == null) {
|
||||
context.storeObject(ClientCodeStoreObjects.DEPO_ACCOUNT, Optional.empty());
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue