clearing-service http://jira.mfd.msk:8088/browse/CLS-265 Sdf08Executor поправил тип счёта-депо (рефакторинг)
This commit is contained in:
parent
c211870d3f
commit
9292206208
2 changed files with 36 additions and 9 deletions
|
|
@ -183,10 +183,20 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
|
|||
return Optional.empty();
|
||||
}
|
||||
|
||||
String parseAccountType(String depoCode) {
|
||||
String accountType = null;
|
||||
if (depoCode != null) {
|
||||
int p = depoCode.indexOf(":");
|
||||
if (p > 3) { // выбрать 3-ю букву, отсчитывая от последнего символа
|
||||
accountType = depoCode.substring(p - 3, p - 2);
|
||||
}
|
||||
}
|
||||
return accountType;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param sdf01Id
|
||||
* @param account DepoCode
|
||||
* @param account DepoCode
|
||||
* @param companyId
|
||||
* @return AccountSdfRequestPart
|
||||
*/
|
||||
|
|
@ -194,13 +204,7 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
|
|||
AccountSdfRequestPart req = new AccountSdfRequestPart();
|
||||
req.setAccount(account);
|
||||
req.setCompanyId(companyId);
|
||||
String accountType = null;
|
||||
if (account != null) {
|
||||
int p = account.indexOf(":");
|
||||
if (p > 3) { // выбрать 3-ю букву, отсчитывая от последнего символа
|
||||
accountType = account.substring(p - 3, p - 2);
|
||||
}
|
||||
}
|
||||
String accountType = parseAccountType(account);
|
||||
if (accountType == null) {
|
||||
log.warn("Unparseable depoCode of account: \"{}\"", account);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
package ru.spcex.clearing.service.executors;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.utils.enumeration.SimpleMessageResolver;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class Sdf08ExecutorTest {
|
||||
|
||||
@Test
|
||||
void parseAccountType() {
|
||||
ImdgProvider imdgP = Mockito.mock(ImdgProvider.class);
|
||||
Sdf08Executor sdf08Executor = new Sdf08Executor(null, imdgP, new SimpleMessageResolver());
|
||||
|
||||
assertNull(sdf08Executor.parseAccountType(null));
|
||||
assertNull(sdf08Executor.parseAccountType("."));
|
||||
assertNull(sdf08Executor.parseAccountType("AAA222"));
|
||||
assertNull(sdf08Executor.parseAccountType("AA:A222"));
|
||||
assertEquals("B", sdf08Executor.parseAccountType("AAB12:A222"));
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue