http://jira.mfd.msk:8088/browse/CLS-794 messageId type -> UUID and remove "-" for messageId (fix xml-exporter)

This commit is contained in:
akulikov 2024-11-29 17:51:47 +03:00
parent edb3760b51
commit 8dfb086191
11 changed files with 24 additions and 15 deletions

View file

@ -12,6 +12,7 @@ import java.util.Map;
import java.util.Objects;
import java.util.function.Supplier;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import net.logstash.logback.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Qualifier;
@ -20,6 +21,7 @@ import ru.clearing.classes.statics.data.sdf.SDf02;
import ru.clearing.classes.statics.data.sdf.SDf03;
import ru.clearing.classes.statics.data.sdf.SDf07;
import ru.clearing.classes.statics.data.sdf.SDf53;
import ru.clearing.classes.statics.data.sdf.WithMessageId;
import ru.clearing.classes.statics.data.sdf.WithParentId;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import static ru.spcex.clearing.platform.messaging.domain.Consts.PAIR_SDF;
@ -103,7 +105,6 @@ public class ExportFromHazelcast {
ParentDocTag parentDocTag = new ParentDocTag();
parentDocTag.setParentId("");
// todo: Добавить данные DocumentTag'а
documentTag.setMessageId(String.valueOf(resultContainer.getGroupId()));
documentTag.setMessageType(table.getFilePrefix().replace("-", ""));
documentTag.setMessageName(messageName);
documentTag.setMessageDate(LocalDate.now());
@ -150,7 +151,19 @@ public class ExportFromHazelcast {
((ArrayList<SpcexObjectBase>) tableRows).sort(Comparator.comparing(SpcexObjectBase::getId));
}
String messageId = "";
for (SpcexObjectBase s : tableRows) {
if (s instanceof WithMessageId withMessageId) {
if (!StringUtils.isBlank(messageId) && !messageId.equals(withMessageId.getMessageId())) {
log.warn(
"For batch messageId = {} current messageId ({}) not equal, skip",
messageId,
withMessageId.getMessageId()
);
continue;
}
messageId = withMessageId.getMessageId();
}
if (s instanceof WithParentId withParentId && withParentId.getParentId() != null) {
documentTag.getParentDoc().setParentId(withParentId.getParentId());
}
@ -158,6 +171,7 @@ public class ExportFromHazelcast {
updateSdfFilename(withFileName, xmlFile);
}
}
documentTag.setMessageId(messageId);
documentTag.setObjects(addObjectTags(tableRows, table));
resultContainer.setDocumentTag(documentTag);

View file

@ -145,7 +145,6 @@ class ExportFromHazelcastTest {
StageResult stageResult = exportFromHazelcast.process(actualResultContainer);
DF02ObjectTag actualObjectTag = (DF02ObjectTag) actualResultContainer.getDocumentTag().getObjects().get(0);
Assertions.assertThat("1777").isEqualTo(actualResultContainer.getDocumentTag().getMessageId());
Assertions.assertThat("007").isEqualTo(actualResultContainer.getDocumentTag().getParentDoc().getParentId());
Assertions.assertThat(stageResult).isEqualTo(StageResult.OK);
Assertions.assertThat(actualResultContainer.getDocumentTag().getMessageType()).isEqualTo("DF02");
@ -315,8 +314,6 @@ class ExportFromHazelcastTest {
StageResult stageResult = exportFromHazelcast.process(actualResultContainer);
DF07ObjectTag actualObjectTag = (DF07ObjectTag) actualResultContainer.getDocumentTag().getObjects().get(0);
Assertions.assertThat("3775").isEqualTo(actualResultContainer.getDocumentTag().getMessageId());
Assertions.assertThat("005").isEqualTo(actualResultContainer.getDocumentTag().getParentDoc().getParentId());
Assertions.assertThat(stageResult).isEqualTo(StageResult.OK);
Assertions.assertThat(actualResultContainer.getDocumentTag().getMessageType()).isEqualTo("DF07");
Assertions.assertThat(actualObjectTag.getAccount()).isEqualTo(expectedSDf07.getAccount());
@ -400,8 +397,6 @@ class ExportFromHazelcastTest {
StageResult stageResult = exportFromHazelcast.process(actualResultContainer);
DF53ObjectTag actualObjectTag = (DF53ObjectTag) actualResultContainer.getDocumentTag().getObjects().get(0);
Assertions.assertThat("2776").isEqualTo(actualResultContainer.getDocumentTag().getMessageId());
Assertions.assertThat("006").isEqualTo(actualResultContainer.getDocumentTag().getParentDoc().getParentId());
Assertions.assertThat(stageResult).isEqualTo(StageResult.OK);
Assertions.assertThat(actualResultContainer.getDocumentTag().getMessageType()).isEqualTo("DF53");
Assertions.assertThat(actualObjectTag.getAccount()).isEqualTo(expectedSDf53.getAccount());

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT MESSAGEID="1777" MESSAGETYPE="DF02" MESSAGENAME="Квитанция приема остатков" MESSAGEDATE="2024-11-27" MESSAGETIME="15:14:34" SENDER="" RECIEVER="">
<DOCUMENT MESSAGETYPE="DF02" MESSAGENAME="Квитанция приема остатков" MESSAGEDATE="2024-11-27" MESSAGETIME="15:14:34" SENDER="" RECIEVER="">
<PARENTDOC PARENTID="007"/>
<OBJECTS>
<OBJECT CURR_CODE="test1" ACCOUNT="test2" REMAINDER="test3" DEAL="test4" ACC_CODE="test5" DAT="2024-03-14" MARKET="test6" ACC_NAME="test7" ACC_TYPE="test8" SUMENGAGE="test9" SUMUNBLOK="test10" FILE_TYPE="test11" RESULT="test12"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT MESSAGEID="null" MESSAGETYPE="DF02" MESSAGENAME="Квитанция приема остатков" MESSAGEDATE="2024-11-27" MESSAGETIME="15:14:34" SENDER="" RECIEVER="">
<DOCUMENT MESSAGETYPE="DF02" MESSAGENAME="Квитанция приема остатков" MESSAGEDATE="2024-11-27" MESSAGETIME="15:14:34" SENDER="" RECIEVER="">
<PARENTDOC PARENTID=""/>
<OBJECTS/>
</DOCUMENT>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT MESSAGEID="null" MESSAGETYPE="DF03" MESSAGENAME="Распоряжение по итогам клиринга" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<DOCUMENT MESSAGETYPE="DF03" MESSAGENAME="Распоряжение по итогам клиринга" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<PARENTDOC PARENTID=""/>
<OBJECTS>
<OBJECT SEG_TYPE="test1" DOC_TYPE="test2" DOCNM_REF="test3" DOCNMPREV="test4" C_ACC_DEB="test5" SBANKNAM="test6" C_ACC_CRED="test7" RBANKNAM="test8" PAY_DATE="2024-03-14" PAY_VAL="test9" SUM_DEB="test10" SPECIF_1="test11" IMP_RESULT="test12"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT MESSAGEID="null" MESSAGETYPE="DF05" MESSAGENAME="Уведомление о завершении клиринга" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<DOCUMENT MESSAGETYPE="DF05" MESSAGENAME="Уведомление о завершении клиринга" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<PARENTDOC PARENTID=""/>
<OBJECTS>
<OBJECT TP="10" DT="2024-03-14" TM="09:22:12" PR="test2"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT MESSAGEID="3775" MESSAGETYPE="DF07" MESSAGENAME="Квитанция на запрос неторгового поручения" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<DOCUMENT MESSAGETYPE="DF07" MESSAGENAME="Квитанция на запрос неторгового поручения" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<PARENTDOC PARENTID="005"/>
<OBJECTS>
<OBJECT ACCOUNT="test1" SUM="10" MARKET="test3" TYPE="test4" DEAL="test5" CLIENTN="test6" INN="test7" BIC="test8" SPEC="test9" NUMBER="2" DOC_NUM="test11" DOC_DATE="2024-03-14" PAY_VAL="test12"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT MESSAGEID="null" MESSAGETYPE="DF51" MESSAGENAME="Запрос на получение остатков" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<DOCUMENT MESSAGETYPE="DF51" MESSAGENAME="Запрос на получение остатков" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<PARENTDOC PARENTID=""/>
<OBJECTS>
<OBJECT NUMBER="1234" UNIXTIME="1710396191" DATETIME="2024-03-14T09:03:11"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT MESSAGEID="2776" MESSAGETYPE="DF53" MESSAGENAME="" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<DOCUMENT MESSAGETYPE="DF53" MESSAGENAME="" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<PARENTDOC PARENTID="006"/>
<OBJECTS>
<OBJECT ACCOUNT="test1" ACC_NAME="test2" DEAL="test3" DATE="2024-03-14" STATUS="1" ACC_TYPE="test4" RESULT="test5"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT MESSAGEID="null" MESSAGETYPE="DF54" MESSAGENAME="Распоряжение на вывод денежных средств" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<DOCUMENT MESSAGETYPE="DF54" MESSAGENAME="Распоряжение на вывод денежных средств" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<PARENTDOC PARENTID=""/>
<OBJECTS>
<OBJECT SEG_TYPE="test1" DOC_TYPE="test2" DOCNM_REF="test3" DOCNMPREV="test4" SBANKCODE="test5" C_ACC_DEB="test6" SBANKNAM="test7" RBANKCODE="test8" C_ACC_CRED="test9" RBANKNAM="test10" OP_TYPE="test11" OP_ORDER="test12" PAY_DATE="2024-03-14" PAY_VAL="test13" SUM_DEB="test14" SCLIENTN="test15" INN_DEB="test16" KPP_DEB="test17" ACC_DEB="test18" RCLIENTN="test19" INN_CRED="test20" KPP_CRED="test21" ACC_KR_1="test22" SPECIF_1="test23" SEND_TYPE="test24" DOC_RESULT="test25" DOC_NUM="test26" DOC_DATE="2024-03-15" VALUE_DATE="2024-03-16" SWIFT_BEN="test27" SWIFT_INT="test28"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT MESSAGEID="null" MESSAGETYPE="DF56" MESSAGENAME="Запрос на получение выписки по счетам" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<DOCUMENT MESSAGETYPE="DF56" MESSAGENAME="Запрос на получение выписки по счетам" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="" RECIEVER="">
<PARENTDOC PARENTID=""/>
<OBJECTS>
<OBJECT NUMBER="test1" SUNIXTIME="1710396191" SDATETIME="2024-03-14T09:03:11" EUNIXTIME="1713168191" EDATETIME="2024-04-15T11:03:11" ACCOUNT="test4" DEAL="test5"/>