diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java index 5ff6e7f24..0dcfaef95 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java @@ -1,5 +1,7 @@ package ru.spcex.clearing.service; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.payment.PaymentInstruction; @@ -18,14 +20,12 @@ import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgProvider; -import java.util.AbstractMap; -import java.util.Comparator; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Component public class SdfCreatorBySTLDPayment { + private Logger log = LoggerFactory.getLogger(getClass()); private final Imdg paymentImdgs; private final ImdgId idGenerator; private final PaymentInstructionSorter senderGroupSorter; @@ -48,8 +48,10 @@ public class SdfCreatorBySTLDPayment { //generationId для созадаваемых Sdf03/Sdf11 Long generationId = idGenerator.nextId(); //выгружаем PaymentInstructions с нужным статусом - Map paymentBySender = paymentImdgs.getCollectionObjectsByFieldValues( - Map.of("transactionStatus", TransactionStatus.stld.getKey())) + Collection paymentInstructionFound = paymentImdgs.getCollectionObjectsByFieldValues( + Map.of("transactionStatus", TransactionStatus.stld.getKey())); + log.info("Found {} PaymentInstruction by status {}", paymentInstructionFound.size(), TransactionStatus.stld.getKey()); + Map paymentBySender = paymentInstructionFound .stream() //группируем по компаниям (fixme sorted убрать?) .sorted(Comparator.comparing(PaymentInstruction::getSenderId)) @@ -70,6 +72,7 @@ public class SdfCreatorBySTLDPayment { }) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); //save SDF03/SDF11 + log.debug("Sending save {} sdf03/sdf11", paymentBySender.size()); for (var entry : paymentBySender.entrySet()) { PaymentBatchInfo senderPayments = entry.getValue(); saveSdfAnSendToKafka(senderPayments, generationId); @@ -94,19 +97,21 @@ public class SdfCreatorBySTLDPayment { private void saveSdfAnSendToKafka(PaymentBatchInfo batch, Long generationId) { SdfClearingRequest kafkaMessage = new SdfClearingRequest(); kafkaMessage.setGroupId(generationId); + Long requestId = null; switch (batch.getCategoryD()) { case I -> { batch.getOrderedPaymentInstructions() .map(paymentInstruction -> Sdf03Builder.buildSdf03(paymentInstruction, generationId)) .forEach(sdf03Imdg::insert); - kafkaSender.sendRequestToQueue(Consts.SDF03_PROCESS, kafkaMessage); + requestId = kafkaSender.sendRequestToQueue(Consts.SDF03_PROCESS, kafkaMessage); } case B -> { batch.getOrderedPaymentInstructions() .map(paymentInstruction -> Sdf11Builder.buildSdf11(paymentInstruction, generationId)) .forEach(sdf11Imdg::insert); - kafkaSender.sendRequestToQueue(Consts.SDF11_PROCESS, kafkaMessage); + requestId = kafkaSender.sendRequestToQueue(Consts.SDF11_PROCESS, kafkaMessage); } } + log.debug("Send to kafka command, CategoryD={}, requestId={}", batch.getCategoryD(), requestId); } }