http://jira.mfd.msk:8088/browse/CLS-791 sender and receiver added to application.properties

This commit is contained in:
Ivan Nikolaev-Axenov 2024-11-21 16:50:40 +03:00
parent 9db8a6f4a8
commit a2bf45e292
5 changed files with 64 additions and 27 deletions

View file

@ -26,6 +26,8 @@ public class ExportXMLServiceSettings {
private Cron cron;
private String section;
private String sender;
private String receiver;
public HazelcastClientParams getHazelcast() {
return hazelcast;
@ -82,4 +84,20 @@ public class ExportXMLServiceSettings {
public void setSection(String section) {
this.section = section;
}
public String getSender() {
return sender;
}
public void setSender(String sender) {
this.sender = sender;
}
public String getReceiver() {
return receiver;
}
public void setReceiver(String receiver) {
this.receiver = receiver;
}
}

View file

@ -0,0 +1,16 @@
package ru.spcex.clearing.xml.exporter.logic.data.enums;
public enum Sender {
LCC("ЛЦК"),
SPVB("СПВБ");
Sender(String text) {
this.text = text;
}
private String text;
public String getText() {
return text;
}
}

View file

@ -23,6 +23,7 @@ import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.clearing.xml.exporter.config.SFTPConfig;
import ru.spcex.clearing.xml.exporter.config.settings.ExportXMLServiceSettings;
import ru.spcex.clearing.xml.exporter.logic.data.ResultContainer;
import ru.spcex.clearing.xml.exporter.logic.data.enums.Sender;
import ru.spcex.clearing.xml.exporter.logic.data.enums.StageResult;
import ru.spcex.clearing.xml.exporter.logic.data.enums.Table;
import ru.spcex.clearing.xml.exporter.logic.data.tags.DocumentTag;
@ -59,17 +60,25 @@ public class ExportFromHazelcast {
Table table = Objects.requireNonNull(resultContainer.getTableForExport());
File xmlFile = Objects.requireNonNull(resultContainer.getFileForExport());
String path;
String currency = ruCurrency; //todo: rewrite currency logic
if (CurrencyCode.isRub(currency)) {
path = settings.getStore().getOutPayValDir().get(ruCurrency);
} else {
path = settings.getStore().getOutPayValDir().get(currency);
}
DocumentTag documentTag = new DocumentTag();
ParentDocTag parentDocTag = new ParentDocTag();
parentDocTag.setParentId("");
// todo: Добавить данные DocumentTag'а
documentTag.setMessageId("");
documentTag.setMessageId(String.valueOf(resultContainer.getGroupId()));
documentTag.setMessageType(table.getFilePrefix().replace("-", ""));
documentTag.setMessageName("");
documentTag.setMessageDate(LocalDate.now());
documentTag.setMessageTime(LocalTime.now());
documentTag.setSender("");
documentTag.setReceiver("");
documentTag.setSender(settings.getSender() != null ? Sender.valueOf(settings.getSender().toUpperCase()).getText() : "");
documentTag.setReceiver(settings.getReceiver() != null ? settings.getReceiver() : "");
documentTag.setParentDoc(parentDocTag);
Imdg<? extends SpcexObjectBase> map = imdgProvider.getImdg(table.getHazelcastMapName(), table.getEntityClass());
@ -83,7 +92,12 @@ public class ExportFromHazelcast {
}
if (tableRows.isEmpty()) {
log.info("uuid {}. Map {} is empty, generationId {}", resultContainer.getUuid(), resultContainer.getTableForExport().getHazelcastMapName(), resultContainer.getGroupId());
return StageResult.COMPLETE;
log.debug("uuid {}, send to SFTP path \"{}\"", resultContainer.getUuid(), path);
documentTag.setObjects(List.of());
resultContainer.setDocumentTag(documentTag);
gateway.sendToSftp(xmlFile, path);
return StageResult.OK;
} else {
log.debug("uuid {}. Selected {} records from map {}, generationId {}", resultContainer.getUuid(),
tableRows.size(), resultContainer.getTableForExport().getHazelcastMapName(), resultContainer.getGroupId());
@ -97,27 +111,10 @@ public class ExportFromHazelcast {
documentTag.setObjects(addObjectTags(tableRows, table));
resultContainer.setDocumentTag(documentTag);
boolean emptyMap = tableRows.isEmpty();
String path;
String currency = ruCurrency; //todo: rewrite currency logic
if (CurrencyCode.isRub(currency)) {
path = settings.getStore().getOutPayValDir().get(ruCurrency);
} else {
path = settings.getStore().getOutPayValDir().get(currency);
}
if (emptyMap) {
log.debug("Delete empty XML temp file \"{}\"", resultContainer.getFileForExport());
boolean deleteOk = resultContainer.getFileForExport().delete();
if (!deleteOk) {
log.warn("Can't delete file {}", resultContainer.getFileForExport().getName());
}
} else {
log.debug("uuid {}, send to SFTP path \"{}\"", resultContainer.getUuid(), path);
gateway.sendToSftp(xmlFile, path);
if (Table.S_DF02.equals(resultContainer.getTableForExport())) {
sendPairSdfRequest(resultContainer);
}
log.debug("uuid {}, send to SFTP path \"{}\"", resultContainer.getUuid(), path);
gateway.sendToSftp(xmlFile, path);
if (Table.S_DF02.equals(resultContainer.getTableForExport())) {
sendPairSdfRequest(resultContainer);
}
return StageResult.OK;

View file

@ -8,7 +8,7 @@ export-xml-service.common.encoding=cp866
export-xml-service.common.threads-count=10
export-xml-service.store.local-temp-dir=D:\\docs and T3\\clearing\\xml\\
# код валюты должен быть в верхнем регистре, например для рублей - "RUB" (*.RUB=export/rub/).RUB=export/rub/
# \u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u044B \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0432 \u0432\u0435\u0440\u0445\u043D\u0435\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 \u0434\u043B\u044F \u0440\u0443\u0431\u043B\u0435\u0439 - "RUB" (*.RUB=export/rub/).RUB=export/rub/
export-xml-service.store.out-pay-val-dir.RUB=export/rub/
export-xml-service.store.out-pay-val-dir.EUR=export/eur/
export-xml-service.store.user:tester
@ -32,3 +32,5 @@ export-xml-service.kafka-producer.linger-ms=1
export-xml-service.kafka-producer.buffer-memory=33554432
export-xml-service.section=S
export-xml-service.sender=LCC
export-xml-service.receiver=\u0422\u0435\u0441\u0442

View file

@ -8,7 +8,7 @@ export-xml-service.common.encoding=cp866
export-xml-service.common.threads-count=10
export-xml-service.store.local-temp-dir=D:\\docs and T3\\clearing\\xml\\
# код валюты должен быть в верхнем регистре, например для рублей - "RUB" (*.RUB=export/rub/).RUB=export/rub/
# \u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u044B \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0432 \u0432\u0435\u0440\u0445\u043D\u0435\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 \u0434\u043B\u044F \u0440\u0443\u0431\u043B\u0435\u0439 - "RUB" (*.RUB=export/rub/).RUB=export/rub/
export-xml-service.store.out-pay-val-dir.RUB=export/rub/
export-xml-service.store.out-pay-val-dir.EUR=export/eur/
export-xml-service.store.user:tester
@ -30,3 +30,7 @@ export-xml-service.kafka-producer.retries=0
export-xml-service.kafka-producer.batch-size=16384
export-xml-service.kafka-producer.linger-ms=1
export-xml-service.kafka-producer.buffer-memory=33554432
export-xml-service.section=S
export-xml-service.sender=LCC
export-xml-service.receiver=\u0439\u0439\u0439 \u0446\u0446\u0446