ialbert 2026-05-07 12:46:07 +03:00
parent a980ff8a0c
commit 53577e22b0
2 changed files with 8 additions and 3 deletions

View file

@ -3,7 +3,7 @@ package ru.spcex.clearing.dflt.management.listener;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.nio.charset.StandardCharsets; import java.nio.charset.Charset;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.time.Instant; import java.time.Instant;
@ -63,6 +63,7 @@ public class TaskListener extends QueueConsumer implements InitializingBean {
private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"); private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
private final Path storagePath; private final Path storagePath;
private final SendOrdersTypes sendOrdersTypes; private final SendOrdersTypes sendOrdersTypes;
private final Charset winCharset = Charset.forName("windows-1251");
@Autowired @Autowired
public TaskListener(Consumer<String, Object> kafkaQueue, public TaskListener(Consumer<String, Object> kafkaQueue,
@ -162,7 +163,7 @@ public class TaskListener extends QueueConsumer implements InitializingBean {
String content = orderCurrencyTriExportService.exportToTri(orders); String content = orderCurrencyTriExportService.exportToTri(orders);
Path fileName = storagePath.resolve(String.format("KS_TS_ORDERS_%s.tri", Path fileName = storagePath.resolve(String.format("KS_TS_ORDERS_%s.tri",
LocalDateTime.now().format(formatter))); LocalDateTime.now().format(formatter)));
Files.writeString(fileName, content, StandardCharsets.UTF_8); Files.writeString(fileName, content, winCharset);
if (SendOrdersTypes.FIX == sendOrdersTypes) { if (SendOrdersTypes.FIX == sendOrdersTypes) {
log.info("send command to fix service..."); log.info("send command to fix service...");
kafkaSender.sendRequestToQueue(Consts.SDOR_FIX_TASK, req.getRequestPayload()); kafkaSender.sendRequestToQueue(Consts.SDOR_FIX_TASK, req.getRequestPayload());

View file

@ -114,13 +114,17 @@ public class OrderCurrencyTriExportService {
return null; return null;
} }
return formatDecimal(rates.getValue()); return formatDecimalRate(rates.getValue());
} }
private String formatDecimal(BigDecimal value) { private String formatDecimal(BigDecimal value) {
return value == null ? "" : value.toPlainString(); return value == null ? "" : value.toPlainString();
} }
private String formatDecimalRate(BigDecimal value) {
return value == null ? "" : value.stripTrailingZeros().toPlainString();
}
private String nullSafe(Object value) { private String nullSafe(Object value) {
return value == null ? "" : String.valueOf(value); return value == null ? "" : String.valueOf(value);
} }