parent
5fa0bcd9be
commit
dab63ad8be
9 changed files with 72 additions and 32 deletions
|
|
@ -17,7 +17,10 @@ import ru.spcex.clearing.platform.messaging.domain.Consts;
|
|||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.AdmittedLiabilitiesRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.enumeration.*;
|
||||
import ru.spcex.platform.enumeration.RegistryCode;
|
||||
import ru.spcex.platform.enumeration.RegistryDesignation;
|
||||
import ru.spcex.platform.enumeration.RegistryInstrumentType;
|
||||
import ru.spcex.platform.enumeration.RegistryStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
|
|
@ -25,8 +28,8 @@ import java.time.Instant;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.clearing.registry.util.FieldValuesValidator.getFieldValuesOrThrowException;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_ADLR;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_GBRR;
|
||||
|
||||
@Service
|
||||
public class AdmittedLiabilitiesRegisterService extends QueueConsumer implements InitializingBean {
|
||||
|
|
@ -68,7 +71,8 @@ public class AdmittedLiabilitiesRegisterService extends QueueConsumer implements
|
|||
return;
|
||||
}
|
||||
registries.forEach((registry -> {
|
||||
Collection<AdmittedLiabilitiesRegister> admittedLiabilitiesRegistersBySessionIdAndCompanyId = admittedLiabilitiesRegisterMap.getCollectionObjectsByFieldValues(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
Map<String, ? extends Comparable<?>> fieldValues = getFieldValuesOrThrowException(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
Collection<AdmittedLiabilitiesRegister> admittedLiabilitiesRegistersBySessionIdAndCompanyId = admittedLiabilitiesRegisterMap.getCollectionObjectsByFieldValues(fieldValues);
|
||||
if (admittedLiabilitiesRegistersBySessionIdAndCompanyId == null || admittedLiabilitiesRegistersBySessionIdAndCompanyId.isEmpty()) {
|
||||
insertAdmittedLiabilitiesRegister(registry);
|
||||
}
|
||||
|
|
@ -104,7 +108,7 @@ public class AdmittedLiabilitiesRegisterService extends QueueConsumer implements
|
|||
return String.format("registryDesignation = '%s' and " +
|
||||
"registryInstrumentType in ('%s','%s') and " +
|
||||
"registryUnit = '%s' and " +
|
||||
"status in ('%s','%s','%s','%s','%s')"
|
||||
"registryStatus in ('%s','%s','%s','%s','%s')"
|
||||
,
|
||||
RegistryDesignation.O.getKey(),
|
||||
RegistryInstrumentType.S.getKey(),
|
||||
|
|
|
|||
|
|
@ -17,7 +17,10 @@ import ru.spcex.clearing.platform.messaging.domain.Consts;
|
|||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.CoveredLiabilitiesRegisterNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.enumeration.*;
|
||||
import ru.spcex.platform.enumeration.RegistryCode;
|
||||
import ru.spcex.platform.enumeration.RegistryDesignation;
|
||||
import ru.spcex.platform.enumeration.RegistryInstrumentType;
|
||||
import ru.spcex.platform.enumeration.RegistryStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
|
|
@ -25,7 +28,7 @@ import java.time.Instant;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_ADLR;
|
||||
import static ru.spcex.clearing.registry.util.FieldValuesValidator.getFieldValuesOrThrowException;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_CDLR;
|
||||
|
||||
@Service
|
||||
|
|
@ -69,7 +72,8 @@ public class CoveredLiabilitiesRegisterService extends QueueConsumer implements
|
|||
return;
|
||||
}
|
||||
registries.forEach((registry -> {
|
||||
Collection<CoveredLiabilitiesRegister> coveredLiabilitiesRegisterBySessionIdAndCompanyId = coveredLiabilitiesRegisterMap.getCollectionObjectsByFieldValues(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
Map<String, ? extends Comparable<?>> fieldValues = getFieldValuesOrThrowException(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
Collection<CoveredLiabilitiesRegister> coveredLiabilitiesRegisterBySessionIdAndCompanyId = coveredLiabilitiesRegisterMap.getCollectionObjectsByFieldValues(fieldValues);
|
||||
if (coveredLiabilitiesRegisterBySessionIdAndCompanyId == null || coveredLiabilitiesRegisterBySessionIdAndCompanyId.isEmpty()) {
|
||||
insertCoveredLiabilitiesRegister(registry);
|
||||
}
|
||||
|
|
@ -104,7 +108,7 @@ public class CoveredLiabilitiesRegisterService extends QueueConsumer implements
|
|||
private String getSqlForRegistries() {
|
||||
return String.format("registryDesignation = '%s' and " +
|
||||
"registryInstrumentType in ('%s','%s') and " +
|
||||
"registryUnit = '%s' and" +
|
||||
"registryUnit = '%s' and " +
|
||||
"registryStatus = '%s'",
|
||||
RegistryDesignation.O.getKey(),
|
||||
RegistryInstrumentType.S.getKey(),
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import java.time.Instant;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.clearing.registry.util.FieldValuesValidator.getFieldValuesOrThrowException;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_GRRT;
|
||||
|
||||
@Service
|
||||
|
|
@ -57,7 +58,8 @@ public class DepoBalanceRegisterService extends QueueConsumer implements Initial
|
|||
return;
|
||||
}
|
||||
registries.forEach((registry -> {
|
||||
Collection<DepoBalanceRegister> depoBalanceRegisterBySessionIdAndCompanyId = depoBalanceRegisterMap.getCollectionObjectsByFieldValues(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
Map<String, ? extends Comparable<?>> fieldValues = getFieldValuesOrThrowException(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
Collection<DepoBalanceRegister> depoBalanceRegisterBySessionIdAndCompanyId = depoBalanceRegisterMap.getCollectionObjectsByFieldValues(fieldValues);
|
||||
if (depoBalanceRegisterBySessionIdAndCompanyId == null || depoBalanceRegisterBySessionIdAndCompanyId.isEmpty()) {
|
||||
insertDepoBalanceRegister(registry);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import java.time.Instant;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.clearing.registry.util.FieldValuesValidator.getFieldValuesOrThrowException;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_GORR;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_GRRT;
|
||||
|
||||
|
|
@ -64,8 +65,9 @@ public class DepoPaymentInstructionRegisterService extends QueueConsumer impleme
|
|||
return;
|
||||
}
|
||||
for (Session session : actualSessions) {
|
||||
Map<String, ? extends Comparable<?>> fieldValues = getFieldValuesOrThrowException(Map.of("sessionId", session.getId()));
|
||||
Collection<PaymentInstruction> paymentInstructionBySessionId =
|
||||
paymentInstructionMap.getCollectionObjectsByFieldValues(Map.of("sessionId", session.getId()));
|
||||
paymentInstructionMap.getCollectionObjectsByFieldValues(fieldValues);
|
||||
for (PaymentInstruction paymentInstruction : paymentInstructionBySessionId) {
|
||||
DepoPaymentInstructionRegister depoPaymentInstructionRegister = depoPaymentInstructionRegisterMap.getSingleObjectByFieldValues(Map.of(
|
||||
"companyId", paymentInstruction.getSenderId(),
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ import java.time.LocalDate;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.clearing.registry.util.FieldValuesValidator.getFieldValuesOrThrowException;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_EXLR;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_GRRT;
|
||||
|
||||
@Service
|
||||
public class ExcludeLiabilitiesRegisterService extends QueueConsumer implements InitializingBean {
|
||||
|
|
@ -73,7 +73,8 @@ public class ExcludeLiabilitiesRegisterService extends QueueConsumer implements
|
|||
return;
|
||||
}
|
||||
registries.forEach((registry -> {
|
||||
Collection<ExcludeLiabilitiesRegister> excludeLiabilitiesRegisterBySessionIdAndCompanyId = excludeLiabilitiesRegisterMap.getCollectionObjectsByFieldValues(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
Map<String, ? extends Comparable<?>> fieldValues = getFieldValuesOrThrowException(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
Collection<ExcludeLiabilitiesRegister> excludeLiabilitiesRegisterBySessionIdAndCompanyId = excludeLiabilitiesRegisterMap.getCollectionObjectsByFieldValues(fieldValues);
|
||||
if (excludeLiabilitiesRegisterBySessionIdAndCompanyId == null || excludeLiabilitiesRegisterBySessionIdAndCompanyId.isEmpty()) {
|
||||
insertExcludeLiabilitiesRegister(registry);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ import java.time.Instant;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_EXLR;
|
||||
import static ru.spcex.clearing.registry.util.FieldValuesValidator.getFieldValuesOrThrowException;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_LBSR;
|
||||
|
||||
@Service
|
||||
|
|
@ -73,7 +73,8 @@ public class LiabilitiesRegisterService extends QueueConsumer implements Initial
|
|||
Collection<Registry> registries = registryMap.getCollectionObjectsBySQL(sqlConditionForRegistry);
|
||||
//checking for duplicates
|
||||
registries.forEach((registry -> {
|
||||
Collection<LiabilitiesRegister> liabilitiesRegisterBySessionIdAndCompanyId = liabilitiesRegisterMap.getCollectionObjectsByFieldValues(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
Map<String, ? extends Comparable<?>> fieldValues = getFieldValuesOrThrowException(Map.of("companyId", registry.getCompanyId(), "sessionId", registry.getSessionId()));
|
||||
Collection<LiabilitiesRegister> liabilitiesRegisterBySessionIdAndCompanyId = liabilitiesRegisterMap.getCollectionObjectsByFieldValues(fieldValues);
|
||||
if (liabilitiesRegisterBySessionIdAndCompanyId == null || liabilitiesRegisterBySessionIdAndCompanyId.isEmpty()) {
|
||||
insertLiabilitiesRegister(registry);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import java.time.Instant;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.clearing.registry.util.FieldValuesValidator.getFieldValuesOrThrowException;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_GBRR;
|
||||
|
||||
@Service
|
||||
|
|
@ -65,14 +66,14 @@ public class MoneyBalanceRegisterService extends QueueConsumer implements Initia
|
|||
return;
|
||||
}
|
||||
registries.forEach((registry -> {
|
||||
Collection<MoneyBalanceRegister> moneyBalanceRegisterBySessionIdAndCompanyId = moneyBalanceRegisterMap.getCollectionObjectsByFieldValues(
|
||||
Map.of(
|
||||
Map<String, ? extends Comparable<?>> fieldValues = getFieldValuesOrThrowException(Map.of(
|
||||
"companyId",
|
||||
registry.getCompanyId(),
|
||||
"sessionId",
|
||||
registry.getSessionId()
|
||||
)
|
||||
);
|
||||
Collection<MoneyBalanceRegister> moneyBalanceRegisterBySessionIdAndCompanyId = moneyBalanceRegisterMap.getCollectionObjectsByFieldValues(fieldValues);
|
||||
if (moneyBalanceRegisterBySessionIdAndCompanyId == null || moneyBalanceRegisterBySessionIdAndCompanyId.isEmpty()) {
|
||||
insertMoneyBalanceRegister(registry);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,12 +21,13 @@ import java.time.Instant;
|
|||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import static ru.spcex.clearing.registry.util.FieldValuesValidator.getFieldValuesOrThrowException;
|
||||
import static ru.spcex.platform.enumeration.Task.createRegistry_GORR;
|
||||
|
||||
@Service
|
||||
public class MoneyPaymentInstructionRegisterService extends QueueConsumer implements InitializingBean {
|
||||
private final static String TOPIC_NAME = createRegistry_GORR.topic();
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final Imdg<MoneyPaymentInstructionRegister> moneyPaymentInstructionRegisterMap;
|
||||
private final Imdg<PaymentInstruction> paymentInstructionMap;
|
||||
private final Imdg<Session> sessionMap;
|
||||
|
|
@ -45,26 +46,18 @@ public class MoneyPaymentInstructionRegisterService extends QueueConsumer implem
|
|||
public void afterPropertiesSet() {
|
||||
callback(LauncherCommandRequest.class)
|
||||
.setConsumer(this::moneyPaymentInstructionRegisterNew)
|
||||
.forDestination(createRegistry_GORR.topic(), callbacks::put);
|
||||
.forDestination(TOPIC_NAME, callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
public void moneyPaymentInstructionRegisterNew(BaseRequest<LauncherCommandRequest> userRequest) {
|
||||
log.debug("LauncherCommandRequest received from {}", createRegistry_GORR.topic());
|
||||
Collection<Session> actualSessions = sessionMap.getCollectionObjectsByFieldValues(
|
||||
Map.of(
|
||||
"section",
|
||||
"MKR"
|
||||
)
|
||||
);
|
||||
log.debug("LauncherCommandRequest received from {}", TOPIC_NAME);
|
||||
Map<String, ? extends Comparable<?>> fieldValuesSectionMkr = getFieldValuesOrThrowException(Map.of("section", "MKR"));
|
||||
Collection<Session> actualSessions = sessionMap.getCollectionObjectsByFieldValues(fieldValuesSectionMkr);
|
||||
actualSessions.forEach(session -> {
|
||||
Collection <PaymentInstruction> paymentInstructionBySessionId =
|
||||
paymentInstructionMap.getCollectionObjectsByFieldValues(
|
||||
Map.of(
|
||||
"sessionId",
|
||||
session.getId()
|
||||
)
|
||||
);
|
||||
Map<String, ? extends Comparable<?>> fieldValuesSessionId = getFieldValuesOrThrowException(Map.of("sessionId", session.getId()));
|
||||
Collection<PaymentInstruction> paymentInstructionBySessionId =
|
||||
paymentInstructionMap.getCollectionObjectsByFieldValues(fieldValuesSessionId);
|
||||
for (PaymentInstruction paymentInstruction : paymentInstructionBySessionId) {
|
||||
MoneyPaymentInstructionRegister moneyPaymentInstructionRegister = moneyPaymentInstructionRegisterMap.getSingleObjectByFieldValues(Map.of(
|
||||
"companyId", paymentInstruction.getSenderId(),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
package ru.spcex.clearing.registry.util;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
public class FieldValuesValidator {
|
||||
public static List<String> validateFieldValues(Map<String, ?> map) {
|
||||
List<String> errors = new ArrayList<>();
|
||||
map.forEach((key, value) -> {
|
||||
if (key == null) {
|
||||
errors.add("Key is null!");
|
||||
} else if (key.isEmpty()) {
|
||||
errors.add("Key is empty!");
|
||||
}
|
||||
if (value == null) {
|
||||
errors.add("Value is null!");
|
||||
}
|
||||
});
|
||||
return errors;
|
||||
}
|
||||
|
||||
public static Map<String, ? extends Comparable<?>> getFieldValuesOrThrowException(Map<String, ? extends Comparable<?>> fieldValues) {
|
||||
List<String> errors = validateFieldValues(fieldValues);
|
||||
if (!errors.isEmpty()) {
|
||||
Optional<String> error = errors.stream().findFirst();
|
||||
throw new IllegalStateException("Illegal state of field and values :" + error.orElse(null));
|
||||
}
|
||||
return fieldValues;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue