группировка registry с учетом market и groupId для шага 11 активной сессии
This commit is contained in:
parent
1110278d6a
commit
4efb263362
1 changed files with 13 additions and 16 deletions
|
|
@ -1,5 +1,8 @@
|
||||||
package ru.spcex.clearing.session.stage.impl;
|
package ru.spcex.clearing.session.stage.impl;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -8,6 +11,8 @@ import org.springframework.context.annotation.Scope;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.clearing.classes.statics.data.misc.Session;
|
import ru.clearing.classes.statics.data.misc.Session;
|
||||||
import ru.clearing.classes.statics.data.registry.Registry;
|
import ru.clearing.classes.statics.data.registry.Registry;
|
||||||
|
import ru.spcex.clearing.component.GroupRgsKey;
|
||||||
|
import static ru.spcex.clearing.error.ClearingErrorInternal.SessionGeneralError;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.clearing.SdfClearingRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.clearing.SdfClearingRequest;
|
||||||
|
|
@ -24,13 +29,6 @@ import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||||
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import static ru.spcex.clearing.error.ClearingErrorInternal.SessionGeneralError;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
public class EndStageNotification implements ISessionStage {
|
public class EndStageNotification implements ISessionStage {
|
||||||
|
|
@ -83,25 +81,24 @@ public class EndStageNotification implements ISessionStage {
|
||||||
}
|
}
|
||||||
|
|
||||||
Collection<Registry> forRegistries = selectRegistry();
|
Collection<Registry> forRegistries = selectRegistry();
|
||||||
Collection<Long> groups = forRegistries.stream()
|
Collection<GroupRgsKey> groups = forRegistries.stream()
|
||||||
.map(Registry::getGroupId)
|
.map(registry -> new GroupRgsKey(registry.getGroupId(), registry.getMarket()))
|
||||||
.filter(Objects::nonNull)
|
|
||||||
.distinct().collect(Collectors.toList());
|
.distinct().collect(Collectors.toList());
|
||||||
log.debug("Sending notifications for {} groups ({} registers) on section {}",
|
log.debug("Sending notifications for {} groups ({} registers) on section {}",
|
||||||
groups, forRegistries.size(), section);
|
groups, forRegistries.size(), section);
|
||||||
for (Long groupId : groups) {
|
for (GroupRgsKey groupKey : groups) {
|
||||||
log.trace("For registry group {} send notification",
|
log.trace("For registry group/market {}/{} send notification",
|
||||||
groupId);
|
groupKey.groupId(), groupKey.market());
|
||||||
StageResult sResult;
|
StageResult sResult;
|
||||||
if (Section.FOND.equalsByKey(section)) {
|
if (Section.FOND.equalsByKey(section)) {
|
||||||
sResult = notificationDF14(groupId);
|
sResult = notificationDF14(groupKey.groupId());
|
||||||
} else if (Section.MKR.equalsByKey(section)) {
|
} else if (Section.MKR.equalsByKey(section)) {
|
||||||
sResult = notificationDF05(groupId);
|
sResult = notificationDF05(groupKey.groupId());
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalArgumentException("Unsupported section " + section);
|
throw new IllegalArgumentException("Unsupported section " + section);
|
||||||
}
|
}
|
||||||
if (sResult.getError() != null) {
|
if (sResult.getError() != null) {
|
||||||
log.warn("When sending groupId={} has error: {}", groupId, msgResolver.resolve(sResult.getError()));
|
log.warn("When sending groupId={} has error: {}", groupKey, msgResolver.resolve(sResult.getError()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
StageResult<Collection<Registry>> res = new StageResult<>(null, true);
|
StageResult<Collection<Registry>> res = new StageResult<>(null, true);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue