extdb-importer http://jira.mfd.msk:8088/browse/CLS-641
This commit is contained in:
parent
8ee172b075
commit
9e5d54b130
4 changed files with 58 additions and 10 deletions
|
|
@ -31,8 +31,8 @@ class SCrossRateControllerTest extends AbstractControllerTest {
|
||||||
sCrossRate.setUnitRate(new BigDecimal("1.00"));
|
sCrossRate.setUnitRate(new BigDecimal("1.00"));
|
||||||
sCrossRate.setGenerationTime(Instant.now());
|
sCrossRate.setGenerationTime(Instant.now());
|
||||||
sCrossRate.setGenerationId(10L);
|
sCrossRate.setGenerationId(10L);
|
||||||
sCrossRate.setCreatedAt(Instant.now());
|
sCrossRate.setCreated(Instant.now());
|
||||||
sCrossRate.setUpdatedAt(sCrossRate.getCreatedAt());
|
sCrossRate.setUpdated(sCrossRate.getCreated());
|
||||||
|
|
||||||
//ACT and ASSERT
|
//ACT and ASSERT
|
||||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_SCrossRate, sCrossRate, REST_URL);
|
checkGettingAllFromRestApi(IMDGDistributedNames.Map_SCrossRate, sCrossRate, REST_URL);
|
||||||
|
|
|
||||||
|
|
@ -75,9 +75,6 @@ public class ExtDBImporterService {
|
||||||
crossRateDb.setId(sCrossRate.getId());
|
crossRateDb.setId(sCrossRate.getId());
|
||||||
crossRateDb.setCreated(sCrossRate.getCreated());
|
crossRateDb.setCreated(sCrossRate.getCreated());
|
||||||
crossRateDb.setUpdated(currentInstant);
|
crossRateDb.setUpdated(currentInstant);
|
||||||
// В extDb нет таких полей, оставляем как есть:
|
|
||||||
crossRateDb.setGenerationTime(sCrossRate.getGenerationTime());
|
|
||||||
crossRateDb.setGenerationId(sCrossRate.getGenerationId());
|
|
||||||
sCrossRateImdg.update(crossRateDb);
|
sCrossRateImdg.update(crossRateDb);
|
||||||
updated++;
|
updated++;
|
||||||
} else if (sCrossRate == null) {
|
} else if (sCrossRate == null) {
|
||||||
|
|
@ -87,6 +84,10 @@ public class ExtDBImporterService {
|
||||||
sCrossRateImdg.insert(crossRateDb);
|
sCrossRateImdg.insert(crossRateDb);
|
||||||
created++;
|
created++;
|
||||||
}
|
}
|
||||||
|
// В extDb нет таких полей, заполнить:
|
||||||
|
crossRateDb.setGenerationTime(currentInstant);
|
||||||
|
|
||||||
|
crossRateDb.setGenerationId(makeGenerationId(sCrossRate.getDate(), sCrossRate.getCurrCode()));
|
||||||
} else {
|
} else {
|
||||||
log.warn(messageResolver.resolve(new EnumMessage(crossRateNotValid, crossRateDb.getCurrCode())));
|
log.warn(messageResolver.resolve(new EnumMessage(crossRateNotValid, crossRateDb.getCurrCode())));
|
||||||
}
|
}
|
||||||
|
|
@ -105,6 +106,28 @@ public class ExtDBImporterService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected Long makeGenerationId(LocalDate date, String currCode) {
|
||||||
|
try {
|
||||||
|
long d = date.getYear() * 1_00_00L + date.getMonthValue() * 1_00L + date.getDayOfMonth();
|
||||||
|
currCode = currCode.trim();
|
||||||
|
if (!currCode.isEmpty()) {
|
||||||
|
int l = currCode.length();
|
||||||
|
long cc = Long.parseLong(currCode);
|
||||||
|
if (cc < 0) {
|
||||||
|
cc = -cc;
|
||||||
|
l--;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < l; i++) d *= 10L; // d = d * (int) Math.pow(10, currCode.length());
|
||||||
|
d += cc;
|
||||||
|
}
|
||||||
|
return d;
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.warn("Unparseable date={} and currCode={} - can not make number GenerationId",
|
||||||
|
date, currCode);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public SCrossRate getSCrossRateFromImdg(SCrossRate crossRateDb, Imdg<SCrossRate> sCrossRateImdg) {
|
public SCrossRate getSCrossRateFromImdg(SCrossRate crossRateDb, Imdg<SCrossRate> sCrossRateImdg) {
|
||||||
Map<String, Comparable<?>> query = new HashMap<>();
|
Map<String, Comparable<?>> query = new HashMap<>();
|
||||||
query.put("date", crossRateDb.getDate());
|
query.put("date", crossRateDb.getDate());
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ class ExtDBImporterServiceTest extends AbstractServiceTest {
|
||||||
|
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
private void prepare(){
|
private void prepare() {
|
||||||
clearAllInImdg(sCrossRateImdg);
|
clearAllInImdg(sCrossRateImdg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -66,7 +66,7 @@ class ExtDBImporterServiceTest extends AbstractServiceTest {
|
||||||
SCrossRate sCrossRate = getSCrossRate();
|
SCrossRate sCrossRate = getSCrossRate();
|
||||||
Long id = sCrossRateImdg.insert(sCrossRate);
|
Long id = sCrossRateImdg.insert(sCrossRate);
|
||||||
|
|
||||||
addRecordToKafka((MockConsumer) launcherCommandReceiver.getConsumer(), Task.getCurrencyRates.topic(), 0, 1, getJsonStringForNew(new LauncherCommandRequest(),0));
|
addRecordToKafka((MockConsumer) launcherCommandReceiver.getConsumer(), Task.getCurrencyRates.topic(), 0, 1, getJsonStringForNew(new LauncherCommandRequest(), 0));
|
||||||
|
|
||||||
//waiting for kafka producer send message
|
//waiting for kafka producer send message
|
||||||
// ArgumentCaptor<ProducerRecord> captor = getCaptor(kafkaTemplate);
|
// ArgumentCaptor<ProducerRecord> captor = getCaptor(kafkaTemplate);
|
||||||
|
|
@ -85,7 +85,7 @@ class ExtDBImporterServiceTest extends AbstractServiceTest {
|
||||||
* Входной запрос {@link LauncherCommandRequest}:<br>
|
* Входной запрос {@link LauncherCommandRequest}:<br>
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
void getSCrossRateFromImdg(){
|
void getSCrossRateFromImdg() {
|
||||||
SCrossRate sCrossRate = getSCrossRate();
|
SCrossRate sCrossRate = getSCrossRate();
|
||||||
Long id = sCrossRateImdg.insert(sCrossRate);
|
Long id = sCrossRateImdg.insert(sCrossRate);
|
||||||
SCrossRate sCrossRateRes = extDBImporterService.getSCrossRateFromImdg(sCrossRate, sCrossRateImdg);
|
SCrossRate sCrossRateRes = extDBImporterService.getSCrossRateFromImdg(sCrossRate, sCrossRateImdg);
|
||||||
|
|
@ -96,13 +96,37 @@ class ExtDBImporterServiceTest extends AbstractServiceTest {
|
||||||
assertNull(sCrossRateRes);
|
assertNull(sCrossRateRes);
|
||||||
}
|
}
|
||||||
|
|
||||||
private SCrossRate getSCrossRate(){
|
private SCrossRate getSCrossRate() {
|
||||||
SCrossRate sCrossRate = new SCrossRate();
|
SCrossRate sCrossRate = new SCrossRate();
|
||||||
sCrossRate.setDate(LocalDate.of(2024,2,8));
|
sCrossRate.setDate(LocalDate.of(2024, 2, 8));
|
||||||
sCrossRate.setRate(new BigDecimal("10.1"));
|
sCrossRate.setRate(new BigDecimal("10.1"));
|
||||||
sCrossRate.setUnitRate(new BigDecimal("12.4"));
|
sCrossRate.setUnitRate(new BigDecimal("12.4"));
|
||||||
sCrossRate.setCurrCode("RUB");
|
sCrossRate.setCurrCode("RUB");
|
||||||
sCrossRate.setCurrency("RUB");
|
sCrossRate.setCurrency("RUB");
|
||||||
return sCrossRate;
|
return sCrossRate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void makeGenerationId() {
|
||||||
|
assertEquals(20240130840L, extDBImporterService.makeGenerationId(
|
||||||
|
LocalDate.of(2024, 1, 30), " 840 "));
|
||||||
|
assertEquals(205612311230L, extDBImporterService.makeGenerationId(
|
||||||
|
LocalDate.of(2056, 12, 31), " 1230 "));
|
||||||
|
|
||||||
|
|
||||||
|
assertEquals(20561231L, extDBImporterService.makeGenerationId(
|
||||||
|
LocalDate.of(2056, 12, 31), " "));
|
||||||
|
assertEquals(205612310L, extDBImporterService.makeGenerationId(
|
||||||
|
LocalDate.of(2056, 12, 31), "0"));
|
||||||
|
assertEquals(205612315L, extDBImporterService.makeGenerationId(
|
||||||
|
LocalDate.of(2056, 12, 31), "-5"));
|
||||||
|
|
||||||
|
assertEquals(null, extDBImporterService.makeGenerationId(
|
||||||
|
LocalDate.of(2056, 12, 31), " - "));
|
||||||
|
assertEquals(null, extDBImporterService.makeGenerationId(
|
||||||
|
LocalDate.of(2056, 12, 31), null));
|
||||||
|
assertEquals(null, extDBImporterService.makeGenerationId(
|
||||||
|
null, " 840 "));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -10,6 +10,7 @@ kill -9 $(ps -ef | grep java | grep lim-exporter.jar | awk '{print $2}')
|
||||||
kill -9 $(ps -ef | grep java | grep swt-exporter.jar | awk '{print $2}')
|
kill -9 $(ps -ef | grep java | grep swt-exporter.jar | awk '{print $2}')
|
||||||
kill -9 $(ps -ef | grep java | grep dbf-importer.jar | awk '{print $2}')
|
kill -9 $(ps -ef | grep java | grep dbf-importer.jar | awk '{print $2}')
|
||||||
kill -9 $(ps -ef | grep java | grep trade-importer.jar | awk '{print $2}')
|
kill -9 $(ps -ef | grep java | grep trade-importer.jar | awk '{print $2}')
|
||||||
|
kill -9 $(ps -ef | grep java | grep extdb-service.jar | awk '{print $2}')
|
||||||
kill -9 $(ps -ef | grep java | grep imdg.jar | awk '{print $2}')
|
kill -9 $(ps -ef | grep java | grep imdg.jar | awk '{print $2}')
|
||||||
kill -9 $(ps -ef | grep java | grep imdg-hist.jar | awk '{print $2}')
|
kill -9 $(ps -ef | grep java | grep imdg-hist.jar | awk '{print $2}')
|
||||||
kill -9 $(ps -ef | grep java | grep securities-service.jar | awk '{print $2}')
|
kill -9 $(ps -ef | grep java | grep securities-service.jar | awk '{print $2}')
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue