session not launched notification
This commit is contained in:
parent
08271d7e36
commit
21ec74df69
3 changed files with 45 additions and 6 deletions
|
|
@ -0,0 +1,32 @@
|
||||||
|
package ru.spcex.clearing.notification;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.cud.utilities.NotificationNewRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
||||||
|
import ru.spcex.platform.enumeration.ObjectType;
|
||||||
|
import ru.spcex.platform.enumeration.Priority;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class NotificationSender {
|
||||||
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
private final KafkaSender kafkaSender;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public NotificationSender(KafkaSender kafkaSender) {
|
||||||
|
this.kafkaSender = kafkaSender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendNotification(ObjectType objType, String comment, Priority priority) {
|
||||||
|
NotificationNewRequest reviseNotification = new NotificationNewRequest();
|
||||||
|
reviseNotification.setObjectType(ObjectType.rgst.getKey());
|
||||||
|
reviseNotification.setComment(comment);
|
||||||
|
reviseNotification.setPriority(priority.getKey());
|
||||||
|
kafkaSender.sendRequestToQueue(Consts.NOTIFICATION_NEW, reviseNotification);
|
||||||
|
log.info("notification {} sent {}", objType, comment);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -6,14 +6,15 @@ import org.springframework.stereotype.Service;
|
||||||
import ru.clearing.classes.statics.data.misc.Session;
|
import ru.clearing.classes.statics.data.misc.Session;
|
||||||
import ru.spcex.clearing.error.ClearingError;
|
import ru.spcex.clearing.error.ClearingError;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.notification.NotificationSender;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
||||||
import ru.spcex.platform.enumeration.Section;
|
import ru.spcex.platform.enumeration.*;
|
||||||
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.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
||||||
|
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||||
import ru.spcex.platform.utils.error.ValidationException;
|
import ru.spcex.platform.utils.error.ValidationException;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -22,6 +23,8 @@ import java.util.Map;
|
||||||
public class SessionManager {
|
public class SessionManager {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
private final Imdg<Session> sessionImdg;
|
private final Imdg<Session> sessionImdg;
|
||||||
|
private final NotificationSender notification;
|
||||||
|
private final IMessageResolver msgs;
|
||||||
|
|
||||||
private final PrimaryAuctionT0Session primaryAuctionT0Session;
|
private final PrimaryAuctionT0Session primaryAuctionT0Session;
|
||||||
private final PrimaryAuctionBnSession primaryAuctionBnSession;
|
private final PrimaryAuctionBnSession primaryAuctionBnSession;
|
||||||
|
|
@ -32,11 +35,13 @@ public class SessionManager {
|
||||||
private final ReturnDepositSession returnDepositSession;
|
private final ReturnDepositSession returnDepositSession;
|
||||||
|
|
||||||
public SessionManager(ImdgProvider imdgProvider,
|
public SessionManager(ImdgProvider imdgProvider,
|
||||||
PrimaryAuctionT0Session primaryAuctionT0Session,
|
NotificationSender notification, IMessageResolver msgs, PrimaryAuctionT0Session primaryAuctionT0Session,
|
||||||
PrimaryAuctionBnSession primaryAuctionBnSession,
|
PrimaryAuctionBnSession primaryAuctionBnSession,
|
||||||
PrimaryAuctionB0Session primaryAuctionB0Session,
|
PrimaryAuctionB0Session primaryAuctionB0Session,
|
||||||
SecondaryAuctionT0Session secondaryAuctionT0Session,
|
SecondaryAuctionT0Session secondaryAuctionT0Session,
|
||||||
IntermediateMkrSession intermediateMkrSession, FinalMkrSession finalMkrSession, ReturnDepositSession returnDepositSession) {
|
IntermediateMkrSession intermediateMkrSession, FinalMkrSession finalMkrSession, ReturnDepositSession returnDepositSession) {
|
||||||
|
this.notification = notification;
|
||||||
|
this.msgs = msgs;
|
||||||
this.primaryAuctionT0Session = primaryAuctionT0Session;
|
this.primaryAuctionT0Session = primaryAuctionT0Session;
|
||||||
this.primaryAuctionBnSession = primaryAuctionBnSession;
|
this.primaryAuctionBnSession = primaryAuctionBnSession;
|
||||||
this.primaryAuctionB0Session = primaryAuctionB0Session;
|
this.primaryAuctionB0Session = primaryAuctionB0Session;
|
||||||
|
|
@ -83,7 +88,9 @@ public class SessionManager {
|
||||||
));
|
));
|
||||||
if (existActiveSession != null) {
|
if (existActiveSession != null) {
|
||||||
log.warn("Can not start new session, cause exist active session.id={}", existActiveSession.getId());
|
log.warn("Can not start new session, cause exist active session.id={}", existActiveSession.getId());
|
||||||
throw new ValidationException(ClearingError.ActiveSessionIsPresent, String.valueOf(existActiveSession.getId()));
|
EnumMessage err = new EnumMessage(ClearingError.ActiveSessionIsPresent, String.valueOf(existActiveSession.getId()));
|
||||||
|
notification.sendNotification(ObjectType.session, msgs.resolve(err), Priority.HIGH);
|
||||||
|
throw new ValidationException(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package ru.spcex.platform.enumeration;
|
||||||
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
||||||
|
|
||||||
public enum ObjectType implements IEnumKey {
|
public enum ObjectType implements IEnumKey {
|
||||||
statement("STMT"), vfrs("VFRS"), rgst("RGST"), gateway("GTWY");
|
statement("STMT"), vfrs("VFRS"), rgst("RGST"), gateway("GTWY"), session("SESN");
|
||||||
|
|
||||||
private final String key;
|
private final String key;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue