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();
|
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 sdf01Id
|
||||||
* @param account DepoCode
|
* @param account DepoCode
|
||||||
* @param companyId
|
* @param companyId
|
||||||
* @return AccountSdfRequestPart
|
* @return AccountSdfRequestPart
|
||||||
*/
|
*/
|
||||||
|
|
@ -194,13 +204,7 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
|
||||||
AccountSdfRequestPart req = new AccountSdfRequestPart();
|
AccountSdfRequestPart req = new AccountSdfRequestPart();
|
||||||
req.setAccount(account);
|
req.setAccount(account);
|
||||||
req.setCompanyId(companyId);
|
req.setCompanyId(companyId);
|
||||||
String accountType = null;
|
String accountType = parseAccountType(account);
|
||||||
if (account != null) {
|
|
||||||
int p = account.indexOf(":");
|
|
||||||
if (p > 3) { // выбрать 3-ю букву, отсчитывая от последнего символа
|
|
||||||
accountType = account.substring(p - 3, p - 2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (accountType == null) {
|
if (accountType == null) {
|
||||||
log.warn("Unparseable depoCode of account: \"{}\"", account);
|
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