http://jira.mfd.msk:8088/browse/CLS-783 new settings
This commit is contained in:
parent
833532e0fc
commit
e50a4eb33a
6 changed files with 33 additions and 31 deletions
|
|
@ -1,11 +1,10 @@
|
|||
package ru.spcex.clearing.dbf.exporter.logic.data;
|
||||
|
||||
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;
|
||||
import ru.spcex.clearing.dbf.exporter.logic.data.enums.StageResult;
|
||||
import ru.spcex.clearing.dbf.exporter.logic.data.enums.Table;
|
||||
|
||||
/**
|
||||
* Контейнер для передачи результата между стадиями
|
||||
|
|
@ -19,13 +18,15 @@ public class ResultContainer {
|
|||
private StageResult lastStageResult;
|
||||
private LocalDateTime registrationDateTime;
|
||||
private String memberCode;
|
||||
private String section;
|
||||
|
||||
protected ResultContainer() {}
|
||||
|
||||
public static ResultContainer createNewTask(Table tableForExport) {
|
||||
public static ResultContainer createNewTask(Table tableForExport, String section) {
|
||||
ResultContainer container = new ResultContainer();
|
||||
container.tableForExport = tableForExport;
|
||||
container.uuid = UUID.randomUUID();
|
||||
container.section = section;
|
||||
return container;
|
||||
}
|
||||
|
||||
|
|
@ -92,4 +93,8 @@ public class ResultContainer {
|
|||
public void setMemberCode(String memberCode) {
|
||||
this.memberCode = memberCode;
|
||||
}
|
||||
|
||||
public String getSection() {
|
||||
return section;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,14 @@
|
|||
package ru.spcex.clearing.dbf.exporter.logic.data.enums;
|
||||
|
||||
import java.io.File;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.integration.sftp.session.SftpFileInfo;
|
||||
import ru.spcex.clearing.dbf.exporter.logic.data.ResultContainer;
|
||||
|
||||
import java.io.File;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
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 {
|
||||
|
|
@ -66,7 +61,7 @@ public enum FilenameTemplate {
|
|||
result.append(File.separator);
|
||||
result.append(resultContainer.getTableForExport().getFilePrefix().toUpperCase(Locale.ROOT));
|
||||
result.append('_');
|
||||
result.append(SECTION);
|
||||
result.append(resultContainer.getSection());
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ import ru.spcex.clearing.dbf.exporter.logic.data.enums.Table;
|
|||
*/
|
||||
@Component
|
||||
public class PrepareDBFFile extends Stage implements InitializingBean {
|
||||
public static final String SECTION = "S";
|
||||
private final ExportDBFServiceSettings settings;
|
||||
public static String outDir;
|
||||
private final SFTPConfig.DbfGateway gateway;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
package ru.spcex.clearing.dbf.exporter.services;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Optional;
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.spcex.clearing.dbf.exporter.logic.Processor;
|
||||
import ru.spcex.clearing.dbf.exporter.logic.data.ResultContainer;
|
||||
|
|
@ -17,22 +20,22 @@ import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
|||
import ru.spcex.platform.enumeration.Task;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
public class CommandService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final ImdgProvider imdgProvider;
|
||||
private final Processor processor;
|
||||
private final String section;
|
||||
|
||||
public CommandService(Consumer<String, Object> kafkaQueue,
|
||||
ImdgProvider imdgProvider,
|
||||
Processor processor) {
|
||||
Processor processor,
|
||||
@Value("${export-dbf-service.section:S}") String section) {
|
||||
super(kafkaQueue);
|
||||
this.imdgProvider = imdgProvider;
|
||||
this.processor = processor;
|
||||
this.section = section;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -79,7 +82,7 @@ public class CommandService extends QueueConsumer implements InitializingBean {
|
|||
if (tableForExport.isEmpty()) {
|
||||
throw new IllegalStateException(String.format("Unsupported table prefix: %s", request.getNameOfTable()));
|
||||
}
|
||||
ResultContainer resultContainer = ResultContainer.createNewTask(tableForExport.get());
|
||||
ResultContainer resultContainer = ResultContainer.createNewTask(tableForExport.get(), section);
|
||||
resultContainer.setGroupId(request.getSdfGroupId());
|
||||
resultContainer.setSourceName(request.getFileName());
|
||||
processor.process(resultContainer);
|
||||
|
|
@ -87,7 +90,7 @@ public class CommandService extends QueueConsumer implements InitializingBean {
|
|||
|
||||
private void processSpecial(Table table, BaseRequest<SdfClearingRequest> systemRequest) {
|
||||
SdfClearingRequest request = systemRequest.getRequestPayload();
|
||||
ResultContainer resultContainer = ResultContainer.createNewTask(table);
|
||||
ResultContainer resultContainer = ResultContainer.createNewTask(table, section);
|
||||
resultContainer.setGroupId(request.getGroupId());
|
||||
resultContainer.setSourceName(null);
|
||||
processor.process(resultContainer);
|
||||
|
|
@ -96,7 +99,7 @@ public class CommandService extends QueueConsumer implements InitializingBean {
|
|||
private void processByLauncher(Table table, BaseRequest<LauncherCommandRequest> systemRequest) {
|
||||
LauncherCommandRequest request = systemRequest.getRequestPayload();
|
||||
log.info("RequestId={}, LauncherCommandRequest task={}. Table {}", systemRequest.getId(), request.getTaskName(), table);
|
||||
ResultContainer resultContainer = ResultContainer.createNewTask(table);
|
||||
ResultContainer resultContainer = ResultContainer.createNewTask(table, section);
|
||||
resultContainer.setGroupId(null);
|
||||
resultContainer.setSourceName(null);
|
||||
processor.process(resultContainer);
|
||||
|
|
|
|||
|
|
@ -30,3 +30,5 @@ 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
|
||||
|
||||
export-dbf-service.section=S
|
||||
|
|
@ -1,18 +1,16 @@
|
|||
package ru.spcex.clearing.dbf.exporter.logic.data.enums;
|
||||
|
||||
import com.jcraft.jsch.ChannelSftp.LsEntry;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.integration.sftp.session.SftpFileInfo;
|
||||
import ru.spcex.clearing.dbf.exporter.logic.data.ResultContainer;
|
||||
import ru.spcex.clearing.dbf.exporter.logic.stages.PrepareDBFFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import com.jcraft.jsch.ChannelSftp.LsEntry;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static org.mockito.Mockito.*;
|
||||
import org.springframework.integration.sftp.session.SftpFileInfo;
|
||||
import ru.spcex.clearing.dbf.exporter.logic.data.ResultContainer;
|
||||
import static ru.spcex.clearing.dbf.exporter.logic.data.enums.FilenameTemplate.df_section_sameName;
|
||||
import ru.spcex.clearing.dbf.exporter.logic.stages.PrepareDBFFile;
|
||||
|
||||
class FilenameTemplateTest {
|
||||
|
||||
|
|
@ -38,7 +36,7 @@ class FilenameTemplateTest {
|
|||
SftpFileInfo sftpFileInfo = spy(new SftpFileInfo(lsEntry));
|
||||
doReturn(false).when(sftpFileInfo).isDirectory();
|
||||
List<SftpFileInfo> files = List.of(sftpFileInfo);
|
||||
ResultContainer resultContainer = ResultContainer.createNewTask(Table.S_DF02);
|
||||
ResultContainer resultContainer = ResultContainer.createNewTask(Table.S_DF02, "S");
|
||||
resultContainer.setGroupId(10L);
|
||||
resultContainer.setSourceName("DF-01_S_PRC1807230915_1.dbf");
|
||||
PrepareDBFFile.outDir="TEST_DIR";
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue