группировка 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;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Collection;
|
||||
import java.util.stream.Collectors;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -8,6 +11,8 @@ import org.springframework.context.annotation.Scope;
|
|||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.misc.Session;
|
||||
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.platform.messaging.domain.Consts;
|
||||
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.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
|
||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class EndStageNotification implements ISessionStage {
|
||||
|
|
@ -83,25 +81,24 @@ public class EndStageNotification implements ISessionStage {
|
|||
}
|
||||
|
||||
Collection<Registry> forRegistries = selectRegistry();
|
||||
Collection<Long> groups = forRegistries.stream()
|
||||
.map(Registry::getGroupId)
|
||||
.filter(Objects::nonNull)
|
||||
Collection<GroupRgsKey> groups = forRegistries.stream()
|
||||
.map(registry -> new GroupRgsKey(registry.getGroupId(), registry.getMarket()))
|
||||
.distinct().collect(Collectors.toList());
|
||||
log.debug("Sending notifications for {} groups ({} registers) on section {}",
|
||||
groups, forRegistries.size(), section);
|
||||
for (Long groupId : groups) {
|
||||
log.trace("For registry group {} send notification",
|
||||
groupId);
|
||||
for (GroupRgsKey groupKey : groups) {
|
||||
log.trace("For registry group/market {}/{} send notification",
|
||||
groupKey.groupId(), groupKey.market());
|
||||
StageResult sResult;
|
||||
if (Section.FOND.equalsByKey(section)) {
|
||||
sResult = notificationDF14(groupId);
|
||||
sResult = notificationDF14(groupKey.groupId());
|
||||
} else if (Section.MKR.equalsByKey(section)) {
|
||||
sResult = notificationDF05(groupId);
|
||||
sResult = notificationDF05(groupKey.groupId());
|
||||
} else {
|
||||
throw new IllegalArgumentException("Unsupported section " + section);
|
||||
}
|
||||
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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue