From 0106d585692f69748a6506af57119a2dd591438c Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Fri, 14 Jun 2024 18:10:12 +0300 Subject: [PATCH] xml-importer xml file processing minor changes --- .../importer/config/XMLImporterConfig.java | 26 ++++++++----- .../data/tags/objects/DF01ObjectTag.java | 11 +----- .../data/tags/objects/DF04ObjectTag.java | 11 +----- .../data/tags/objects/DF06ObjectTag.java | 11 +----- .../data/tags/objects/DF52ObjectTag.java | 11 +----- .../data/tags/objects/DF55ObjectTag.java | 11 +----- .../data/tags/objects/DF57ObjectTag.java | 11 +----- .../logic/data/tags/objects/ObjectTag.java | 37 ++++--------------- .../xml/importer/logic/steps/ImportToDB.java | 11 +++--- 9 files changed, 41 insertions(+), 99 deletions(-) diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java index dca0aa625..dae81ee05 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java @@ -1,7 +1,5 @@ package ru.spcex.clearing.xml.importer.config; -import java.util.HashMap; -import java.util.Map; import com.ctc.wstx.stax.WstxInputFactory; import com.ctc.wstx.stax.WstxOutputFactory; import com.fasterxml.jackson.databind.SerializationFeature; @@ -9,6 +7,8 @@ import com.fasterxml.jackson.dataformat.xml.XmlFactory; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import java.util.HashMap; +import java.util.Map; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; import org.slf4j.Logger; @@ -20,9 +20,15 @@ import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import ru.clearing.classes.statics.data.sdf.SDf01; +import ru.clearing.classes.statics.data.sdf.SDf04; +import ru.clearing.classes.statics.data.sdf.SDf06; +import ru.clearing.classes.statics.data.sdf.SDf52; +import ru.clearing.classes.statics.data.sdf.SDf55; +import ru.clearing.classes.statics.data.sdf.SDf57; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; +import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; @@ -58,14 +64,14 @@ public class XMLImporterConfig { } @Bean("mapOfTable") - public Map> getMapOfTables() { - Map> map = new HashMap<>(); - map.put(ETable.DF_01.name(), hazelcastService.getImdg(IMDGDistributedNames.Map_SDf01, SDf01.class)); - map.put(ETable.DF_04.name(), hazelcastService.getImdg(IMDGDistributedNames.Map_SDf01, SDf01.class)); - map.put(ETable.DF_06.name(), hazelcastService.getImdg(IMDGDistributedNames.Map_SDf01, SDf01.class)); - map.put(ETable.DF_52.name(), hazelcastService.getImdg(IMDGDistributedNames.Map_SDf01, SDf01.class)); - map.put(ETable.DF_55.name(), hazelcastService.getImdg(IMDGDistributedNames.Map_SDf01, SDf01.class)); - map.put(ETable.DF_57.name(), hazelcastService.getImdg(IMDGDistributedNames.Map_SDf01, SDf01.class)); + public Map> getMapOfTables() { + Map> map = new HashMap<>(); + map.put(ETable.DF_01, hazelcastService.getImdg(IMDGDistributedNames.Map_SDf01, SDf01.class)); + map.put(ETable.DF_04, hazelcastService.getImdg(IMDGDistributedNames.Map_SDf04, SDf04.class)); + map.put(ETable.DF_06, hazelcastService.getImdg(IMDGDistributedNames.Map_SDf06, SDf06.class)); + map.put(ETable.DF_52, hazelcastService.getImdg(IMDGDistributedNames.Map_SDf52, SDf52.class)); + map.put(ETable.DF_55, hazelcastService.getImdg(IMDGDistributedNames.Map_SDf55, SDf55.class)); + map.put(ETable.DF_57, hazelcastService.getImdg(IMDGDistributedNames.Map_SDf57, SDf57.class)); return map; } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF01ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF01ObjectTag.java index df4107ccb..2b1b1b763 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF01ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF01ObjectTag.java @@ -2,17 +2,13 @@ package ru.spcex.clearing.xml.importer.logic.data.tags.objects; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; -import java.time.Instant; import java.time.LocalDate; import java.util.Objects; import ru.clearing.classes.statics.data.sdf.SDf01; -import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; public class DF01ObjectTag extends ObjectTag { - private static final String PREFIX = ETable.DF_01.name(); - private static final Class CLAZZ = SDf01.class; - private static final String NAME_OF_HZ_MAP = IMDGDistributedNames.Map_SDf01; + private static final ETable PREFIX = ETable.DF_01; @JacksonXmlProperty(isAttribute = true, localName = "CURR_CODE") private String currCode; @@ -52,7 +48,7 @@ public class DF01ObjectTag extends ObjectTag { private String fileType; public DF01ObjectTag() { - super(PREFIX, CLAZZ, NAME_OF_HZ_MAP); + super(PREFIX); } @Override @@ -71,9 +67,6 @@ public class DF01ObjectTag extends ObjectTag { result.setSumengage(this.getSumengage()); result.setSumunblock(this.getSumunblock()); result.setFile_type(this.getFileType()); - result.setFileName(filename); - result.setGenerationTime(Instant.now()); - result.setGenerationId(fileId); return result; } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF04ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF04ObjectTag.java index db64732df..23b9a4187 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF04ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF04ObjectTag.java @@ -2,17 +2,13 @@ package ru.spcex.clearing.xml.importer.logic.data.tags.objects; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; -import java.time.Instant; import java.time.LocalDate; import java.util.Objects; import ru.clearing.classes.statics.data.sdf.SDf04; -import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; public class DF04ObjectTag extends ObjectTag { - private static final String PREFIX = ETable.DF_04.name(); - private static final Class CLAZZ = SDf04.class; - private static final String NAME_OF_HZ_MAP = IMDGDistributedNames.Map_SDf04; + private static final ETable PREFIX = ETable.DF_04; @JacksonXmlProperty(isAttribute = true, localName = "SEG_TYPE") private String segType; @@ -63,7 +59,7 @@ public class DF04ObjectTag extends ObjectTag { private String impResult; public DF04ObjectTag() { - super(PREFIX, CLAZZ, NAME_OF_HZ_MAP); + super(PREFIX); } @Override @@ -91,9 +87,6 @@ public class DF04ObjectTag extends ObjectTag { result.setSum_deb(this.getSumDeb()); result.setSpecif_1(this.getSpecif1()); result.setImp_result(this.getImpResult()); - result.setFile_name(filename); - result.setGenerationTime(Instant.now()); - result.setGenerationId(fileId); return result; } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF06ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF06ObjectTag.java index 96a2fb146..205f3c7fb 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF06ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF06ObjectTag.java @@ -3,17 +3,13 @@ package ru.spcex.clearing.xml.importer.logic.data.tags.objects; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import java.math.BigDecimal; -import java.time.Instant; import java.time.LocalDate; import java.util.Objects; import ru.clearing.classes.statics.data.sdf.SDf06; -import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; public class DF06ObjectTag extends ObjectTag { - private static final String PREFIX = ETable.DF_06.name(); - private static final Class CLAZZ = SDf06.class; - private static final String NAME_OF_HZ_MAP = IMDGDistributedNames.Map_SDf06; + private static final ETable PREFIX = ETable.DF_06; @JacksonXmlProperty(isAttribute = true, localName = "ACCOUNT") private String account; @@ -56,7 +52,7 @@ public class DF06ObjectTag extends ObjectTag { private String payVal; public DF06ObjectTag() { - super(PREFIX, CLAZZ, NAME_OF_HZ_MAP); + super(PREFIX); } @Override @@ -76,9 +72,6 @@ public class DF06ObjectTag extends ObjectTag { result.setDoc_Num(this.getDocNum()); result.setDoc_Date(this.getDocDate().toString()); result.setPay_val(this.getPayVal()); - result.setFileName(filename); - result.setGenerationTime(Instant.now()); - result.setGenerationId(fileId); return result; } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF52ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF52ObjectTag.java index 10d04ca85..c858634c1 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF52ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF52ObjectTag.java @@ -2,17 +2,13 @@ package ru.spcex.clearing.xml.importer.logic.data.tags.objects; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; -import java.time.Instant; import java.time.LocalDate; import java.util.Objects; import ru.clearing.classes.statics.data.sdf.SDf52; -import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; public class DF52ObjectTag extends ObjectTag { - private static final String PREFIX = ETable.DF_52.name(); - private static final Class CLAZZ = SDf52.class; - private static final String NAME_OF_HZ_MAP = IMDGDistributedNames.Map_SDf52; + private static final ETable PREFIX = ETable.DF_52; @JacksonXmlProperty(isAttribute = true, localName = "ACCOUNT") private String account; @@ -34,7 +30,7 @@ public class DF52ObjectTag extends ObjectTag { private String accType; public DF52ObjectTag() { - super(PREFIX, CLAZZ, NAME_OF_HZ_MAP); + super(PREFIX); } @Override @@ -47,9 +43,6 @@ public class DF52ObjectTag extends ObjectTag { result.setDate(this.getDate().toString()); result.setAcc_type(this.getAccType()); result.setStatus(this.getStatus()); - result.setFileName(filename); - result.setGenerationTime(Instant.now()); - result.setGenerationId(fileId); return result; } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF55ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF55ObjectTag.java index 02d051e39..af99a464d 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF55ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF55ObjectTag.java @@ -2,17 +2,13 @@ package ru.spcex.clearing.xml.importer.logic.data.tags.objects; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; -import java.time.Instant; import java.time.LocalDate; import java.util.Objects; import ru.clearing.classes.statics.data.sdf.SDf55; -import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; public class DF55ObjectTag extends ObjectTag { - private static final String PREFIX = ETable.DF_55.name(); - private static final Class CLAZZ = SDf55.class; - private static final String NAME_OF_HZ_MAP = IMDGDistributedNames.Map_SDf55; + private static final ETable PREFIX = ETable.DF_55; @JacksonXmlProperty(isAttribute = true, localName = "SEG_TYPE") private String segType; @@ -125,7 +121,7 @@ public class DF55ObjectTag extends ObjectTag { private String swiftInt; public DF55ObjectTag() { - super(PREFIX, CLAZZ, NAME_OF_HZ_MAP); + super(PREFIX); } @Override @@ -177,9 +173,6 @@ public class DF55ObjectTag extends ObjectTag { result.setValue_date(this.getValueDate().toString()); result.setSwift_ben(this.getSwiftBen()); result.setSwift_int(this.getSwiftInt()); - result.setFileName(filename); - result.setGenerationTime(Instant.now()); - result.setGenerationId(fileId); return result; } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF57ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF57ObjectTag.java index 5579d30d5..e4aee9930 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF57ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF57ObjectTag.java @@ -2,17 +2,13 @@ package ru.spcex.clearing.xml.importer.logic.data.tags.objects; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; -import java.time.Instant; import java.time.LocalDate; import java.util.Objects; import ru.clearing.classes.statics.data.sdf.SDf57; -import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; public class DF57ObjectTag extends ObjectTag { - private static final String PREFIX = ETable.DF_57.name(); - private static final Class CLAZZ = SDf57.class; - private static final String NAME_OF_HZ_MAP = IMDGDistributedNames.Map_SDf57; + private static final ETable PREFIX = ETable.DF_57; @JacksonXmlProperty(isAttribute = true, localName = "ID") private Long id; @@ -118,7 +114,7 @@ public class DF57ObjectTag extends ObjectTag { private String ktOut; public DF57ObjectTag() { - super(PREFIX, CLAZZ, NAME_OF_HZ_MAP); + super(PREFIX); } @Override @@ -168,9 +164,6 @@ public class DF57ObjectTag extends ObjectTag { result.setKt_in(this.getKtIn()); result.setDt_out(this.getDtOut()); result.setKt_out(this.getKtOut()); - result.setFileName(filename); - result.setGenerationTime(Instant.now()); - result.setGenerationId(fileId); return result; } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/ObjectTag.java index 6d2edc155..eb345dd35 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/ObjectTag.java @@ -2,6 +2,7 @@ package ru.spcex.clearing.xml.importer.logic.data.tags.objects; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.imdg.api.Imdg; @@ -15,50 +16,26 @@ import ru.spcex.platform.imdg.api.Imdg; @JsonSubTypes.Type(DF57ObjectTag.class) }) public abstract class ObjectTag { - private final String prefix; - private final Class clazz; - private final String nameOfMap; -// protected HazelcastService hazelcastService; + private final ETable prefix; - protected String filename; - protected Long fileId; - - public ObjectTag(String prefix, Class clazz, String nameOfMap) { + public ObjectTag(ETable prefix) { this.prefix = prefix; - this.clazz = clazz; - this.nameOfMap = nameOfMap; } public abstract T1 getSDfEntity(); - public String getPrefix() { + public ETable getPrefix() { return prefix; } - public void insertEntity(Imdg map) { + public void insertEntity(Imdg map) { T1 obj = getSDfEntity(); if (checkOnExisting(obj)) { -// map.insert(obj); + map.insert(obj); } } - protected boolean checkOnExisting(T1 obj){ + protected boolean checkOnExisting(T1 obj) { return true; } - - public String getFilename() { - return filename; - } - - public void setFilename(String filename) { - this.filename = filename; - } - - public Long getFileId() { - return fileId; - } - - public void setFileId(Long fileId) { - this.fileId = fileId; - } } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java index c05dea24f..9f1904196 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java @@ -1,9 +1,9 @@ package ru.spcex.clearing.xml.importer.logic.steps; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; import java.io.File; import java.io.IOException; import java.util.Map; -import com.fasterxml.jackson.dataformat.xml.XmlMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Qualifier; @@ -13,6 +13,7 @@ import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; import ru.spcex.clearing.xml.importer.logic.data.tags.DocumentTag; import ru.spcex.clearing.xml.importer.logic.data.tags.objects.ObjectTag; +import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; import ru.spcex.platform.utils.log.ExceptionUtils; @@ -23,12 +24,12 @@ public class ImportToDB { private final XmlMapper xmlMapper; private final HazelcastService hazelcastService; private final XmlImportKafkaMessenger kafkaMessenger; - private final Map> mapOfTable; + private final Map> mapOfTable; public ImportToDB(@Qualifier("xmlMapper") XmlMapper xmlMapper, HazelcastService hazelcastService, XmlImportKafkaMessenger kafkaMessenger, - @Qualifier("mapOfTable") Map> mapOfTable) { + @Qualifier("mapOfTable") Map> mapOfTable) { this.xmlMapper = xmlMapper; this.hazelcastService = hazelcastService; this.kafkaMessenger = kafkaMessenger; @@ -52,8 +53,8 @@ public class ImportToDB { String fileName = resultContainer.getXmlFile().getName(); Long fileId = hazelcastService.getImdgIdGenerator().nextId(); - for (ObjectTag o : documentTag.getObjects()) { - Imdg imdgMap = mapOfTable.get(o.getPrefix()); + for (ObjectTag o : documentTag.getObjects()) { + Imdg imdgMap = mapOfTable.get(o.getPrefix()); o.insertEntity(imdgMap); }