fix after commit 5a158cec (CURRENCY.ID for RUB always should be hardcoded)
This commit is contained in:
parent
8449e13e1c
commit
2406152394
2 changed files with 9 additions and 5 deletions
|
|
@ -34,6 +34,7 @@ import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
|||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.enumeration.CurrencyCode;
|
||||
import ru.spcex.platform.enumeration.DepoAccountType;
|
||||
import ru.spcex.platform.enumeration.Sender;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
|
|
@ -137,20 +138,21 @@ public class AccountService extends QueueConsumer implements InitializingBean {
|
|||
|
||||
CorrespondentAccountNewRequest req = userRequest.getRequestPayload();
|
||||
Currency currency = validator.getStored(Stored.currency);
|
||||
|
||||
String currencyCode = req.getCurrency() == null ? CurrencyCode.RUB.getKey() : req.getCurrency();
|
||||
Long currencyCodeId = CurrencyCode.RUB.getKey().equals(currencyCode) ? 810 : currency.getId();
|
||||
Instant now = Instant.now();
|
||||
Account account = new Account();
|
||||
account.setCompanyId(req.getCompanyId());
|
||||
account.setAccount(req.getAccount());
|
||||
if (AccountType.Info.equalsByKey(req.getAccountType())) {
|
||||
Long infoSequenceId = informationAccountService.accountNextId(currency.getCurrencyCode(), currency.getId());
|
||||
Long infoSequenceId = informationAccountService.accountNextId(currencyCode, currencyCodeId);
|
||||
|
||||
String accountValue = informationAccountService.generateInfoAccount(currency.getId(), infoSequenceId);
|
||||
String accountValue = informationAccountService.generateInfoAccount(currencyCodeId, infoSequenceId);
|
||||
log.trace("New info-account SequenceId={} account={}", infoSequenceId, accountValue);
|
||||
account.setAccount(accountValue);
|
||||
}
|
||||
account.setAccountType(req.getAccountType());
|
||||
account.setCurrency(currency.getCurrencyCode());
|
||||
account.setCurrency(currencyCode);
|
||||
if (req.getStatus() == null) {
|
||||
account.setStatus(WorkflowStatus.Active.getKey());
|
||||
log.trace("Status not set in request. Use default: {}", account.getStatus());
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import java.util.Optional;
|
|||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
import ru.spcex.platform.classes.base.interfaces.WithCurrency;
|
||||
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;
|
||||
|
|
@ -32,8 +33,9 @@ public class CurrencyCodeValidationRule implements IValidationRule<ImdgValidatio
|
|||
}
|
||||
Imdg<SpcexObjectBase> curImdg = context.obtainMap(IMDGDistributedNames.Map_Currency, SpcexObjectBase.class);
|
||||
ImdgPredicateBuilder pb = curImdg.predicateBuilder();
|
||||
String currencyCode = obj.currency() == null ? CurrencyCode.RUB.getKey() : obj.currency();
|
||||
SpcexObjectBase currency = curImdg.getFirstObjectByPredicate(
|
||||
pb.equals("currencyCode", obj.currency())
|
||||
pb.equals("currencyCode", currencyCode)
|
||||
);
|
||||
if (currency == null) {
|
||||
return of(errEnum, obj.currency());
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue