This commit is contained in:
parent
c75a4655c9
commit
38ac634f58
5 changed files with 57 additions and 2 deletions
|
|
@ -0,0 +1,21 @@
|
|||
package ru.spcex.clearing.dflt.management.config.deserializers;
|
||||
|
||||
import java.util.Arrays;
|
||||
import org.springframework.boot.context.properties.ConfigurationPropertiesBinding;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.spcex.clearing.dflt.management.enums.SendOrdersTypes;
|
||||
|
||||
@Component
|
||||
@ConfigurationPropertiesBinding
|
||||
public class SendOrdersTypeConverter implements Converter<String, SendOrdersTypes> {
|
||||
@Override
|
||||
public SendOrdersTypes convert(String source) {
|
||||
String normalized = source.trim();
|
||||
|
||||
return Arrays.stream(SendOrdersTypes.values())
|
||||
.filter(v -> v.name().equalsIgnoreCase(normalized))
|
||||
.findFirst()
|
||||
.orElse(SendOrdersTypes.FIX);
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ package ru.spcex.clearing.dflt.management.config.settings;
|
|||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.spcex.clearing.dflt.management.enums.SendOrdersTypes;
|
||||
import ru.spcex.clearing.platform.messaging.config.element.KafkaConsumerSettings;
|
||||
import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings;
|
||||
import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams;
|
||||
|
|
@ -15,6 +16,7 @@ public class DefaultManagementSettings {
|
|||
private KafkaConsumerSettings kafkaConsumer;
|
||||
private KafkaProducerSettings kafkaProducer;
|
||||
private String fileStoragePath;
|
||||
private SendOrdersTypes sendOrdersType;
|
||||
|
||||
public HazelcastClientParams getHazelcast() {
|
||||
return hazelcast;
|
||||
|
|
@ -47,4 +49,12 @@ public class DefaultManagementSettings {
|
|||
public void setFileStoragePath(String fileStoragePath) {
|
||||
this.fileStoragePath = fileStoragePath;
|
||||
}
|
||||
|
||||
public SendOrdersTypes getSendOrdersType() {
|
||||
return sendOrdersType;
|
||||
}
|
||||
|
||||
public void setSendOrdersType(SendOrdersTypes sendOrdersType) {
|
||||
this.sendOrdersType = sendOrdersType;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
package ru.spcex.clearing.dflt.management.enums;
|
||||
|
||||
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
||||
|
||||
public enum SendOrdersTypes implements IEnumKey {
|
||||
FIX("fix"),
|
||||
FILE("file");
|
||||
private final String name;
|
||||
|
||||
SendOrdersTypes(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return this.getKey();
|
||||
}
|
||||
}
|
||||
|
|
@ -26,6 +26,7 @@ import ru.clearing.classes.statics.data.misc.OvernightSettings;
|
|||
import ru.clearing.classes.statics.data.misc.SCrossRate;
|
||||
import ru.clearing.classes.statics.data.registry.Registry;
|
||||
import ru.spcex.clearing.dflt.management.config.settings.DefaultManagementSettings;
|
||||
import ru.spcex.clearing.dflt.management.enums.SendOrdersTypes;
|
||||
import ru.spcex.clearing.dflt.management.service.ImdgQueryService;
|
||||
import ru.spcex.clearing.dflt.management.service.OrderCurrencyTriExportService;
|
||||
import ru.spcex.clearing.dflt.management.service.SpotOvernightOrderService;
|
||||
|
|
@ -58,6 +59,7 @@ public class TaskListener extends QueueConsumer implements InitializingBean {
|
|||
private final KafkaSender kafkaSender;
|
||||
private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyymmddHHmmssSSS");
|
||||
private final Path storagePath;
|
||||
private final SendOrdersTypes sendOrdersTypes;
|
||||
|
||||
@Autowired
|
||||
public TaskListener(Consumer<String, Object> kafkaQueue,
|
||||
|
|
@ -77,6 +79,7 @@ public class TaskListener extends QueueConsumer implements InitializingBean {
|
|||
this.orderCurrencyTriExportService = orderCurrencyTriExportService;
|
||||
this.kafkaSender = kafkaSender;
|
||||
this.storagePath = Path.of(defaultManagementSettings.getFileStoragePath());
|
||||
this.sendOrdersTypes = defaultManagementSettings.getSendOrdersType();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -152,7 +155,9 @@ public class TaskListener extends QueueConsumer implements InitializingBean {
|
|||
Path fileName = storagePath.resolve(String.format("KS_TS_ORDERS_%s.tri",
|
||||
LocalDateTime.now().format(formatter)));
|
||||
Files.writeString(fileName, content, StandardCharsets.UTF_8);
|
||||
if (SendOrdersTypes.FIX == sendOrdersTypes) {
|
||||
kafkaSender.sendRequestToQueue(Consts.SDOR_FIX_TASK, req.getRequestPayload());
|
||||
}
|
||||
} catch (IOException e) {
|
||||
log.error("Error while import order currency to tri file: {}", ExceptionUtils.getStackTrace(e));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
spring.main.web-application-type=none
|
||||
default-management.file-storage-path=/opt/storage/csv-impoter/
|
||||
default-management.file-storage-path=/opt/storage/csv-importer/
|
||||
default-management.send-orders-type=FILE
|
||||
|
||||
default-management.hazelcast.cluster-members=127.0.0.1:5701
|
||||
default-management.hazelcast.login=dev
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue