force stop session feature fixes

This commit is contained in:
akulikov 2024-04-23 15:52:00 +03:00
parent 8a6f2abc8c
commit 9376f9f6b1
2 changed files with 5 additions and 6 deletions

View file

@ -1,8 +1,6 @@
package ru.spcex.clearing.service;
import java.time.LocalTime;
import java.util.Arrays;
import java.util.List;
import org.apache.kafka.clients.consumer.Consumer;
import org.apache.kafka.clients.producer.Producer;
import org.slf4j.Logger;
@ -11,6 +9,7 @@ import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.env.Environment;
import org.springframework.core.env.Profiles;
import org.springframework.stereotype.Service;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts;
@ -215,9 +214,7 @@ public class EventsReceiver extends QueueConsumer implements InitializingBean {
.setFunction(sessionTerminator::stopCurrentSession)
.forDestination(Consts.KILL_SESSION, callbacks::put);
String[] profilesRaw = environment.getActiveProfiles();
List<String> profiles = Arrays.stream(profilesRaw).map(s -> s == null ? "" : s.trim().toUpperCase()).toList();
if (profiles.contains("DEV")) {
if (environment.acceptsProfiles(Profiles.of("dev"))) {
callback(LauncherCommandRequest.class)
.setFunction(sessionTerminator::forceStopSession)
.forDestination(Consts.FORCE_STOP_SESSION, callbacks::put);

View file

@ -32,6 +32,7 @@ import ru.spcex.platform.enumeration.ObjectType;
import ru.spcex.platform.enumeration.Priority;
import ru.spcex.platform.enumeration.RegistryTradingParams;
import ru.spcex.platform.enumeration.Section;
import ru.spcex.platform.enumeration.SessionStatus;
import ru.spcex.platform.enumeration.SessionType;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
@ -109,7 +110,8 @@ public class SessionTerminator {
Collection<Session> sessions = sessionImdg.getCollectionObjectsByPredicate(
pb.and(
pb.equals("sessionType", sessionTypeStr),
pb.equals("section", sectionStr)
pb.equals("section", sectionStr),
pb.equals("workflowStatus", SessionStatus.ACTV.getKey())
)
);
List<Long> cantComplete = new ArrayList<>();