diff --git a/clearing-parent/dbf-exporter/pom.xml b/clearing-parent/dbf-exporter/pom.xml index fc2108169..249e0f012 100644 --- a/clearing-parent/dbf-exporter/pom.xml +++ b/clearing-parent/dbf-exporter/pom.xml @@ -21,10 +21,6 @@ org.springframework.boot spring-boot-starter - - org.springframework.boot - spring-boot-starter-web - org.springframework.boot spring-boot-autoconfigure diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/config/DBFExporterConfig.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/config/DBFExporterConfig.java index 10261ad81..183e5148c 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/config/DBFExporterConfig.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/config/DBFExporterConfig.java @@ -9,6 +9,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import ru.spcex.clearing.dbf.exporter.config.settings.ExportDBFServiceSettings; import ru.spcex.clearing.dbf.exporter.logic.stages.ExportFromHazelcast; +import ru.spcex.clearing.dbf.exporter.logic.stages.Journal; import ru.spcex.clearing.dbf.exporter.logic.stages.PrepareDBFFile; import ru.spcex.clearing.dbf.exporter.logic.stages.Stage; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -50,6 +51,7 @@ public class DBFExporterConfig { pipeline.add(context.getBean(PrepareDBFFile.class)); pipeline.add(context.getBean(ExportFromHazelcast.class)); + pipeline.add(context.getBean(Journal.class)); return pipeline; } diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/config/KafkaSenderConfig.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/config/KafkaSenderConfig.java index 5f0a59e40..04b8b3431 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/config/KafkaSenderConfig.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/config/KafkaSenderConfig.java @@ -38,7 +38,7 @@ public class KafkaSenderConfig { return KafkaProducerFactory.producerFactory(kafkaSettings); } - @Autowired(required = false) +// @Autowired(required = false) @Bean("kafkaTemplate") public KafkaTemplate kafkaTemplate(ProducerFactory pf) { if (pf == null) { @@ -47,7 +47,7 @@ public class KafkaSenderConfig { return new KafkaTemplate<>(pf); } - @Autowired(required = false) +// @Autowired(required = false) @Bean public KafkaSender kafkaSender(KafkaTemplate kafkaTemplate, ImdgProvider imdgProvider) { diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/controller/ExporterController.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/controller/ExporterController.java deleted file mode 100644 index a82bd0f32..000000000 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/controller/ExporterController.java +++ /dev/null @@ -1,37 +0,0 @@ -package ru.spcex.clearing.dbf.exporter.controller; - - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.http.MediaType; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; -import ru.spcex.clearing.dbf.exporter.services.DBFExportService; - -@Controller("/") -public class ExporterController implements InitializingBean { - private final Logger log = LoggerFactory.getLogger(getClass()); - private final DBFExportService dbfExportService; - - public ExporterController(@Qualifier("dbfExportService") DBFExportService dbfExportService) { - this.dbfExportService = dbfExportService; - } - - @RequestMapping(method = RequestMethod.GET, path = "/export", produces = MediaType.TEXT_PLAIN_VALUE) - @ResponseBody - public String exportTables() { - log.info("Call export method for exporter controller"); - dbfExportService.run(); - return "export done"; - } - - @Override - public void afterPropertiesSet() throws Exception { - log.info("controller started"); - - } -} diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/ResultContainer.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/ResultContainer.java index a84f3a8cb..82b5a7559 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/ResultContainer.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/ResultContainer.java @@ -4,6 +4,7 @@ import ru.spcex.clearing.dbf.exporter.logic.data.enums.StageResult; import ru.spcex.clearing.dbf.exporter.logic.data.enums.Table; import java.io.File; +import java.time.LocalDateTime; import java.util.UUID; /** @@ -15,6 +16,8 @@ public class ResultContainer { private File fileForExport; private Long groupId; private StageResult lastStageResult; + private LocalDateTime registrationDateTime; + private String mamberCode; protected ResultContainer() {} @@ -64,4 +67,20 @@ public class ResultContainer { public void setLastStageResult(StageResult lastStageResult) { this.lastStageResult = lastStageResult; } + + public LocalDateTime getRegistrationDateTime() { + return registrationDateTime; + } + + public void setRegistrationDateTime(LocalDateTime registrationDateTime) { + this.registrationDateTime = registrationDateTime; + } + + public String getMamberCode() { + return mamberCode; + } + + public void setMamberCode(String mamberCode) { + this.mamberCode = mamberCode; + } } diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/FilenameTemplate.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/FilenameTemplate.java new file mode 100644 index 000000000..457c83e7d --- /dev/null +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/FilenameTemplate.java @@ -0,0 +1,105 @@ +package ru.spcex.clearing.dbf.exporter.logic.data.enums; + +import ru.spcex.clearing.dbf.exporter.logic.data.ResultContainer; + +import java.io.File; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Locale; +import java.util.Objects; + +import static ru.spcex.clearing.dbf.exporter.logic.stages.PrepareDBFFile.SECTION; +import static ru.spcex.clearing.dbf.exporter.logic.stages.PrepareDBFFile.outDir; + +public enum FilenameTemplate { + df_section_dateTime { + @Override + public String getFileName(ResultContainer resultContainer) { + return appendSection(resultContainer) + .append(dateTime(resultContainer)) + .append(".DBF").toString(); + } + }, + df_section_dateTime_counter { + @Override + public String getFileName(ResultContainer resultContainer) { + return appendSection(resultContainer) + .append(dateTime(resultContainer)) + .append(counter(resultContainer)) + .append(".DBF").toString(); + } + }, + df_section_dateTime_counter_mamberCode { + @Override + public String getFileName(ResultContainer resultContainer) { + return appendSection(resultContainer) + .append(dateTime(resultContainer)) + .append(counter(resultContainer)) + .append(mamberCode(resultContainer)) + .append(".DBF").toString(); + } + }; + + protected StringBuilder appendSection(ResultContainer resultContainer) { + StringBuilder result = new StringBuilder(); + result.append(outDir); + result.append(File.separator); + result.append(resultContainer.getTableForExport().getFilePrefix().toUpperCase(Locale.ROOT)); + result.append('_'); + result.append(SECTION); + return result; + } + + protected StringBuilder dateTime(ResultContainer resultContainer) { + StringBuilder result = new StringBuilder(); + result.append('_'); + result.append("PRC"); + result.append(tsFormatter.format(resultContainer.getRegistrationDateTime())); + return result; + } + + protected StringBuilder counter(ResultContainer resultContainer) { + StringBuilder result = new StringBuilder(); + result.append('_'); + result.append(countSameFilesInDir(resultContainer.getTableForExport().getFilePrefix(), outDir) + 1); + return result; + } + + protected StringBuilder mamberCode(ResultContainer resultContainer) { + StringBuilder result = new StringBuilder(); + result.append('_'); + result.append(resultContainer.getMamberCode()); + return result; + } + + protected Integer countSameFilesInDir(String prefixOfTable, String outDir) { + int res = 0; + File directory = new File(outDir); + String timestampNow = utilFormatter.format(LocalDateTime.now()); + if (directory.exists()) { + for (File file : Objects.requireNonNull(directory.listFiles())) { + String name = file.getName(); + String[] splitName = name.split("_"); + String prefix = splitName[0]; + String timestamp = splitName[2]; + + if (prefix.equalsIgnoreCase(prefixOfTable) && timestamp.contains(timestampNow)) { + String counter = splitName[3]; + int positionOfDot = counter.indexOf('.'); + if (positionOfDot != -1) { + counter = counter.substring(0, positionOfDot); + } + res = Integer.max(res, Integer.parseInt(counter)); + } + } + } + return res; + } + + private static final DateTimeFormatter tsFormatter = DateTimeFormatter.ofPattern("yyMMddHHmm"); + private static final DateTimeFormatter utilFormatter = DateTimeFormatter.ofPattern("yyMMdd"); + + public String getFileName(ResultContainer resultContainer) { + return null; + } +} \ No newline at end of file diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/Table.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/Table.java index 52f7d87cd..24ae62a8e 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/Table.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/data/enums/Table.java @@ -7,11 +7,13 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; public enum Table { S_DF02("DF-02", IMDGDistributedNames.Map_SDf02, SDf02.class), S_DF03("DF-03", IMDGDistributedNames.Map_SDf03, SDf03.class), - S_DF08("DF-08", IMDGDistributedNames.Map_SDf08, SDf08.class), - S_DF11("DF-11", IMDGDistributedNames.Map_SDf11, SDf11.class), - S_DF18("DF-18", IMDGDistributedNames.Map_SDf18, SDf18.class), - S_DF10("DF-10", IMDGDistributedNames.Map_SDf10, SDf10.class), - S_DF17("DF-17", IMDGDistributedNames.Map_SDf17, SDf17.class); + S_DF05("DF-05", IMDGDistributedNames.Map_SDf05, SDf05.class), + S_DF07("DF-07", IMDGDistributedNames.Map_SDf07, SDf07.class), + S_DF51("DF-51", IMDGDistributedNames.Map_SDf51, SDf51.class), + S_DF53("DF-53", IMDGDistributedNames.Map_SDf53, SDf53.class), + S_DF54("DF-54", IMDGDistributedNames.Map_SDf54, SDf54.class), + S_DF56("DF-56", IMDGDistributedNames.Map_SDf56, SDf56.class); + /** * Префикс имени файла для экспорта diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/ExportFromHazelcast.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/ExportFromHazelcast.java index a2bebeafc..b9c819c40 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/ExportFromHazelcast.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/ExportFromHazelcast.java @@ -33,11 +33,12 @@ public class ExportFromHazelcast extends Stage implements InitializingBean { private final S_DF02_Converter s_df02_converter; private final S_DF03_Converter s_df03_converter; - private final S_DF08_Converter s_df08_converter; - private final S_DF11_Converter s_df11_converter; - private final S_DF18_Converter s_df18_converter; - private final S_DF10_Converter s_df10_converter; - private final S_DF17_Converter s_df17_converter; + private final S_DF05_Converter s_df05_converter; + private final S_DF07_Converter s_df07_converter; + private final S_DF51_Converter s_df51_converter; + private final S_DF53_Converter s_df53_converter; + private final S_DF54_Converter s_df54_converter; + private final S_DF56_Converter s_df56_converter; private final Map dbfFieldsForTable = new HashMap<>(); private Charset dbfCharset; @@ -46,20 +47,22 @@ public class ExportFromHazelcast extends Stage implements InitializingBean { @Qualifier("imdgProvider") ImdgProvider imdgProvider, S_DF02_Converter s_df02_converter, S_DF03_Converter s_df03_converter, - S_DF08_Converter s_df08_converter, - S_DF11_Converter s_df11_converter, - S_DF18_Converter s_df18_converter, - S_DF10_Converter s_df10_converter, - S_DF17_Converter s_df17_converter) { + S_DF07_Converter s_df07_converter, + S_DF05_Converter s_df05_converter, + S_DF51_Converter s_df51_converter, + S_DF54_Converter s_df54_converter, + S_DF53_Converter s_df53_converter, + S_DF56_Converter s_df56_converter) { this.settings = settings; this.imdgProvider = imdgProvider; this.s_df02_converter = s_df02_converter; this.s_df03_converter = s_df03_converter; - this.s_df08_converter = s_df08_converter; - this.s_df11_converter = s_df11_converter; - this.s_df18_converter = s_df18_converter; - this.s_df10_converter = s_df10_converter; - this.s_df17_converter = s_df17_converter; + this.s_df07_converter = s_df07_converter; + this.s_df05_converter = s_df05_converter; + this.s_df51_converter = s_df51_converter; + this.s_df54_converter = s_df54_converter; + this.s_df53_converter = s_df53_converter; + this.s_df56_converter = s_df56_converter; } @Override @@ -89,11 +92,12 @@ public class ExportFromHazelcast extends Stage implements InitializingBean { Object[] values; if (value instanceof SDf02 sDf02Value) values = s_df02_converter.toObjectArray(sDf02Value); else if (value instanceof SDf03 sDf03Value) values = s_df03_converter.toObjectArray(sDf03Value); - else if (value instanceof SDf08 sDf08Value) values = s_df08_converter.toObjectArray(sDf08Value); - else if (value instanceof SDf11 sDf11Value) values = s_df11_converter.toObjectArray(sDf11Value); - else if (value instanceof SDf18 sDf18Value) values = s_df18_converter.toObjectArray(sDf18Value); - else if (value instanceof SDf10 sDf10Value) values = s_df10_converter.toObjectArray(sDf10Value); - else if (value instanceof SDf17 sDf17Value) values = s_df17_converter.toObjectArray(sDf17Value); + else if (value instanceof SDf05 sDf05Value) values = s_df05_converter.toObjectArray(sDf05Value); + else if (value instanceof SDf07 sDf07Value) values = s_df07_converter.toObjectArray(sDf07Value); + else if (value instanceof SDf51 sDf51Value) values = s_df51_converter.toObjectArray(sDf51Value); + else if (value instanceof SDf53 sDf53Value) values = s_df53_converter.toObjectArray(sDf53Value); + else if (value instanceof SDf54 sDf54Value) values = s_df54_converter.toObjectArray(sDf54Value); + else if (value instanceof SDf56 sDf56Value) values = s_df56_converter.toObjectArray(sDf56Value); else throw new Exception("Get unknown object from imdg. Class: " + value.getClass().getSimpleName()); dbfWriter.addRecord(values); } @@ -131,11 +135,12 @@ public class ExportFromHazelcast extends Stage implements InitializingBean { private void initExportFileStructure() { dbfFieldsForTable.put(Table.S_DF02, s_df02_converter.getDBFHeaders()); dbfFieldsForTable.put(Table.S_DF03, s_df03_converter.getDBFHeaders()); - dbfFieldsForTable.put(Table.S_DF08, s_df08_converter.getDBFHeaders()); - dbfFieldsForTable.put(Table.S_DF18, s_df18_converter.getDBFHeaders()); - dbfFieldsForTable.put(Table.S_DF10, s_df10_converter.getDBFHeaders()); - dbfFieldsForTable.put(Table.S_DF11, s_df11_converter.getDBFHeaders()); - dbfFieldsForTable.put(Table.S_DF17, s_df17_converter.getDBFHeaders()); + dbfFieldsForTable.put(Table.S_DF05, s_df05_converter.getDBFHeaders()); + dbfFieldsForTable.put(Table.S_DF07, s_df07_converter.getDBFHeaders()); + dbfFieldsForTable.put(Table.S_DF51, s_df51_converter.getDBFHeaders()); + dbfFieldsForTable.put(Table.S_DF53, s_df53_converter.getDBFHeaders()); + dbfFieldsForTable.put(Table.S_DF54, s_df54_converter.getDBFHeaders()); + dbfFieldsForTable.put(Table.S_DF56, s_df56_converter.getDBFHeaders()); } private void initDBFCharset() { diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/Journal.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/Journal.java index 957862fa5..025a1819f 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/Journal.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/Journal.java @@ -11,25 +11,21 @@ import ru.spcex.clearing.dbf.exporter.logic.data.enums.Table; import ru.spcex.clearing.platform.messaging.domain.cud.system.JournalSdf; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; -import java.time.LocalDate; -import java.time.LocalTime; import java.util.EnumMap; import java.util.Map; +import static ru.spcex.clearing.platform.messaging.domain.Consts.EXPORT_COMPLETED; + @Component public class Journal extends Stage implements InitializingBean { private final Logger log = LoggerFactory.getLogger(getClass()); private final KafkaSender kafkaSender; - @Autowired(required = false) + @Autowired public Journal(KafkaSender kafkaSender) { this.kafkaSender = kafkaSender; } - public Journal() { - this.kafkaSender = null; - } - @Override public boolean skipCompleted() { return false; @@ -43,13 +39,13 @@ public class Journal extends Stage implements InitializingBean { } JournalSdf journalSdf = new JournalSdf(); //todo read file attibutes - journalSdf.setRegistrationDate(LocalDate.now()); - journalSdf.setRegistrationTime(LocalTime.now()); + journalSdf.setRegistrationDate(resultContainer.getRegistrationDateTime().toLocalDate()); + journalSdf.setRegistrationTime(resultContainer.getRegistrationDateTime().toLocalTime()); journalSdf.setRegistrationNumber(resultContainer.getGroupId()); journalSdf.setDocumentName(documentNames.get(resultContainer.getTableForExport())); journalSdf.setDossierNumber(dossierNumber.get(resultContainer.getTableForExport())); journalSdf.setResultStatus(StageResult.ERROR.equals(resultContainer.getLastStageResult()) ? "NACK" : "ACK"); -// kafkaSender.sendRequestToQueue(); + kafkaSender.sendRequestToQueue(EXPORT_COMPLETED, journalSdf); return StageResult.COMPLETE; } @@ -61,23 +57,23 @@ public class Journal extends Stage implements InitializingBean { static { documentNames.put(Table.S_DF02, "Уведомлений об исполнении операции загрузки денежных средств или уведомление об ошибке"); documentNames.put(Table.S_DF03, "Сводное платёжное поручение по итогу проведения расчетов, направляемое в РО"); - //documentNames.put(Table.S_DF05, "Уведомление о завершении расчетов в секции"); - documentNames.put(Table.S_DF08, "Запрос остатков по всем счетам, направляемый в РО"); - documentNames.put(Table.S_DF10, "Подтверждение о загрузке по поступлению на клиринговый счет"); - documentNames.put(Table.S_DF11, "Распоряжение на списание с ТБС УК на Клиринговый счет (по итогам проведения расчетов по возврату депозита) / Распоряжение на списание с ТБС УК на Корреспонденский счет УК"); - //documentNames.put(Table.S_DF13, "Распоряжение на списание денежных средств УК категории В (с клирингового счета)"); - documentNames.put(Table.S_DF17, "Подтверждение о загрузке Уведомления о возврате ден.ср. по договору депозита"); + documentNames.put(Table.S_DF05, "Уведомление о завершении расчетов в секции"); + documentNames.put(Table.S_DF07, "Подтверждение о загрузке Уведомления о возврате ден.ср. по договору депозита"); + documentNames.put(Table.S_DF51, "Запрос остатков по всем счетам, направляемый в РО"); + documentNames.put(Table.S_DF53, ""); + documentNames.put(Table.S_DF54, "Распоряжение на списание денежных средств УК категории В (с клирингового счета)"); + documentNames.put(Table.S_DF56, ""); } private static final Map dossierNumber = new EnumMap<>(Table.class); static { dossierNumber.put(Table.S_DF02, "07-50"); dossierNumber.put(Table.S_DF03, "07-51"); - //dossierNumber.put(Table.S_DF05, "07-53"); - dossierNumber.put(Table.S_DF08, "07-55"); - dossierNumber.put(Table.S_DF10, "07-56"); - dossierNumber.put(Table.S_DF11, "07-36"); - //dossierNumber.put(Table.S_DF13, "07-48"); - dossierNumber.put(Table.S_DF17, "07-58"); + dossierNumber.put(Table.S_DF05, "07-53"); + dossierNumber.put(Table.S_DF07, "07-58"); + dossierNumber.put(Table.S_DF51, "07-55"); + dossierNumber.put(Table.S_DF53, ""); + dossierNumber.put(Table.S_DF54, "07-48"); + dossierNumber.put(Table.S_DF56, ""); } } diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/PrepareDBFFile.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/PrepareDBFFile.java index a0743322c..f62dca17c 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/PrepareDBFFile.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/logic/stages/PrepareDBFFile.java @@ -4,6 +4,7 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.stereotype.Component; import ru.spcex.clearing.dbf.exporter.config.settings.ExportDBFServiceSettings; import ru.spcex.clearing.dbf.exporter.logic.data.ResultContainer; +import ru.spcex.clearing.dbf.exporter.logic.data.enums.FilenameTemplate; import ru.spcex.clearing.dbf.exporter.logic.data.enums.StageResult; import ru.spcex.clearing.dbf.exporter.logic.data.enums.Table; @@ -12,8 +13,8 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.Locale; +import java.util.EnumMap; +import java.util.Map; import java.util.Objects; /** @@ -21,12 +22,10 @@ import java.util.Objects; */ @Component public class PrepareDBFFile extends Stage implements InitializingBean { - private static final String SECTION = "U"; - private static final String CODE_OF_MEMBER = null; - private static final DateTimeFormatter tsFormatter = DateTimeFormatter.ofPattern("yyMMddHHmm"); - private static final DateTimeFormatter utilFormatter = DateTimeFormatter.ofPattern("yyMMdd"); + public static final String SECTION = "U"; + public static final String CODE_OF_MEMBER = null; private final ExportDBFServiceSettings settings; - private String outDir; + public static String outDir; public PrepareDBFFile(ExportDBFServiceSettings settings) { this.settings = settings; @@ -37,7 +36,9 @@ public class PrepareDBFFile extends Stage implements InitializingBean { Objects.requireNonNull(resultContainer.getTableForExport()); Table table = resultContainer.getTableForExport(); - File dbfFile = new File(prepareFilename(table, SECTION, CODE_OF_MEMBER, outDir)); + LocalDateTime currentDateTime = LocalDateTime.now(); + resultContainer.setRegistrationDateTime(currentDateTime); + File dbfFile = new File(nameTemplates.get(table).getFileName(resultContainer)); try { Path dbfFilePath = dbfFile.toPath(); Files.deleteIfExists(dbfFilePath); @@ -61,50 +62,16 @@ public class PrepareDBFFile extends Stage implements InitializingBean { this.outDir = outDirPath; } - private String prepareFilename(Table table, String section, String codeOfMember, String outDir) { - StringBuilder result = new StringBuilder(); - String prefixOfTable = table.getFilePrefix(); - String time = "PRC" + tsFormatter.format(LocalDateTime.now()); + private static final Map nameTemplates = new EnumMap<>(Table.class); - result.append(outDir); - result.append(File.separator); - result.append(prefixOfTable.toUpperCase(Locale.ROOT)); - result.append('_'); - result.append(section); - result.append('_'); - result.append(time); - result.append('_'); - result.append(countSameFilesInDir(prefixOfTable, outDir) + 1); - if (codeOfMember != null) { - result.append('_'); - result.append(codeOfMember); - } - result.append(".DBF"); - return result.toString(); - } - - private Integer countSameFilesInDir(String prefixOfTable, String outDir) { - int res = 0; - File directory = new File(outDir); - if (directory.exists()) { - for (File file : Objects.requireNonNull(directory.listFiles())) { - String name = file.getName(); - String[] splitName = name.split("_"); - String prefix = splitName[0]; - String timestamp = splitName[2]; - String timestampNow = utilFormatter.format(LocalDateTime.now()); - - if (prefix.equalsIgnoreCase(prefixOfTable) && timestamp.contains(timestampNow)) { - String counter = splitName[3]; - int positionOfDot = counter.indexOf('.'); - if (positionOfDot != -1) { - counter = counter.substring(0, positionOfDot); - } - res = Integer.max(res, Integer.parseInt(counter)); - - } - } - } - return res; + static { + nameTemplates.put(Table.S_DF02, FilenameTemplate.df_section_dateTime); + nameTemplates.put(Table.S_DF03, FilenameTemplate.df_section_dateTime_counter_mamberCode); + nameTemplates.put(Table.S_DF05, FilenameTemplate.df_section_dateTime); + nameTemplates.put(Table.S_DF07, FilenameTemplate.df_section_dateTime_counter); + nameTemplates.put(Table.S_DF51, FilenameTemplate.df_section_dateTime_counter); + nameTemplates.put(Table.S_DF53, FilenameTemplate.df_section_dateTime_counter); + nameTemplates.put(Table.S_DF54, FilenameTemplate.df_section_dateTime_counter); + nameTemplates.put(Table.S_DF56, FilenameTemplate.df_section_dateTime_counter); } } diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/CommandService.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/CommandService.java index 8689559f0..2c3acd3f1 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/CommandService.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/CommandService.java @@ -35,12 +35,30 @@ public class CommandService extends QueueConsumer implements InitializingBean { callback(ExportToFileRequest.class) .setConsumer(this::process) .forDestination(Consts.EXPORT_PROCESS, callbacks::put); + callback(SdfClearingRequest.class) + .setConsumer(r -> processSpecial(Table.S_DF02, r)) + .forDestination(Consts.SDF02_PROCESS, callbacks::put); callback(SdfClearingRequest.class) .setConsumer(r -> processSpecial(Table.S_DF03, r)) // todo необходимо в отдельную папку: "в отдельную директорию SettlementHouse_Fail (чтобы не отдавать такие файлы в ПРЦ" .forDestination(Consts.SDF03_PROCESS, callbacks::put); callback(SdfClearingRequest.class) - .setConsumer(r -> processSpecial(Table.S_DF11, r)) - .forDestination(Consts.SDF11_PROCESS, callbacks::put); + .setConsumer(r -> processSpecial(Table.S_DF05, r)) + .forDestination(Consts.SDF05_PROCESS, callbacks::put); + callback(SdfClearingRequest.class) + .setConsumer(r -> processSpecial(Table.S_DF07, r)) + .forDestination(Consts.SDF07_PROCESS, callbacks::put); + callback(SdfClearingRequest.class) + .setConsumer(r -> processSpecial(Table.S_DF51, r)) + .forDestination(Consts.SDF51_PROCESS, callbacks::put); + callback(SdfClearingRequest.class) + .setConsumer(r -> processSpecial(Table.S_DF53, r)) + .forDestination(Consts.SDF53_PROCESS, callbacks::put); + callback(SdfClearingRequest.class) + .setConsumer(r -> processSpecial(Table.S_DF54, r)) + .forDestination(Consts.SDF54_PROCESS, callbacks::put); + callback(SdfClearingRequest.class) + .setConsumer(r -> processSpecial(Table.S_DF56, r)) + .forDestination(Consts.SDF56_PROCESS, callbacks::put); init(); } diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/DBFExportService.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/DBFExportService.java deleted file mode 100644 index 3371e1c72..000000000 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/DBFExportService.java +++ /dev/null @@ -1,40 +0,0 @@ -package ru.spcex.clearing.dbf.exporter.services; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import org.springframework.stereotype.Service; -import ru.spcex.clearing.dbf.exporter.logic.Processor; -import ru.spcex.clearing.dbf.exporter.logic.data.ResultContainer; -import ru.spcex.clearing.dbf.exporter.logic.data.enums.Table; -import ru.spcex.platform.imdg.api.ImdgProvider; - -import java.util.Arrays; - -@Service("dbfExportService") -public class DBFExportService { - Logger log = LoggerFactory.getLogger(getClass()); - private final ThreadPoolTaskExecutor executor; - private final Processor processor; - protected final ImdgProvider imdgProvider; - - public DBFExportService(@Qualifier("executor") ThreadPoolTaskExecutor executor, - @Qualifier("processor") Processor processor, - ImdgProvider imdgProvider) { - this.executor = executor; - this.processor = processor; - this.imdgProvider = imdgProvider; - log.debug("Check IMDG..."); - imdgProvider.waitAvailable(); - log.debug("IMDG ready..."); - } - - public void run() { - log.debug("Do export for all: {}", Arrays.toString(Table.values())); - for (Table tableForExport : Table.values()) { - executor.submit(() -> processor.process(ResultContainer.createNewTask(tableForExport))); - } - } - -} diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/DFConverter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/DFConverter.java index 34ade61a5..c8c15f2ad 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/DFConverter.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/DFConverter.java @@ -3,6 +3,7 @@ package ru.spcex.clearing.dbf.exporter.services.converters; import com.linuxense.javadbf.DBFField; import ru.spcex.platform.classes.base.SpcexObjectBase; +import java.math.BigDecimal; import java.sql.Date; import java.sql.Time; import java.sql.Timestamp; @@ -25,4 +26,14 @@ public abstract class DFConverter { if (src instanceof LocalTime srcLocalTime) return Time.valueOf(srcLocalTime); return src; } + + protected Long convertStrToLong(String s) { + if (s == null) return null; + return Long.valueOf(s); + } + + protected BigDecimal convertStrToBigDecimal(String s) { + if (s == null) return null; + return new BigDecimal(s).setScale(0); + } } diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF02_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF02_Converter.java index b5c99f71e..5626235e0 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF02_Converter.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF02_Converter.java @@ -43,7 +43,7 @@ public class S_DF02_Converter extends DFConverter { dbfFields.add(new DBFField("ACC_TYPE", DBFDataType.CHARACTER, 2)); dbfFields.add(new DBFField("SUMENGAGE", DBFDataType.CHARACTER, 22)); dbfFields.add(new DBFField("SUMUNBLOCK", DBFDataType.CHARACTER, 22)); - dbfFields.add(new DBFField("FILE_TYPE", DBFDataType.CHARACTER, 22)); + dbfFields.add(new DBFField("FILE_TYPE", DBFDataType.CHARACTER, 1)); dbfFields.add(new DBFField("RESULT", DBFDataType.CHARACTER, 3)); return dbfFields.toArray(DBFField[]::new); } diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF03_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF03_Converter.java index 9505abaf5..854ba7aa0 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF03_Converter.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF03_Converter.java @@ -69,15 +69,15 @@ public class S_DF03_Converter extends DFConverter { dbfFields.add(new DBFField("DOC_TYPE", DBFDataType.CHARACTER, 4)); dbfFields.add(new DBFField("DOCNM_REF", DBFDataType.CHARACTER, 16)); dbfFields.add(new DBFField("DOCNMPREV", DBFDataType.CHARACTER, 16)); - dbfFields.add(new DBFField("PRIORITY", DBFDataType.CHARACTER, 1)); - dbfFields.add(new DBFField("SBANKCODE", DBFDataType.CHARACTER, 12)); +// dbfFields.add(new DBFField("PRIORITY", DBFDataType.CHARACTER, 1)); +// dbfFields.add(new DBFField("SBANKCODE", DBFDataType.CHARACTER, 12)); dbfFields.add(new DBFField("C_ACC_DEB", DBFDataType.CHARACTER, 35)); dbfFields.add(new DBFField("SBANKNAM1", DBFDataType.CHARACTER, 35)); dbfFields.add(new DBFField("SBANKNAM2", DBFDataType.CHARACTER, 35)); dbfFields.add(new DBFField("SBANKNAM3", DBFDataType.CHARACTER, 35)); dbfFields.add(new DBFField("SBANKNAM4", DBFDataType.CHARACTER, 35)); dbfFields.add(new DBFField("SBANKNAM5", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RBANKCODE", DBFDataType.CHARACTER, 12)); +// dbfFields.add(new DBFField("RBANKCODE", DBFDataType.CHARACTER, 12)); dbfFields.add(new DBFField("C_ACC_CRED", DBFDataType.CHARACTER, 35)); dbfFields.add(new DBFField("RBANKNAM1", DBFDataType.CHARACTER, 35)); dbfFields.add(new DBFField("RBANKNAM2", DBFDataType.CHARACTER, 35)); @@ -85,31 +85,31 @@ public class S_DF03_Converter extends DFConverter { dbfFields.add(new DBFField("RBANKNAM4", DBFDataType.CHARACTER, 35)); dbfFields.add(new DBFField("RBANKNAM5", DBFDataType.CHARACTER, 35)); dbfFields.add(new DBFField("PAY_DATE", DBFDataType.CHARACTER, 8)); - dbfFields.add(new DBFField("EXT_DATE", DBFDataType.CHARACTER, 8)); - dbfFields.add(new DBFField("PAY_VAL", DBFDataType.CHARACTER, 12)); +// dbfFields.add(new DBFField("EXT_DATE", DBFDataType.CHARACTER, 8)); +// dbfFields.add(new DBFField("PAY_VAL", DBFDataType.CHARACTER, 12)); dbfFields.add(new DBFField("SUM_DEB", DBFDataType.CHARACTER, 22)); - dbfFields.add(new DBFField("SCLIENTN1", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SCLIENTN2", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SCLIENTN3", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SCLIENTN4", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SC_CODE", DBFDataType.CHARACTER, 12)); - dbfFields.add(new DBFField("ACC_DEB", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RCLIENTN1", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RCLIENTN2", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RCLIENTN3", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RCLIENTN4", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("ACC_KR_1", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("ACC_KR_2", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SP_CODE", DBFDataType.CHARACTER, 2)); - dbfFields.add(new DBFField("SPECIF_1", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SPECIF_2", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SPECIF_3", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SPECIF_4", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SPECIF_5", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SPECIF_6", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SEND_TYPE", DBFDataType.CHARACTER, 10)); - dbfFields.add(new DBFField("SERVDATE", DBFDataType.CHARACTER, 8)); - dbfFields.add(new DBFField("DOC_RESULT", DBFDataType.CHARACTER, 2)); +// dbfFields.add(new DBFField("SCLIENTN1", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("SCLIENTN2", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("SCLIENTN3", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("SCLIENTN4", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("SC_CODE", DBFDataType.CHARACTER, 12)); +// dbfFields.add(new DBFField("ACC_DEB", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("RCLIENTN1", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("RCLIENTN2", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("RCLIENTN3", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("RCLIENTN4", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("ACC_KR_1", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("ACC_KR_2", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("SP_CODE", DBFDataType.CHARACTER, 2)); + dbfFields.add(new DBFField("SPECIF_1", DBFDataType.CHARACTER, 255)); +// dbfFields.add(new DBFField("SPECIF_2", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("SPECIF_3", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("SPECIF_4", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("SPECIF_5", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("SPECIF_6", DBFDataType.CHARACTER, 35)); +// dbfFields.add(new DBFField("SEND_TYPE", DBFDataType.CHARACTER, 10)); +// dbfFields.add(new DBFField("SERVDATE", DBFDataType.CHARACTER, 8)); +// dbfFields.add(new DBFField("DOC_RESULT", DBFDataType.CHARACTER, 2)); dbfFields.add(new DBFField("IMP_RESULT", DBFDataType.CHARACTER, 3)); return dbfFields.toArray(DBFField[]::new); } diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF05_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF05_Converter.java new file mode 100644 index 000000000..9b9a7d181 --- /dev/null +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF05_Converter.java @@ -0,0 +1,35 @@ +package ru.spcex.clearing.dbf.exporter.services.converters; + +import com.linuxense.javadbf.DBFDataType; +import com.linuxense.javadbf.DBFField; +import org.springframework.stereotype.Service; +import ru.clearing.classes.statics.data.sdf.SDf05; + +import java.util.Date; +import java.util.LinkedList; +import java.util.List; + +@Service +public class S_DF05_Converter extends DFConverter { + @Override + public Object[] toObjectArray(SDf05 entity) { + List values = new LinkedList<>(); + values.add(typeMatch(entity.getTp())); + values.add(typeMatch(entity.getDt())); + values.add(typeMatch(entity.getTm())); + values.add(typeMatch(entity.getPr())); + return values.toArray(Object[]::new); + } + + @Override + public DBFField[] getDBFHeaders() { + List dbfFields = new LinkedList<>(); + Date date = new Date(); + dbfFields.add(new DBFField("TP", DBFDataType.NUMERIC, 72, 18)); + dbfFields.add(new DBFField("DT", DBFDataType.DATE)); + dbfFields.add(new DBFField("TM", DBFDataType.DATE)); + dbfFields.add(new DBFField("PR", DBFDataType.CHARACTER, 1)); + return dbfFields.toArray(DBFField[]::new); + } + +} diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF17_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF07_Converter.java similarity index 74% rename from clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF17_Converter.java rename to clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF07_Converter.java index 0b00658b2..aaa5f7f76 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF17_Converter.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF07_Converter.java @@ -3,20 +3,22 @@ package ru.spcex.clearing.dbf.exporter.services.converters; import com.linuxense.javadbf.DBFDataType; import com.linuxense.javadbf.DBFField; import org.springframework.stereotype.Service; -import ru.clearing.classes.statics.data.sdf.SDf17; +import ru.clearing.classes.statics.data.sdf.SDf07; import java.util.LinkedList; import java.util.List; @Service -public class S_DF17_Converter extends DFConverter { +public class S_DF07_Converter extends DFConverter { @Override - public Object[] toObjectArray(SDf17 entity) { + public Object[] toObjectArray(SDf07 entity) { List values = new LinkedList<>(); values.add(typeMatch(entity.getAccount())); values.add(typeMatch(entity.getSum())); values.add(typeMatch(entity.getMarket())); values.add(typeMatch(entity.getType())); + values.add(typeMatch(entity.getDeal())); + values.add(typeMatch(entity.getClientN())); values.add(typeMatch(entity.getInn())); values.add(typeMatch(entity.getBic())); values.add(typeMatch(entity.getSpec())); @@ -29,14 +31,16 @@ public class S_DF17_Converter extends DFConverter { public DBFField[] getDBFHeaders() { List dbfFields = new LinkedList<>(); dbfFields.add(new DBFField("ACCOUNT", DBFDataType.CHARACTER, 20)); - dbfFields.add(new DBFField("SUM", DBFDataType.NUMERIC, 32, 18)); + dbfFields.add(new DBFField("SUM", DBFDataType.NUMERIC, 72, 18)); dbfFields.add(new DBFField("MARKET", DBFDataType.CHARACTER, 1)); dbfFields.add(new DBFField("TYPE", DBFDataType.CHARACTER, 1)); - dbfFields.add(new DBFField("_I_N_N", DBFDataType.NUMERIC, 32, 18)); - dbfFields.add(new DBFField("_B_I_C", DBFDataType.NUMERIC, 32, 18)); - dbfFields.add(new DBFField("_S_P_E_C", DBFDataType.CHARACTER, 254)); - dbfFields.add(new DBFField("NUMBER", DBFDataType.NUMERIC, 32, 18)); - dbfFields.add(new DBFField("RESULT", DBFDataType.NUMERIC, 1)); + dbfFields.add(new DBFField("DEAL", DBFDataType.CHARACTER, 10)); + dbfFields.add(new DBFField("CLIENT_N", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("_I_N_N", DBFDataType.NUMERIC, 72, 18)); + dbfFields.add(new DBFField("_B_I_C", DBFDataType.NUMERIC, 72, 18)); + dbfFields.add(new DBFField("_S_P_E_C", DBFDataType.CHARACTER, 255)); + dbfFields.add(new DBFField("NUMBER", DBFDataType.NUMERIC, 72, 18)); + dbfFields.add(new DBFField("RESULT", DBFDataType.NUMERIC, 72, 18)); return dbfFields.toArray(DBFField[]::new); } diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF10_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF10_Converter.java deleted file mode 100644 index c4ae987de..000000000 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF10_Converter.java +++ /dev/null @@ -1,39 +0,0 @@ -package ru.spcex.clearing.dbf.exporter.services.converters; - -import com.linuxense.javadbf.DBFDataType; -import com.linuxense.javadbf.DBFField; -import org.springframework.stereotype.Service; -import ru.clearing.classes.statics.data.sdf.SDf10; - -import java.util.LinkedList; -import java.util.List; - -@Service -public class S_DF10_Converter extends DFConverter { - @Override - public Object[] toObjectArray(SDf10 entity) { - List values = new LinkedList<>(); -// values.add(typeMatch(entity.getAccount())); -// values.add(typeMatch(entity.getSum())); -// values.add(typeMatch(entity.getMarket())); -// values.add(typeMatch(entity.getType())); -// values.add(typeMatch(entity.getNumber())); -// values.add(typeMatch(entity.getInn())); -// values.add(typeMatch(entity.getResult())); - return values.toArray(Object[]::new); - } - - @Override - public DBFField[] getDBFHeaders() { - List dbfFields = new LinkedList<>(); - dbfFields.add(new DBFField("ACCOUNT", DBFDataType.CHARACTER, 20)); - dbfFields.add(new DBFField("SUM", DBFDataType.NUMERIC, 32, 18)); - dbfFields.add(new DBFField("MARKET", DBFDataType.CHARACTER, 1)); - dbfFields.add(new DBFField("TYPE", DBFDataType.CHARACTER, 1)); - dbfFields.add(new DBFField("NUMBER", DBFDataType.NUMERIC, 32, 18)); - dbfFields.add(new DBFField("_I_N_N", DBFDataType.NUMERIC, 32, 18)); - dbfFields.add(new DBFField("RESULT", DBFDataType.CHARACTER, 3)); - return dbfFields.toArray(DBFField[]::new); - } - -} diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF11_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF11_Converter.java deleted file mode 100644 index 8325b4d13..000000000 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF11_Converter.java +++ /dev/null @@ -1,115 +0,0 @@ -package ru.spcex.clearing.dbf.exporter.services.converters; - -import com.linuxense.javadbf.DBFDataType; -import com.linuxense.javadbf.DBFField; -import org.springframework.stereotype.Service; -import ru.clearing.classes.statics.data.sdf.SDf11; - -import java.util.LinkedList; -import java.util.List; - -@Service -public class S_DF11_Converter extends DFConverter { - @Override - public Object[] toObjectArray(SDf11 entity) { - List values = new LinkedList<>(); -// values.add(typeMatch(entity.getSeg_type())); -// values.add(typeMatch(entity.getDoc_type())); -// values.add(typeMatch(entity.getDocnm_ref())); -// values.add(typeMatch(entity.getDocnmprev())); -// values.add(typeMatch(entity.getPriority())); -// values.add(typeMatch(entity.getSbankcode())); -// values.add(typeMatch(entity.getC_acc_deb())); -// values.add(typeMatch(entity.getSbanknam1())); -// values.add(typeMatch(entity.getSbanknam2())); -// values.add(typeMatch(entity.getSbanknam3())); -// values.add(typeMatch(entity.getSbanknam4())); -// values.add(typeMatch(entity.getSbanknam5())); -// values.add(typeMatch(entity.getRbankcode())); -// values.add(typeMatch(entity.getC_acc_cred())); -// values.add(typeMatch(entity.getRbanknam1())); -// values.add(typeMatch(entity.getRbanknam2())); -// values.add(typeMatch(entity.getRbanknam3())); -// values.add(typeMatch(entity.getRbanknam4())); -// values.add(typeMatch(entity.getRbanknam5())); -// values.add(typeMatch(entity.getPay_date())); -// values.add(typeMatch(entity.getExt_date())); -// values.add(typeMatch(entity.getPay_val())); -// values.add(typeMatch(entity.getSum_deb())); -// values.add(typeMatch(entity.getSclientn1())); -// values.add(typeMatch(entity.getSclientn2())); -// values.add(typeMatch(entity.getSclientn3())); -// values.add(typeMatch(entity.getSclientn4())); -// values.add(typeMatch(entity.getSc_code())); -// values.add(typeMatch(entity.getAcc_deb())); -// values.add(typeMatch(entity.getRclientn1())); -// values.add(typeMatch(entity.getRclientn2())); -// values.add(typeMatch(entity.getRclientn3())); -// values.add(typeMatch(entity.getRclientn4())); -// values.add(typeMatch(entity.getAcc_kr_1())); -// values.add(typeMatch(entity.getAcc_kr_2())); -// values.add(typeMatch(entity.getSp_code())); -// values.add(typeMatch(entity.getSpecif_1())); -// values.add(typeMatch(entity.getSpecif_2())); -// values.add(typeMatch(entity.getSpecif_3())); -// values.add(typeMatch(entity.getSpecif_4())); -// values.add(typeMatch(entity.getSpecif_5())); -// values.add(typeMatch(entity.getSpecif_6())); -// values.add(typeMatch(entity.getSend_type())); -// values.add(typeMatch(entity.getServdate())); -// values.add(typeMatch(entity.getDoc_result())); - return values.toArray(Object[]::new); - } - - @Override - public DBFField[] getDBFHeaders() { - List dbfFields = new LinkedList<>(); - dbfFields.add(new DBFField("SEG_TYPE", DBFDataType.CHARACTER, 1)); - dbfFields.add(new DBFField("DOC_TYPE", DBFDataType.CHARACTER, 4)); - dbfFields.add(new DBFField("DOCNM_REF", DBFDataType.CHARACTER, 16)); - dbfFields.add(new DBFField("DOCNMPREV", DBFDataType.CHARACTER, 16)); - dbfFields.add(new DBFField("PRIORITY", DBFDataType.CHARACTER, 1)); - dbfFields.add(new DBFField("SBANKCODE", DBFDataType.CHARACTER, 12)); - dbfFields.add(new DBFField("C_ACC_DEB", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SBANKNAM1", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SBANKNAM2", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SBANKNAM3", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SBANKNAM4", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SBANKNAM5", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RBANKCODE", DBFDataType.CHARACTER, 12)); - dbfFields.add(new DBFField("C_ACC_CRED", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RBANKNAM1", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RBANKNAM2", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RBANKNAM3", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RBANKNAM4", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RBANKNAM5", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("PAY_DATE", DBFDataType.CHARACTER, 8)); - dbfFields.add(new DBFField("EXT_DATE", DBFDataType.CHARACTER, 8)); - dbfFields.add(new DBFField("PAY_VAL", DBFDataType.CHARACTER, 12)); - dbfFields.add(new DBFField("SUM_DEB", DBFDataType.CHARACTER, 22)); - dbfFields.add(new DBFField("SCLIENTN1", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SCLIENTN2", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SCLIENTN3", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SCLIENTN4", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SC_CODE", DBFDataType.CHARACTER, 12)); - dbfFields.add(new DBFField("ACC_DEB", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RCLIENTN1", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RCLIENTN2", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RCLIENTN3", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("RCLIENTN4", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("ACC_KR_1", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("ACC_KR_2", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SP_CODE", DBFDataType.CHARACTER, 2)); - dbfFields.add(new DBFField("SPECIF_1", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SPECIF_2", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SPECIF_3", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SPECIF_4", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SPECIF_5", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SPECIF_6", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("SEND_TYPE", DBFDataType.CHARACTER, 10)); - dbfFields.add(new DBFField("SERVDATE", DBFDataType.CHARACTER, 8)); - dbfFields.add(new DBFField("DOC_RESULT", DBFDataType.CHARACTER, 2)); - return dbfFields.toArray(DBFField[]::new); - } - -} diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF08_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF51_Converter.java similarity index 64% rename from clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF08_Converter.java rename to clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF51_Converter.java index 86c92ec10..41587938f 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF08_Converter.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF51_Converter.java @@ -3,35 +3,30 @@ package ru.spcex.clearing.dbf.exporter.services.converters; import com.linuxense.javadbf.DBFDataType; import com.linuxense.javadbf.DBFField; import org.springframework.stereotype.Service; -import ru.clearing.classes.statics.data.sdf.SDf08; +import ru.clearing.classes.statics.data.sdf.SDf51; import java.time.format.DateTimeFormatter; import java.util.LinkedList; import java.util.List; @Service -public class S_DF08_Converter extends DFConverter { +public class S_DF51_Converter extends DFConverter { @Override - public Object[] toObjectArray(SDf08 entity) { + public Object[] toObjectArray(SDf51 entity) { List values = new LinkedList<>(); -// values.add(convertStrToLong(entity.getNumber())); -// values.add(typeMatch(convertStrToLong(entity.getDatetime()))); // UNIX TIME + values.add(typeMatch(entity.getNumber())); + values.add(typeMatch(convertStrToLong(entity.getDatetime()))); // UNIX TIME return values.toArray(Object[]::new); } @Override public DBFField[] getDBFHeaders() { List dbfFields = new LinkedList<>(); - dbfFields.add(new DBFField("NUMBER", DBFDataType.NUMERIC, 10)); + dbfFields.add(new DBFField("NUMBER", DBFDataType.CHARACTER, 10)); dbfFields.add(new DBFField("DATETIME", DBFDataType.NUMERIC, 13)); // UNIX TIME return dbfFields.toArray(DBFField[]::new); } - Long convertStrToLong(String s) { - if (s == null) return null; - return Long.valueOf(s); - } - private static final DateTimeFormatter DATE_FMT = DateTimeFormatter.ofPattern("dd.MM.yyyy"); private static final DateTimeFormatter DATE_TIME_FMT = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss"); diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF18_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF53_Converter.java similarity index 88% rename from clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF18_Converter.java rename to clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF53_Converter.java index c8fd9773d..e78e4362b 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF18_Converter.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF53_Converter.java @@ -3,15 +3,15 @@ package ru.spcex.clearing.dbf.exporter.services.converters; import com.linuxense.javadbf.DBFDataType; import com.linuxense.javadbf.DBFField; import org.springframework.stereotype.Service; -import ru.clearing.classes.statics.data.sdf.SDf18; +import ru.clearing.classes.statics.data.sdf.SDf53; import java.util.LinkedList; import java.util.List; @Service -public class S_DF18_Converter extends DFConverter { +public class S_DF53_Converter extends DFConverter { @Override - public Object[] toObjectArray(SDf18 entity) { + public Object[] toObjectArray(SDf53 entity) { List values = new LinkedList<>(); values.add(typeMatch(entity.getAccount())); values.add(typeMatch(entity.getDeal())); diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF54_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF54_Converter.java new file mode 100644 index 000000000..314a443a3 --- /dev/null +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF54_Converter.java @@ -0,0 +1,105 @@ +package ru.spcex.clearing.dbf.exporter.services.converters; + +import com.linuxense.javadbf.DBFDataType; +import com.linuxense.javadbf.DBFField; +import org.springframework.stereotype.Service; +import ru.clearing.classes.statics.data.sdf.SDf54; + +import java.util.LinkedList; +import java.util.List; + +@Service +public class S_DF54_Converter extends DFConverter { + @Override + public Object[] toObjectArray(SDf54 entity) { + List values = new LinkedList<>(); + values.add(typeMatch(entity.getSeg_type())); + values.add(typeMatch(entity.getDoc_type())); + values.add(typeMatch(entity.getDocnm_ref())); + values.add(typeMatch(entity.getDocnmprev())); + values.add(typeMatch(entity.getSbankcode())); + values.add(typeMatch(entity.getC_acc_deb())); + values.add(typeMatch(entity.getSbanknam1())); + values.add(typeMatch(entity.getSbanknam2())); + values.add(typeMatch(entity.getSbanknam3())); + values.add(typeMatch(entity.getSbanknam4())); + values.add(typeMatch(entity.getSbanknam5())); + values.add(typeMatch(entity.getRbankcode())); + values.add(typeMatch(entity.getC_acc_cred())); + values.add(typeMatch(entity.getRbanknam1())); + values.add(typeMatch(entity.getRbanknam2())); + values.add(typeMatch(entity.getRbanknam3())); + values.add(typeMatch(entity.getRbanknam4())); + values.add(typeMatch(entity.getRbanknam5())); + values.add(typeMatch(entity.getOp_type())); + values.add(typeMatch(entity.getOp_order())); + values.add(typeMatch(entity.getPay_date())); + values.add(typeMatch(entity.getPay_val())); + values.add(typeMatch(entity.getSum_deb())); + values.add(typeMatch(entity.getSclientn1())); + values.add(typeMatch(entity.getSclientn2())); + values.add(typeMatch(entity.getSclientn3())); + values.add(typeMatch(entity.getSclientn4())); + values.add(typeMatch(entity.getInn_deb())); + values.add(typeMatch(entity.getKpp_deb())); + values.add(typeMatch(entity.getAcc_deb())); + values.add(typeMatch(entity.getRclientn1())); + values.add(typeMatch(entity.getRclientn2())); + values.add(typeMatch(entity.getRclientn3())); + values.add(typeMatch(entity.getRclientn4())); + values.add(typeMatch(entity.getInn_cred())); + values.add(typeMatch(entity.getKpp_cred())); + values.add(typeMatch(entity.getAcc_kr_1())); + values.add(typeMatch(entity.getSpecif_1())); + values.add(typeMatch(entity.getSend_type())); + values.add(typeMatch(entity.getDoc_result())); + return values.toArray(Object[]::new); + } + + @Override + public DBFField[] getDBFHeaders() { + List dbfFields = new LinkedList<>(); + dbfFields.add(new DBFField("SEG_TYPE", DBFDataType.CHARACTER, 1)); + dbfFields.add(new DBFField("DOC_TYPE", DBFDataType.CHARACTER, 13)); + dbfFields.add(new DBFField("DOCNM_REF", DBFDataType.CHARACTER, 16)); + dbfFields.add(new DBFField("DOCNMPREV", DBFDataType.CHARACTER, 16)); + dbfFields.add(new DBFField("SBANKCODE", DBFDataType.CHARACTER, 12)); + dbfFields.add(new DBFField("C_ACC_DEB", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("SBANKNAM1", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("SBANKNAM2", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("SBANKNAM3", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("SBANKNAM4", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("SBANKNAM5", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("RBANKCODE", DBFDataType.CHARACTER, 12)); + dbfFields.add(new DBFField("C_ACC_CRED", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("RBANKNAM1", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("RBANKNAM2", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("RBANKNAM3", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("RBANKNAM4", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("RBANKNAM5", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("OP_TYPE", DBFDataType.CHARACTER, 2)); + dbfFields.add(new DBFField("OP_ORDER", DBFDataType.CHARACTER, 1)); + dbfFields.add(new DBFField("PAY_DATE", DBFDataType.CHARACTER, 8)); + dbfFields.add(new DBFField("PAY_VAL", DBFDataType.CHARACTER, 12)); + dbfFields.add(new DBFField("SUM_DEB", DBFDataType.CHARACTER, 22)); + dbfFields.add(new DBFField("SCLIENTN1", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("SCLIENTN2", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("SCLIENTN3", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("SCLIENTN4", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("INN_DEB", DBFDataType.CHARACTER, 12)); + dbfFields.add(new DBFField("KPP_DEB", DBFDataType.CHARACTER, 9)); + dbfFields.add(new DBFField("ACC_DEB", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("RCLIENTN1", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("RCLIENTN2", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("RCLIENTN3", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("RCLIENTN4", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("INN_CRED", DBFDataType.CHARACTER, 12)); + dbfFields.add(new DBFField("KPP_CRED", DBFDataType.CHARACTER, 9)); + dbfFields.add(new DBFField("ACC_KR1", DBFDataType.CHARACTER, 35)); + dbfFields.add(new DBFField("SPECIF1", DBFDataType.CHARACTER, 255)); + dbfFields.add(new DBFField("SEND_TYPE", DBFDataType.CHARACTER, 10)); + dbfFields.add(new DBFField("DOC_RESULT", DBFDataType.CHARACTER, 2)); + return dbfFields.toArray(DBFField[]::new); + } + +} diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF56_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF56_Converter.java new file mode 100644 index 000000000..a0bcde368 --- /dev/null +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF56_Converter.java @@ -0,0 +1,35 @@ +package ru.spcex.clearing.dbf.exporter.services.converters; + +import com.linuxense.javadbf.DBFDataType; +import com.linuxense.javadbf.DBFField; +import org.springframework.stereotype.Service; +import ru.clearing.classes.statics.data.sdf.SDf56; + +import java.util.LinkedList; +import java.util.List; + +@Service +public class S_DF56_Converter extends DFConverter { + @Override + public Object[] toObjectArray(SDf56 entity) { + List values = new LinkedList<>(); + values.add(typeMatch(entity.getNumber())); + values.add(convertStrToBigDecimal(entity.getStart_datetime())); // UNIX DATE TIME + values.add(convertStrToBigDecimal(entity.getEnd_datetime())); // UNIX DATE TIME + values.add(typeMatch(entity.getAccount())); + values.add(typeMatch(entity.getDeal())); + return values.toArray(Object[]::new); + } + + @Override + public DBFField[] getDBFHeaders() { + List dbfFields = new LinkedList<>(); + dbfFields.add(new DBFField("NUMBER", DBFDataType.CHARACTER, 10)); + dbfFields.add(new DBFField("START_DATETIME", DBFDataType.NUMERIC, 10)); + dbfFields.add(new DBFField("END_DATETIME", DBFDataType.NUMERIC, 10)); + dbfFields.add(new DBFField("ACCOUNT", DBFDataType.CHARACTER, 25)); + dbfFields.add(new DBFField("DEAL", DBFDataType.CHARACTER, 4)); + return dbfFields.toArray(DBFField[]::new); + } + +} diff --git a/clearing-parent/dbf-exporter/src/main/resources/application.properties b/clearing-parent/dbf-exporter/src/main/resources/application.properties index 9deff00b5..4fd39eab5 100644 --- a/clearing-parent/dbf-exporter/src/main/resources/application.properties +++ b/clearing-parent/dbf-exporter/src/main/resources/application.properties @@ -1,6 +1,4 @@ -server.port=8080 -server.servlet.context-path=/exporter -spring.main.web-application-type=servlet +spring.main.web-application-type=none export-dbf-service.hazelcast.cluster-members=10.200.200.181:5701 export-dbf-service.hazelcast.login=dev @@ -18,3 +16,10 @@ export-dbf-service.kafka-consumer.session-timeout-ms=30000 export-dbf-service.kafka-consumer.auto-offset-reset=latest export-dbf-service.kafka-consumer.linger-ms=1 export-dbf-service.kafka-consumer.buffer-memory=33554432 + +export-dbf-service.kafka-producer.bootstrap-servers=localhost:9092 +export-dbf-service.kafka-producer.acks=all +export-dbf-service.kafka-producer.retries=0 +export-dbf-service.kafka-producer.batch-size=16384 +export-dbf-service.kafka-producer.linger-ms=1 +export-dbf-service.kafka-producer.buffer-memory=33554432 diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java index 81efc6be3..a6bcf628e 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java @@ -100,12 +100,19 @@ public interface Consts { String USER_SETTINGS_UPDATE = "user-settings-update"; String STATEMENT_PROCESS = "statement-process"; - String SDF04_PROCESS = "sdf04-process"; + String SDF02_PROCESS = "sdf02-process"; String SDF03_PROCESS = "sdf03-process"; + String SDF04_PROCESS = "sdf04-process"; + String SDF05_PROCESS = "sdf05-process"; + String SDF07_PROCESS = "sdf07-process"; String SDF11_PROCESS = "sdf11-process"; + String SDF51_PROCESS = "sdf51-process"; + String SDF53_PROCESS = "sdf53-process"; + String SDF54_PROCESS = "sdf54-process"; String SDF56_PROCESS = "sdf56-process"; String SDF57_PROCESS = "sdf57-process"; String EXPORT_PROCESS = "export-process"; + String EXPORT_COMPLETED = "export_completed"; String S_TRADES_IMPORTED = "s_trades-imported"; String LIM_EXPORTED = "lim_exported"; String ACCOUNT_TERMINATION = "account-termination";