clearing-service dbf-exporter ASGN.M.BT10-1.1 и ASGN.M.BT10-1.2. S_DF03 S_DF11 добавил логов
This commit is contained in:
parent
c1927b907d
commit
4c66758bfc
1 changed files with 13 additions and 8 deletions
|
|
@ -1,5 +1,7 @@
|
||||||
package ru.spcex.clearing.service;
|
package ru.spcex.clearing.service;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import ru.clearing.classes.statics.data.payment.PaymentInstruction;
|
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.ImdgId;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
||||||
import java.util.AbstractMap;
|
import java.util.*;
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class SdfCreatorBySTLDPayment {
|
public class SdfCreatorBySTLDPayment {
|
||||||
|
private Logger log = LoggerFactory.getLogger(getClass());
|
||||||
private final Imdg<PaymentInstruction> paymentImdgs;
|
private final Imdg<PaymentInstruction> paymentImdgs;
|
||||||
private final ImdgId idGenerator;
|
private final ImdgId idGenerator;
|
||||||
private final PaymentInstructionSorter senderGroupSorter;
|
private final PaymentInstructionSorter senderGroupSorter;
|
||||||
|
|
@ -48,8 +48,10 @@ public class SdfCreatorBySTLDPayment {
|
||||||
//generationId для созадаваемых Sdf03/Sdf11
|
//generationId для созадаваемых Sdf03/Sdf11
|
||||||
Long generationId = idGenerator.nextId();
|
Long generationId = idGenerator.nextId();
|
||||||
//выгружаем PaymentInstructions с нужным статусом
|
//выгружаем PaymentInstructions с нужным статусом
|
||||||
Map<Long, PaymentBatchInfo> paymentBySender = paymentImdgs.getCollectionObjectsByFieldValues(
|
Collection<PaymentInstruction> paymentInstructionFound = paymentImdgs.getCollectionObjectsByFieldValues(
|
||||||
Map.of("transactionStatus", TransactionStatus.stld.getKey()))
|
Map.of("transactionStatus", TransactionStatus.stld.getKey()));
|
||||||
|
log.info("Found {} PaymentInstruction by status {}", paymentInstructionFound.size(), TransactionStatus.stld.getKey());
|
||||||
|
Map<Long, PaymentBatchInfo> paymentBySender = paymentInstructionFound
|
||||||
.stream()
|
.stream()
|
||||||
//группируем по компаниям (fixme sorted убрать?)
|
//группируем по компаниям (fixme sorted убрать?)
|
||||||
.sorted(Comparator.comparing(PaymentInstruction::getSenderId))
|
.sorted(Comparator.comparing(PaymentInstruction::getSenderId))
|
||||||
|
|
@ -70,6 +72,7 @@ public class SdfCreatorBySTLDPayment {
|
||||||
})
|
})
|
||||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||||
//save SDF03/SDF11
|
//save SDF03/SDF11
|
||||||
|
log.debug("Sending save {} sdf03/sdf11", paymentBySender.size());
|
||||||
for (var entry : paymentBySender.entrySet()) {
|
for (var entry : paymentBySender.entrySet()) {
|
||||||
PaymentBatchInfo senderPayments = entry.getValue();
|
PaymentBatchInfo senderPayments = entry.getValue();
|
||||||
saveSdfAnSendToKafka(senderPayments, generationId);
|
saveSdfAnSendToKafka(senderPayments, generationId);
|
||||||
|
|
@ -94,19 +97,21 @@ public class SdfCreatorBySTLDPayment {
|
||||||
private void saveSdfAnSendToKafka(PaymentBatchInfo batch, Long generationId) {
|
private void saveSdfAnSendToKafka(PaymentBatchInfo batch, Long generationId) {
|
||||||
SdfClearingRequest kafkaMessage = new SdfClearingRequest();
|
SdfClearingRequest kafkaMessage = new SdfClearingRequest();
|
||||||
kafkaMessage.setGroupId(generationId);
|
kafkaMessage.setGroupId(generationId);
|
||||||
|
Long requestId = null;
|
||||||
switch (batch.getCategoryD()) {
|
switch (batch.getCategoryD()) {
|
||||||
case I -> {
|
case I -> {
|
||||||
batch.getOrderedPaymentInstructions()
|
batch.getOrderedPaymentInstructions()
|
||||||
.map(paymentInstruction -> Sdf03Builder.buildSdf03(paymentInstruction, generationId))
|
.map(paymentInstruction -> Sdf03Builder.buildSdf03(paymentInstruction, generationId))
|
||||||
.forEach(sdf03Imdg::insert);
|
.forEach(sdf03Imdg::insert);
|
||||||
kafkaSender.sendRequestToQueue(Consts.SDF03_PROCESS, kafkaMessage);
|
requestId = kafkaSender.sendRequestToQueue(Consts.SDF03_PROCESS, kafkaMessage);
|
||||||
}
|
}
|
||||||
case B -> {
|
case B -> {
|
||||||
batch.getOrderedPaymentInstructions()
|
batch.getOrderedPaymentInstructions()
|
||||||
.map(paymentInstruction -> Sdf11Builder.buildSdf11(paymentInstruction, generationId))
|
.map(paymentInstruction -> Sdf11Builder.buildSdf11(paymentInstruction, generationId))
|
||||||
.forEach(sdf11Imdg::insert);
|
.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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue